Commit Graph

33 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
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
54fc7320f9 *added new feature to force aspec ratio on games/channels (global and per game setting) (thx giantpune for help with disassemble)
*added refresh of partition size when activating wii games mode from none wii games mode
*fixed playback of some BNS banner sounds
*moved every allocation used during or after apploader to mem2 (fixes some memory overwrites problems by the apploader)
*improved detection of game partition when starting the loader without configs (fresh start)
*fixed remove of unused cached titles on wiitdb load
2011-12-23 15:48:20 +00:00
strtoul
76df2b26b6 *fix reloading into another IOS before launch of game
*add loading of wii games / nand channels / emu nand channels in all combinations into one list
*add button on main view for quick choice between the combinations of the three
*add "Real Nand" or "Emulated Nand" text on the game window prompt when starting a channel
*removed the need of a cIOS to launch the loader (if anyone uses it with IOS58 for whatever reason). The warning that a cIOS is needed is still present.
*removed support for both usb ports at once on hermes cIOS. Each can still be used individually but only one at a time. This is done because of some bugs in the new ehci module which make some games unbootable. The ehcimodule is now reverted to the last working one. Need feedback if the games work fine again.
*some preparations for the upcoming stealth mode feature of the d2x cIOS
*isfs is now initiated once and deinitated when cleaning up only (instead of the whole init/deinit every single access)
*removed choice for emulated nand channel modes. Emulated nand channels always need full emulation which is now always used on emu nand for channels.
*removed unused settings for channels from the per game setting
*changed default partition to 0 when starting with fresh settings (instead of -1 wtf?)
2011-12-22 22:44:48 +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
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
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
53574d6bc5 *threw out mxml because it is pissed on every little crap that is wrong in the xml and stops parsing the whole xml. Changed everything to use official TinyXML now (nice C++ classes). A lot of problems with categories and probably Wiinnertag now should be solved.
*fixed Theme Downloader to actually list the themes (wonder why no one reported that its broken)
*fixed freeze on 0 games and gameGrid
*added a "Sneek Video Patch" mode. According to WiiPower it can come in handy for some games. (Thanks to WiiPower)
*made showing categories on game details screen limited by the space available
*removed alt dol prompt on "default" setting for d2x users
*Added a Block SD Reload option
2011-06-25 19:50:57 +00:00
dimok321
72d8c9dc2e *Created an automatic resource list generation script which is executed when files are added/removed
*Created an own class for the homebrew prompt
*Created scrollbar class which is now used on every browser
*Created a checkbox browser list class
*Changed the category prompts to the new list mode
*Improved B-Button scrolling
*Fixed horizontal text scrolling
*Fixed possible crash on long text display
*Many internal gui changes and navigation changes
*Fixed booting games by argument (headless id) (Issue 1930)
*Fixed SD Reload button to really reload the SD after it was ejected (Issue 1923)
*Added booting with arguements from meta.xml for homebrews (Issue 1926)
*Added some arguments acception from meta.xml to our app. "-ios=xxx" and "-usbport=x" or "--ios=xxx" and "--usbport=x" can be used. -usbport is for Hermes cIOS to decide which usb port to use on startup. The ios is the boot IOS on startup, it always overrides the compiled boot IOS into the application.
2011-06-14 17:53:19 +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
74181ae5bc *Skip spaces at the end of a category in WiiTDB (e.g 'Rhythm ')
*Change in nand title search (fixed bug which can find wrong nand title and set it as return to)
*Fixed bug when a wiimote leaves the game list choice and returns to it without going over another game that game was not clickable (Issue 1918)
*Changed search bar to clear text on [X] button click. search bar is now closed by pressing B
2011-06-05 10:09:51 +00:00
dimok321
f98b9d02d0 *Added proper detection of cIOS d2x and show info about it on credits window
*Reverted USB port auto detection through ehcmodule which was added in R1085, it breaks BlackOps on Hermes cIOS (thx s.v.groeneveld for testing)
*Added "Import categories from WiiTDB" function to the global settings as last entry. It will import the categories available in wiitdb.xml as <genre> for your games and assign your games automatically to the categories they are assigned to in wiitdb.xml.
2011-06-04 16:29:08 +00:00
dimok321
6ab1fb327c *Removed method 1, always using method 2 for block ios reload
*Reload into gameIOS and not 249
2011-05-30 20:35:03 +00:00
dimok321
96cb18d26f *fixed reversed disc image download when Custom/Original option is selected (Issue 1871)
*corrected the patch for returnTo using d2x (should be working now)
*added block ios reload of d2x. you can choose the methods in the game settings (same option as for hermes ios but it can be 1 or 2 on waninkoko ios, last option on screen) (not tested yet)
*major restructuring of patching code for game patches inside the source
2011-05-30 19:49:12 +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
7f2778e17f *Set settings partition to 0 if usb port is changed and settings partition is greater than the total partition count on that usb port.
*Some source optimizations
*Increased warning output with -Wextra and fixed the compile warnings
2011-02-06 18:36:32 +00:00
dimok321
1d2854c777 *Fixed issue 1808
*Fixed issue with crashing carousel when switching from empty game list to none empty list.
*Added download for Full HQ & LQ Covers. When both are checked HQ Covers are prioritized.
*Added support for Full HQ & LQ Covers:
Full covers are currently used only in the GameInfo Screen (Press 2). The Box can be rotated in there with the Nunchuck. When the box is clicked it will jump to the midlle of the screen. Here it can be rotated with Nunchuck & Wiimote D-Pad. Also it can be zoomed in/out with the PLUS or MINUS buttons. Zoomed in covers are currently cut off when going too far into the screen because the axis had to be layed to the middle to keep the symmetry. Don't report issues about that. It's known. Another use of full covers might follow with a new layout if we think of something nice ;).
*Added support for different box colors. Box colors are taken from WiiTDB so if you get a wrong color complain at WiiTDB :P.
2011-01-30 16:22:16 +00:00
dimok321
7db67e75af *Added several basic gui classes like drawing box/circle only with the GX engine without the need of a resource
*Created a checkbox class with them
*Changed the prompt window to a class
*Changed cover download to a checkbox selection of what you want to download. Changed discart download option to only switch between what is prioritized (original/customs)
*Fixed a little alignment issue of the progressbar
*Reverted the change for check disc in drive. Some drives couldn't handle it in IOS58 mode :\.
*Changed playcount from an 8 bit to a 32 bit counter (got 8bit by mistake) which limited it to 255
*a few little optimisations
2011-01-23 20:13:41 +00:00
dimok321
73b75e312f *Fixed cover not being displayed when cover download block is active
*Added missing switch for parental control option (caused the next option to be switched)
*Changed GetGameCFG to return default cfg if none is set
*Fixed little bug preventing the automatic alt dol feature to work
2011-01-21 20:59:49 +00:00
dimok321
e5db72b71d *Fixed the parental control settings code dump
*Reworked almost everything about alternate DOL loading (I am wondering how loading from SD/USB even worked)
*Added new Option "Default" for alternate DOL which is now the default settings. This setting will select the alternate DOL automatically for games like Red Steel 1 because this alt. DOL is always needed to play the game. On games where the alt dol option is not needed the option "Default" = "OFF". This is just an attempt to make this option more automatic. Games like Metroid Prime (the only game right now) will have a prompt on game start where you choose between 1, 2 or 3 on this option because this game always requires either of these.
*Small source cleanups/fixes
2011-01-21 19:43:59 +00:00
dimok321
1f0df75ef8 *Added several block options for parental control which decide what should be blocked in the loader
*Changed to update disc drive status only 1 time per second in the main menu (instead of every ~100ns)
*Removed global "locked games" for per game lock option which is not really useful anyway since you have to save in the game the lock status
*Removed a few unused setting variables
*Updated some language files
2011-01-20 15:00:55 +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
34692131a2 Alright guys, after 3-4 Month of cleaning up the source, it's finally here:
USB Loader GX v2.0

A few cosmetic changes along on this rev:
*Removed unused resources
*Fix a compile warning
*Fixed crash on formatting drive to WBFS
*A few source/function movement from one file to another 
*Renamed global game settings to "Loader Settings"
2011-01-09 10:45:29 +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
01bef0b2c4 *Added back the trNOOP (which excluded a lot of settings languages) which i removed by mistake when adding themes
*Added option for file splitting on install. 2GB, 4GB and on ntfs/ext2/3/4 partitions no splitting at all option.
*Fixed the install dir naming patterns option for fat32/ntfs/ext2/3/4 game installs
*Changed/Fixed Home Menu exit to loader / shutdown
*Added reload of game list on SD button click
*Fixed language file loading on startup
*Changed browse for theme path to file browser instead of OnScreenKeyboard

Several settings were changed in this revision. It is recommended to reset the configs before using this rev.


Forwarder Channel Update:
*Use of IOS58 and AHBPROT
*Complete change of forwarder. Using same as on WiiXplorer now.
*Looking for dol in every primary fat/ntfs partition in the known paths (/apps/usbloader_gx/ and /apps/usbloadergx/). (Booting loader from ntfs will be usefull once images and settings can also be stored on ntfs.)

Here is a download link for the channel:
http://www.mediafire.com/?r11bwt1occlanmk

The channel will be uploaded to the download section later when it is thoroughly tested.
2010-12-29 15:42:26 +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
6850d68074 *Fixed crash on NTFS (wrong memory free functions were used)
*Added proper deinitialize of usb before starting game / exiting app. This is supposed to fix Blackops multiplayer mode (Did not test it. I don't have that game.)
*Added Wii message board update (Playlog) (thanks to dkosmari for a starting point). This feature can be enabled/disabled in the global settings. Default is ON.
*Removed unused sources.
2010-12-27 09:44:27 +00:00
dimok321
d62e41d601 *Removed ntfs/fat source and added them as custom libs (makes them easier to update later)
*Added sources of the custom libs to the branches
*Fixed crash when switching from list layout to grid/carousel layout
*Removed 1:1 copy option because its meaningless and almost the same as installing all partitions
*Fixed install partition selection. This option needs a reset. Go to settings and reselect your option for this.
*Fixed schinese and tchinese language modes (filename bugs. has to be schinese.lang and tchinese.lang like on SVN)
*Fixed bug in sound buffer circle
*Fixed incorrect behaviour of x-flip when selecting system like (thx Cyan for the patch)
*Accept ios revision 65535 for Waninkokos IOSes (thx to PPSainity for pointing it out)
*Merged the new theming style branch into trunk. Just as a reminder: ALL old themes will not work until the themers did port it to the new style!
*Removed old theme style completely

Theme example:
The example file of the theme is the Default.them file. It can be found in the SVN trunk.

Change in loading of themes:
When selecting a theme now a list of all .them files in a folder is displayed. The image folder of that theme has to be in the same folder as the .them file. The image path is defined in the head of the .them file in the line with "Image-Folder: Example\n".
2010-12-26 17:02:14 +00:00
dimok321
2213b45351 For all the Linux lovers:
*Added support for EXT2/EXT3/EXT4 file systems:
   You can boot games from this file systems too now. Works the same way as FAT32/NTFS.
   Just put your games into drive:/wbfs/ with the known supported folder names.
2010-12-09 20:57:35 +00:00
dimok321
500dc4020f *Reworked the whole WiiTDB.xml parsing. This is now done with mxml due to a lack of memory the file is now streamed. Now the full wiitdb.xml file with all languages is always used. The update of WiiTDB is also changed. It is now only updated if the version of the wiitdb.xml file does not match the version of the online file.
*WiiTDB now falls back to english if the locale language is not found for Titles/Synopsis
*Some clean up and memory leak fixes in game info prompt and adjusted the info get to the new WiiTDB reading method.
*Added a few new useful functions from WiiXplorer (DownloadToFileWithProgress, ShowError,...)
*Disabled the console output after the GUI is started up. The info is only output to gecko in GUI mode now.
2010-12-03 18:38:57 +00:00
dimok321
fa11a745d6 A lot of changes with this rev
*Rewrote the whole Settings.cpp into 11 classes. Each settings menu has it's own class now
*Reworked the whole sound system. Supported formats AIF/MP3/OGG/BNS/WAV now with no file size limit (streaming).
*Changed button click/over sounds to wav from raw pcm
*Lot's of bug fixes
2010-11-13 22:34:53 +00:00