Commit Graph

74 Commits

Author SHA1 Message Date
dimok789
070b77548a OK since the Wii System Menu Player is released now as I already mentioned the source for the loader will also be put on SVN again. Now that i am done with merging here is the MOD17 source.
Changelog since last revision:
- add banner/icon animation support for wii games / channels / gamecube
- add custom banner for gamecube which loads the gamecube internal opening.bnr information (it is much better than the generic one of the system menu) (big thanks to diddy from the wiithemeteam for creating the brlyt/brlan for the banner)
- add gamecube banner of system menu (not used right now since it sucks)
- add banner grid of the system menu (resources loaded from nand) (with button highliter)
- add big banner frame window of the system menu (resources loaded from nand). the banner window has buttons "Settings" and "Start" by default. if parental control is enabled the "Settings" button is replaced by "Back"
- add play count text to the banner frame window (can be disabled as up until now in the gui settings)
- add zoom in/out/scroll animations to banner grid and change into big frame window
- add loading gc banners from ISO and DVD
- add loading wii banners from DVD discs even if the game is not installed
- add favorite level setting to the game settings since it is no longer on the banner frame window
- add new settings section for banner settings
- add option to choose between disc window and banner window
- added back ehci module to support 2 usb drives and re-enabled the option
- add option for 2 usb drives for d2x cIOS as well (will be supported in the future, not yet)
- exchanged "GC Games" and "EmuNand Channels" on the game selection screen (more space for translators)
- add and fixed gui numpad for entering numbers of any kind
- add setting for tooltip delay time
- fix reload of cover image on game list when only 1 item is left after a change (e.g. sort)
- add use of old build in font for credits window because it doesnt look good with the system menu one
- fixed effect bug when scrolling buttons in the settings and the wiimote is over button 1
- fixed bug where entering -1 (Use global) for cIOS was not possible in game settings
- many source cleanups
- add bnr chace setting
- add DML configuration from the loader
- removed creation of temporary "boot.bin" file
- DML custom game paths.
  Additionally i added support for following forms of paths:
  1. configpath/gamepath/game.iso
  2. configpath/gamepath/game.gcm
  3. configpath/gamepath/GAMEID6.iso
  4. configpath/gamepath/GAMEID6.gcm
  Where gamepath can be anything you want inside the configure path in the custom path settings.
  I don't know if GCM files are allowed by DML but i just added support for it just in case.
  Changing path to USB is not blocked currently but games won't run from USB just keep that in mind.
  The "copy to SD before start" feature is not added yet. Listing the games should work though
- DML cheats now work the same way as for wii, gct goes to "Cheatcode Path" as GAMEID.gct (same as on wii)
- several DML internal configs are added as per game/global settings
- added load of last cheat configuration from GCT files
- added init of network into background thread so it is cancelable and has a timeout
- added gc games copy from USB to SD on demand with choice menu to delete SD games to make space, SD games path can be chosen seperately from main gc path.
  all dupicate sd games are prefered then the main path to allow direct boot of games that are already on sd. main path can be on USB or anywhere else.
- added gc disc dump functionality with multidisc, compress and align support (thanks to FIX94 and Overjoy for their disc dump source on which this is based)
- added selection menu for gc multidisc which game to install
- fixed loading game ID when it can't be read from path for GC games and with that loading the titles from GameTDB for them
- lots of string handling improvements (thanks to gerbilsoft for his patch)
- added gamecube banner cache loading (only loading) if available with GAMEID6.bnr or ID3.bnr in the banner cache path. wii games/channels also accept now ID3.bnr.
- added several progress bar cancel buttons on some missing progress windows
- improved calculation of progress speed. now it is always the last 15 secs average instead of overall progress speed.
- added pulsing new icon on banner grid layout for new games
- added resize of widescreen screenshots to 768 width
- added mii extract on save game extract if the file does not yet exists
- added mii extractor and SYSCONF extractor that always extracts and overwrites old files
- changed wifi gecko to UDP socket
- support for DML v1.2+

NOTE:
Banner animation support requires AHBPROT flag to be enabled. If you use old HBC you should use our forwarder or update the HBC otherwise you wont have that support.

I am hoping that now the themers and the translators can catch up with their stuff for the next upcomming official release.
2012-05-06 10:59:58 +00:00
strtoul
5b2f453d9e *Add DML support (thx goes to G0dLiKe, crediar, all DML devs and FIX94)
*restructured game settings for different types of games (Wii/GC/Channels)
*added uninstall option for emu nand channels and game cube games (iso only)
*add display of game size from wii disc games on game prompt
*add game size display for game cube games (iso only)
*force interlace mode on GC games except when explicitly used FORCE 480p PAL/NTSC
*removed mountMethod global variable which was annoying me very much
*some source cleanup
2012-02-09 21:18:16 +00:00
strtoul
c7411c9200 *added option to adjust screen for overscan TVs
*optimized use of memory (sizes over 30kb go to mem2 now first till it runs out)
*avoid use of mem2 area used on IOS_Reload (first 2 mb)
*fixed bug in aiff sound playback. breaked some banner sounds
*fixed boot of We Dare again (stupid channels added in the pattern again :P)
*unmount the usb partition used for nand emu and remount it after activating nand emu (fat32 cache flush)
2012-02-05 18:38:26 +00:00
strtoul
b78388e779 *fixed possible crash in grid layout
*change default virtual pointer speed to 0.18
*added instruction invalidation of dol areas before starting them
*corrected PAL60 system default video mode set
*fixed loading titles when titles from wiitdb is OFF
*removed buggy lz77 implementation and use the one known working
*fix small scrollbar bug when having only 1 item
*fix launch of dollz compressed dol files (thx FIX94)
2012-01-23 21:26:41 +00:00
strtoul
63631b8028 *added ability to boot main.dol directly for channels (real and emu). The launcher method can be setup in the loader setting.
*added channel hooking (real and emu).
*proper catch of none existing cheats on server if file is not found
*added back channel nand emulation mode and per game nand emu settings for channels (emulation mode can't be set to OFF for emu channels)
*improved handle of cached titles. (on first boot of this revision the cache title file will be renewed)
*settings title, keyboard text and key color can be changed by themes now
*added optional background image for list/carousel/grid layouts. The files do not actually exist in the loader. They are loaded if they exists otherwise the default background image is used.See here for filenames: http://code.google.com/p/usbloader-gui/source/browse/trunk/source/themes/filelist.h?r=1148#776
*add flush of homebrew memory before launching app_booter
*change: if titles from wiitdb is not enabled the title will be read from game disc header on /title [ID6]/[ID6].wbfs (iso/ciso) pattern. Title caching can still be used and is recommended in that case.
*added keep of AHBPROT flag on IOS Reload. Homebrews booted now have AHBPROT. (thanks davebaol)
*fixed loading ocarina files from SD when doing nand emulation from SD
*fix port libs includes reference in Makefile
2012-01-08 18:24:46 +00:00
strtoul
b9c86e8db9 *fixed reading game titles from disc header on fat32/ntfs/ext (Issue 2034)
*moved low mem and video setup for channels after loading the dol (fixes/corrects video mode, little video flash on startup of channel and might fix some other stuff. hopefully doesn't brake some channels)
*removed duplicate memory flush/patches
*code optimizations
2012-01-05 22:26:45 +00:00
strtoul
26c0ee7ce9 *added import of channel type on category import from GameTDB (VC-N64, WiiWare.....)
*added translations parse for rating descriptors (not used yet) and for genres. requires one time update of wiitdb.xml for cache rebuild.
*fixed a few mem leaks in GameTDB parser
2011-12-23 22:04:27 +00:00
strtoul
616b1bdf4c - add check for the covers of the currently inserted disc to the cover downloader (is checked with the other games in the list)
- fix booting wii discs when starting without a HDD (channel mode)
- add parental control option to block priiloader override on return to system menu
- add prompt asking for downloading new language files when trying to update and no language files exist yet
- reduced amount of checks for inserted disc (now every 100ms)
- fixed booting gamecube games (datatype bug for mount method)
- fix winnertag for gamecube games
- add per game nand emu path setting
2011-12-20 21:41:00 +00:00
strtoul
c51b2304c2 * added nand channel emulation (big thanks to TriiForce guys and Miigotu for laying out the foundation)
* added direct list of emu nand channels without activating emu nand (for speed up)
* removed autoclose of search bar and changed the search engine to have both methods
* added setting for switching "Beginning" and "Content" search methods and a quick switch button on search window
* added autocomplete if only one search character is available and more than one match
* added seperate path and setting for emu nand channels/saves
* added caching of emu nand channel titles
* fixed a few alignment issues when activating emu nand (thanks daveboal)
* some minor clean ups

TODO/Next Rev:
* add channels banner sounds
* remove unneeded game settings options on channels
2011-11-12 18:14:09 +00:00
dimok321
e43c9b108d *Added per game NandEmu, Hooktype, WiirdDebugger setting
*Disabled try to mount of drive when no disc is inserted
*Bug in NandEmu fat FD close was fixed with latest d2x, workaround removed
*Added create of nand emu path for rabbits go home to /title/00010004/ (Partial Nand Emu) (thx nic for the info)
*Fixed loading default values for new added game settings
2011-09-03 09:39:26 +00:00
dimok321
cad13f704c *Fixed Nand Emu on d2x v7 alpha versions for USB (thanks davebaol)
*Added check for d2x IOS for Nand Emu again (now it's valid)
*Added different hooktype and wiird debugger (see "Loader Settings") (thanks GeckoOS for the sources)
2011-07-29 20:59:31 +00:00
dimok321
973d8b2005 *Fixed compile error
*Converted every 4 spaces to a tab to make the source consistent on those
2011-07-25 22:28:22 +00:00
dimok321
f8ae27c2e2 USB Loader GX Release V2.2
New:
- Added game categories and filter games list by categories (Can be imported from WiiTDB).
- Wiinertag support.
- Supporting arguments from meta.xml on boot (--ios=xxx and --usbport=x) (Requires Homebrew Channel 1.0.7+ or 
  UNEO Forwarder v3.0).
- New ehci modules by Rodries with better drive compatibility.
- Added two new video modes to force progressive video mode, 'FORCE PAL480p' and 'FORCE NTSC480p'.
- Added Sneek Video Patch mode.
- Added new 'Inherit' setting for game settings named "Use global". If that option is set then the main loader 
  setting is used.
- Full d2x cIOS support with it's new features (Block IOS Reload, Return To, Sector Sizes > 512).
- Support for sector sizes > 512B with FAT32/NTFS (Requires d2x v6+)
- Real support for simultanious use of both USB ports without switching the 2nd drive temporary off. (Requires 
  Hermes cIOS or Rodries MOD of the Hermes cIOS (recommended))
- Added two new settings menus
- Added saving of game browser position when returning to USB Loader GX

Changes:
- Improved several GUI controls/navigations
- Changed settings menu layout and sorted the items to their correct place (HDD menu, features menu)
- Set games settings to use the global setting by default, set to "use global" to use the main loader settings.
- Use TinyXML instead of MXML (better XML support)
- Updated to new libs (libogc, libfat, libext2fs, libntfs)

Fix:  
- "Return to" option now work for all games, even problematic games like Prince of Persia. (Requires d2x v4+)
- Xflip setting fixed.
- Fix the parental lock of Individual game settings (Thanks to NJ7)
- Fix Theme downloader
- Fixed reset of the loader when loading game with IOS reload and disabled WiiTDB titles
- Fixed timeout timer on startup to count correctly.
- Fixed reversed disc image download when Custom/Original option is selected
- Fixed reload of game list after a game rename
- Fixed horizontal text scrolling
- Fixed booting games by arguments (headless id feature)
- Fixed We Dare game boot (thx oggzee)



R1099 Change Log:
    *Added IOS225 from Rodries cIOS Installer MOD to Hermes IOS types

New Forwarder V3.0 Changes:
    *added support for ext partitions
    *added support for arguments from xml
    *clean up of source
2011-06-29 20:45:40 +00:00
dimok321
0f4eb6b209 *several code optimizations
*added saving of game browser position (on all modes)
*several cleanups and small fixes
*added a "Block Category Menu" setting
*fixed bug with parental block and game settings (thanks NJ7 for finding it)
*fixed "All" not being translated in category menu
2011-06-24 19:11:36 +00:00
dimok321
1efb712ac5 *fixed XFLIP_WTF setting (Cyan)
*fixed crashes on category add/delete/rename
*changed icon of category rename and mapped triggers +/-/1 to the buttons
*fixed green bar flash on game start
*fixed freeze in STATE_DISABLED when leaving->entering->saving game settings
*separated a few settings from the GUI setting and created a "Feature" settings menu
*Updated language files
*Added Wiinnertag support. 
NOTE:
When you enable the Wiinnertag in the settings a prompt will come up if the Wiinnertag.xml does not exists in the setup path for it. This prompt will ask you if you want an example file created by the loader which you can adjust to your account (I suggest you create one on first use). Multiple/Other tag sites can be setup in the xml file and loader will execute them all one after another. Also Wiinnertag requires a network connection established to be working. When you enable this feature and auto network init is disabled you will be prompted to enable it.
2011-06-18 07:00:42 +00:00
dimok321
79c82ffec8 *Added a global block IOS reload option which is set default to "Auto" (Auto = on d2x cIOS >= V6 enabled, every other cIOS disabled)
*Fix for some IOS Reload games
*Updated libext2fs
*Updated libntfs
*Updated language files
2011-06-10 12:22:19 +00:00
dimok321
1913aea194 *Added custom Game Categories switchable in main menu and selected/adjustable in game settings menu. Own categories can be added and applied to games. A multiple category selection is supported in showing and assigning.
*Fix homebrew browser indicator counter (thx dj_skual)
*Fix We Dare anti piracy protection (thx oggzee)
*Fix Wip patching
*IOS reload block working with d2x v6 beta1+ with all filesystems
*Changed CheckBox Cross to squareroot sign
*Added auto detection of the usb port on start with Hermes cIOS (allowing startup without waiting 20s for USB port 1) (was build in in rodries ehcmodule, thx!)
*With new d2x v6 beta1+ sector sizes other than 512 bytes per sector should be supported on ext/ntfs (maybe fat too) (NOT TESTED, need feedback)
2011-06-03 20:31:09 +00:00
dimok321
00e9a9ffee *Added new ehcmodules with better and more drives support on Hermes IOS (thx rodries)
*Fixed reset of the loader when loading game with IOS reload and disabled WiiTDB titles (Issue 1874)
*Added new 'Inherit' or 'Use global' setting for game settings. If that option is set than the global setting is used for that option. (Issue 1842)
*Fixed timeout timer on startup to count correctly. (Issue 1907)
*Added two new video modes to force progressive video mode, 'FORCE PAL480p' and 'FORCE NTSC480p' (basically the same but oh well) (Issue 1902)
*Added the new 'Return to' procedure for the d2x v4 IOS for Test purpose (didn't test it, need feedback on this one). The old method is used if this procedure fails. Please test it on problematic games (e.g. PoP). (Issue 1892)
2011-05-28 19:52:00 +00:00
dimok321
052c6d4591 RC1 upload:
*update of ehcmodules for Hermes IOS supporting now more drives (thanks rodries again)
*added ignore case sensitivity on NTFS (hopefully it works as good as it sounds)
*fixed homebrew receiving in homebrew launcher via network
*changed video switching code to the one from Wiiflow
*allow ',' as floating point '.'
*Fix of reloading titles after wiitdb update
*reset all other button clicks on carousel when two or more buttons are clicked at once
*a few code optimizations
*fixed compile bug on OSX (Issue 1844 and Issue 1132)
*language files updated
2011-03-14 21:19:21 +00:00
dimok321
e6a87c05fe *Fixed display of partition size on WBFS partitions with a different wbfs sector size than 512bytes.
*Made the ProgressWindow for game installation more accurate
*Added displaying newly installed games (marked as new) on favorite list, so you don't have to change to full list when installing new games. (Thanks Cyan for the patch)
*Lot's a small fixes
*Added WDM Menu on game start. You can set it in the alternative DOL option (one new option there). The menu lists all DOLs on the disc and if a wdm file is provided in the WDM path (configurable in the settings) than the dol parameter and dol replacement name will be taken from the wdm. The DOLs that are not listed in the WDM but exist on the DISC will be listed at the end of the list.
*Added avoid of multiple app cleanup when game fails to boot

*Changed libfat to use FS info sector on FAT32 partitions. This speeds up the free space information getting to instant. For that the FS info sector has to have correct values. The values of all partitions where homebrews were writing to are currently incorrect because the official libfat does not support FS info sector (i submited a patch) (Windows does write it correct though). That is why there needs to be a synchronization of the FS info sector for partitions used with homebrews. For this purpose a new setting was added in the Loader Settings. You can synchronize all your FAT32 partitions on the USB with it once and you are done (if you don't write to that partition with current homebrews). After that you can enable free space display and it will be instant like on WBFS/NTFS/EXT partitions.
2011-01-16 13:12:07 +00:00
dimok321
4f7ccef2ec *Changes running games from WBFS. It is now done through fragment lists like on ntfs/fat/ext. This enables support for multiple wbfs partitions even with waninkokos cios which normally doesn't support that. This is not supported by Waninokos IOS < R18. It continues to only support one partition!
*Added initialized too all the cheat variables (that was bad...i wonder how it didn't go wrong)
*Corrected several theme texts (x, y position mistype)
*Added "Default" button to theme downloader to reset the theme
*Fixed bug in loading language file with fresh configs
*Fixed display of theme path in custom path options
*Fixed rockout reset after leaving the GameWindowPrompt
*Added limit to page indicators to 5 and rotate them
2011-01-07 22:42:03 +00:00
dimok321
7bccfd2b17 *added loading screen
*Removed the console loading screen (no more console at all)
*Complete rework of device handle. You need to reset all your custom paths for this rev.
*Support for writing images/settings/... on any writable partition (FAT/NTFS/EXT). (Theoretically you can run the loader from NTFS only without the need of any other partition or SD if run from new forwarder channel, for example)
*Support for Primary/Logical partitions and GUID Partition Table (GPT)

Forwarder Channel in last revision was not using IOS58 (not sure about AHBPROT)
Here a corrected version (thx to Cyan):
http://www.mediafire.com/?a9y3ywqcm4v3lz3
2010-12-30 23:49:22 +00:00
dimok321
0e5bb13173 *fixed settings paths creation bug
*fixed crash when installing on ntfs
*fixed a few bugs with language setting for games
2010-12-29 10:22:11 +00:00
dimok321
64744ce20d *Fixed booting games from FAT/NTFS (thx r-win)
*Fixed Toy Story 3 boot bug
*Changed IOS limits. Now allowing all IOSs from 200-255 to support more Waninkoko cIOS slots. You will get a warning if you don't have an IOS installed and try to choose it.
2010-11-07 12:16:34 +00:00
dimok321
33ce3e48ab *Lot's of cleanup and file/function movement.
*Homebrew boot changed a bit (cleanup)
*A lot more stuff i can't remember anymore
2010-11-06 15:30:14 +00:00
dimok321
78ff6447a4 *Enums cleanup 2010-10-27 14:45:27 +00:00
dimok321
a4f3d16a56 *Added support for all the currently new IOS stuff. Stole a few modules/plugins from WiiFlow here :P. (Tested Hermes 222 v5.1 base 38 and Waninkoko 249 base 57)
*Added support for older Hermes IOS too (rev 2 and rev 3)
*Changed Alternative Dol Browser to get the filelist (fst) with functions from libwbfs (like banner sounds) instead of from an emulated disk. This should fix all the weird crashes with it.
2010-10-01 15:01:19 +00:00
giantpune
444d2dbe79 *removed all the switches at the end of menu.cpp
* removed duplicate 002 parameter in constructors
* pass setting parameter directly to the patching functions instead of making another variable just for this
* probably broke something
2010-09-30 05:45:21 +00:00
giantpune
74fa0a40be * turn off some debug output
* change returnTo patch a bit.  now it can be run on dol sections instead of the whole thing at once.
* apply the patch for alt dols
* only apply patches to main.dol if we aren't booting an alt dol
2010-09-30 04:24:17 +00:00
dimok321
e44e3c817c *Seperated game settings from cfg.c into it's own class. Some stuff might be broken and need adjustments. 2010-09-24 21:22:01 +00:00
eraserxl
772859ecbc * Unified formating of source files. 2010-09-24 00:48:03 +00:00
giantpune
4e78cbb37d * fix widescreen setting 2010-09-20 03:03:38 +00:00
dimok321
f3ef9104b1 *Whole lot of cleanup in the cfg.c
*Moved all related global settings to a settings class. one for themes and individual games will follow. Probably broke some settings or theme loading, we can deal with that later and fix when someone discovers bugs.
2010-09-19 20:25:12 +00:00
giantpune
6012536f67 oops 2010-09-19 13:21:36 +00:00
giantpune
dd4704cce3 * brought back the return-to patch complete with settings and shit to click on
* in the global settings you can select any 0x10001 title that is actually installed in the nand.  in the game settings, you can decide whether or not to use the global setting for that 1 game.
2010-09-19 10:53:24 +00:00
giantpune
9e79c9d99b * remove little unused code
* code cleanup
2010-09-18 23:16:05 +00:00
dimok321
a5ca9235ca *Added PoP Patch to apply automatically. The internal patch is not applied if you have a .wip file for PoP. So the .wip patches override the internal patch.
*Cleanup inside the apploader
2010-05-30 14:18:25 +00:00
dimok321
f0ca11506b *WIP Patch fix. WIP patches should work now. Tested and confirmed for PoP.
WIP Patches will be only accepted in the following format (let's not invent thousands of different formats):
In 3x 4 bytes columns separated by a space (no ":" allowed)
offset | original address | overwrite address 

Example for PoP:
007AAC6A 7A6B6F6A 6F6A7A6B
007AAC75 7C7A6939 69397C7A
...

The original address is compared before patching and is not patched if it doesn't match. You can see the confirmation or fail of a patch on the Gecko Output.

*A few fix ups in different places
2010-05-29 15:43:19 +00:00
r-win
8a4e192022 - Reverted to 921
- Removed no disc in drive patch
- DoGameHooks should be called always
2010-05-29 07:38:54 +00:00
giantpune
0e5d1d182f change main.dol patches around a bit 2010-04-10 23:44:10 +00:00
e.bovendeur
0e1ed4a3b3 - Fixed Hermes rev5 issues (I think :))
- Added support for ciosx (yes, including FAT/NTFS) (As always, say thanks to oggzee for this)
- Fixed bug with game specific settings (which *could* end up using other settings than you expected)
- Removed fat_ffs for now (save game emulation might conflict with FAT/NTFS support, we have to test this)
- Maybe more, but I forgot them, I think
2010-04-10 09:15:22 +00:00
dimok321
eb052a0fe9 forgot something 2010-02-27 18:54:42 +00:00
dimok321
714aafa267 *Added WiiPowers Brawl+ stuff (Thanks WiiPower) 2010-02-27 18:18:01 +00:00
giantpune
bf03e49dc6 undo the code formatting. somehow it got screwed up 2010-02-09 10:59:55 +00:00
giantpune
f988afc60d code formatting. absolutely no functional changes. there is no point to update to this. just making the code easier to read. 2010-02-09 06:33:18 +00:00
e.bovendeur
5b6a6e98df Fixed issue 1242: Ocarina doesn't work any more 2009-12-20 20:28:30 +00:00
giantpune
cb628348d6 *fix possible buffer overflow in GCT code array
*fix the gamelist from starting with 1 game on the list
*added fucntion for making screenshots and put it in a few loops. 
triggers are GC(Z), CC(left-Z), nunchuk(Z).  no comfirmation is given
except over usb gecko.  but files are saved in <boot device>/config/
USBLoader_GX_screenshot<date><time>.png
*took out some annoying prompts from the bannersound functions because
they were really annoying
2009-12-20 04:26:30 +00:00
e.bovendeur
3aa838dec9 * Added initial NTFS support
* Added load system based on fragments

This commit is made possible for Oggzee and his great work on supporting other filesystems!
2009-12-19 14:05:31 +00:00
e.bovendeur
f19285cd0d * Fixed issue 1169
* Implemented WIP patches
* Updated language files
* Possible fix for Peppa Pig (untested, issue 1212)
* Updated Wii parental controls to work nicelly with USB GX Parental Controls
2009-12-15 06:04:14 +00:00
giantpune
f6ad587532 *change "or" to "and" for the IOS check
*rearrange some sd and usb init to keep from re-init the thing 20 times
*execute some of the main dol patches that are the same size in the same
loop so we dont keep looping the same data a bunch if we dont need to
(hopefully this doesnt break anything)
*sprinkle some more gpringf() around
2009-12-10 23:05:32 +00:00