*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.
*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".
*Fixed bug mounting a wbfs partition which was formatted from an ext partition
*Rewrote the parental control feature. Removed loading pin or settings from the Wii Settings. Parental control is now completely managed in the loader from the settings selected and the password set.
*Saving password in config file is now encrypted
*Added loop to wait for usb when reloading the cIOS before game start
The parental control feature is filtering games like following when usb loader is locked:
level 0 (everyone 0+) > shows only games with lvl 0
level 1 (childs 7+) > shows games with lvl 0, 1
level 2 (teens 12+) > shows games with lvl 0, 1, 2
level 3 (mature 16+) > shows games with lvl 0, 1, 2, 3
level 4 (adults only 18+) > shows all games (lvl 0, 1, 2, 3, 4)
level 4 is default when creating new configs
*Fixed endless loop when disc button was selected
*Fixed crash on exit
*Fixed discart download to not download custom/originals if set so in the settings
*Hopefully fixed discart download problem
*Reworked DirList class
*added a temporary workaround for selecting favorites when no favorites were setup for grid and carousel layout because of some serious problem in there which i have to look for later.
*Reworked complete cover/discart download function (seems a lot faster to me now)
*Fixed problem with switching games in game prompt and then going to the game settings. Was always the first selected games settings.
*Fixed crash when clicking the DVD icon
*Fixed save of lock/unlock state in parental control
*Fixed install menu messup (not return to right menus)
*Removed unnecessary save of settings on every mode switch
*Several cleanups and fixes
*Removed mountMethod 3
*Rewrote complete main menu function
*Moved ext2/3/4 disc cache to mem2 as on FAT/NTFS (added ext2 as custom lib due to that)
*Added missing header files from R1011 for ext support
*Fixed crash on Numpad when pressing a button
*Fixed boot of WiiMC
*Changed SVN line ending to LF (Unix style)
*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.
*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.
*Added better wait loop for HDD spin up
*Changed almost all default config paths which are set when no config exists to be set to where the actual config file is saved (either /apps/usbloader_gx/ or /config/)
*Changed to startup and load a cios right away before loading settings. You need to have at least one non stub cios 249, 222 or 250 to start the loader now
*Fixed 30 secs timer on HDD spin wait
*Updated libfat to new libogc version
Time for some real update. Whole lot of new features added including:
* GC GAMES BOOTING FROM USB
* BANNER ANIMATION LIKE ON DISC CHANNEL
* BURNING WII GAMES FROM WBFS TO DVD-R
* SUPPORT FOR ALL USB2.0 HDDS
* NO GAME SIZE LIMITS
* EXT2 AND EXT3 FILESYSTEM SUPPORT
AND A LOT MORE.
Only missing features now: The Wii making you coffee and toasting your bread in the disc slot.
*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
*Fixed loading languages
*Fixed wiitdb download
*Changed sorting/favorite stuff. You can now have favorite mode and abc/playcount/ranking sorts as well
*Change to not allow FAT32/NTFS partitions with Waninkokos cIOS Rev < 18
*Fixed settings path to default to the boot device
*Set default cIOS to 222 now if no config exists.
*Removed support for Hermes v2 and v3 (only v4+ is supported now)
*Fixed game settings saving
*Maybe more i don't remember
*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.
*Changed boot process to wait for USB in GUI mode.
*Changed headless ID stuff (actually was in last rev)
*Added a GameTitles class for WiiTDB titles and fixed parental control (probably crashed before)
*Removed cfg.c completely now. Nothing left in it.
*Moved per game lock feature from game statistics to the individual game settings. It is not a game statistic ;).
*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.
* 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
* 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
*Changed the image resource manager to only be used for images from memory (embedded images) and not those from a device. It used the same cover/disc image for multiple game.
*Lot's of changes in image processing
*Added use of libgd and ImageData class from WiiXplorer. No more crashes with corrupted images and no more restriction to images sizes that are devidable by 4 :).
*Added a recource file manager for better access of all files/images for internal files and theme files. Some themes will have to adjust some filenames because we want to use the same filenames for themes and internal source files.
*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.
* 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.
* only get the list of shit installed on the wii 1 time and use that list globally for stuff like checking if something is installed, getting channel names, getting title versions
* remove unused files
* probably fuckup svn merge
*Replaced all text related stuff with the ones from WiiXplorer (FreeTypeGX/GuiText/...). Some alignments might need be adjusted or maxWidth in pixel of some text parts. Also the text scrolling needs to be adjusted.
*updated libntfs (write fix)
*updated libfat
*lots of changes in the startup code, removed almost everything. This might cause problems for some drives at loading the gamelist and needs to be adjusted later but better this time. more cleanup is needed in main.cpp and will come.
*using libogc sd/usb for config loading and reload to cIOS afterwards
*added missing boothomebrew stuff pune forgot
NOTE: From now on we will be doing a lot of revs which we won't be compiling and releasing. This revs are officially not available for public so don't making issues regarding those revs. Those will be closed right away. We need first to cleanup a lot of crap and update loader to new standards before releasing stuff again.
*Changed cache size for mounts higher again which speeds up everything especially from SD
*Fixed bug when loading OCARINA+Alternative DOL. (Wasn't booting at all)
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
look for the first of ULNR or UNEO
if neither are found, look for the first of JODI or HAXX
if none of the 4 are found, return without patching anything
- 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
*Cache size reduced which results in a bit slower writing but is more stable
*Fix for the gameinstaller ProgressWindow
*Added NTFS unmount on exit
WARNING:
The USBLoaderGX installer seems to be broken in some places. There are sometimes random freezes or crashes even on fat32. Those arent bad on a fat32 filesystem but can damage the whole partition on ntfs. Using the installer on ntfs is still very risky. You have been warned!
* Updated to Hermes usb storage code
* Fixed some bugs in ntfs while writing timestamps, resulting in different hashes (dimok)
* Fixed codedump when switching partitions (issue 1454)
* Fixed graphical glitch on 4:3 screens, where the prefetch cover was visible in the coverwall
* Fixed a bug with installing games, due to the switch to C++ (dimok)
* Fixed bug in http.c (where realloc *might* choose another address, thanks Dr. Clipper)
* Added support to /wbfs/Game Title [GAMEID].wbfs files (thanks oggzee)
* Fixed bug in cfg_cleanup when switching partitions
* Added BGM class again (for playing background music, requested by dimok)
* Added settings for background music again
* Fixed bug in MEM2 class (returning an invalid handle when no memory could be allocated, thanks to dimok)
* Updated DIP module to OpenDIP (report bugs with this one if you've found them, but report them here: http://github.com/spacemanspiff/odip-plugin)
* Added initial code for cios 222 rev5 (THIS DOES NOT WORK YET! DON'T FILE BUGS ON THIS ONE!)
* Added fatffs module by Hermes and Waninkoko (THIS DOES NOT WORK YET! DON'T FILE BUGS ON THIS ONE!)
* Fixed bug in Settings, which resulted in a crash when the partition was changed.
* Added caching for gamelist entries, so switching between different screens/sort options/display modes should be faster
* Changed defines in ehc_module, in order to prevent clashes with new defines in rev5
*Startup is now using libogc usbstorage for loading configs
*Improved storing gametitles from wiitdb with less memory usage
*Added freeing of the memory allocated for wiitdb titles (oh boy)
*Changed wiitdb.zip search
*Fixed filebrowser to cancel without applying the path
*Added A BGM Class
*Removed the BGM menu now.
You can now choose a file with the filebrowser which you want to play. This file will be played and all .mp3 .ogg and .wav in the same directory enlisted as a Playlist.
If you choose Loop Directory mode than the files are played one after another. You can also choose a play random music from directory mode.
You will see the list of available channels on your system if you start without a HDD or if your HDD is slow and is being recognized late. The list of games is than reloading as soon as it is recognized.
*Hot swapping of the SD card was implemented into background thread (by giantpune)
*Made lots of cleanups and some fixes
*Format menu was moved to settings page 3 (only on godmode accessable)
*Added ScreenShot and Reset/Shutdown call to background thread. Removed the not needed ones. Now you can call for Screenshot/Reset/Shutdown anywhere in the loader (after gui is started).
USB must deinit the device before re initting it or else it returns 0
games and what not.
*add filter to skip __CFG_ in teh gamelist (i was told this is the ID6
for hermes' settings)
*Changed GuiDrawThread priority to maximum. This seems to take care of the vanishing WiiMotePointer problem (let's see if it works. If anyone notices a slowdown of any process caused by this revision, please report.)
down the ocarina issues
*take the IOS reload out of the slow usb loop
*use patchhook.S from new geckoOS. this doesnt mean all the new geckoOS
stuff will work, its just the S file
*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
* 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
gamelist.
*rearrange the Gui_Numpad so it doesnt look like a 4yr old made it :)
*remove redundant setPostion and setAlignment in Gui_Numpad
*remove old comments
*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
* Added Wii Parental Control support
* Added gui numpad
* Changed GuiText to support password character
* Added lock/unlock icon in the titlebar (to unlock Parental Control)
* Added new wbfs_fat from Oggzee (further speed improvement)
* Added MEM2 support by Hibern
* Better partition support (by oggzee)
* Support for subdirectories in FAT32 (by oggzee)
* Added support for cios 223 and 250
* Added BCA support (go to Settings->Custom Paths) to change the path of the BCA files (by Hermes)
* Fixed issue with hairless mode
* Fixed issue with IOS_ReloadIOSsafe (by giantpune)
* Added setting to save games in a subdirectory
* Fixed slow startup when loading from FAT (WiiTDB required!)
* Changed handling of new titles a bit (speed improvement)
Known issue:
* FAT rename and re-id broken again due to subdirectory support (yes, I'm lazy)
changed gprintf() to use crediar's method because it is smaller and works just the same.
allow r-win's debug printf() stuff to be sent to the gecko to reduce redundant stuff there
issue 1073. headless mode - allow game to be booted via argv[1].
took out all the params from the exitprompt since they aren't used.
took out all the #ifdef stuff for building for a wii. obviously this wont run on a gamecube so it isn't needed.
added a way to check what version of a IOS is installed before trying to boot into it. added IOS_ReloadIOSsafe(). this should stop idiots with the 4.2 stubs from bitching about why stuff doesn't work.
use that check so you only see the "222v4 is needed" prompt in the settings if you don't already have that installed.
fix issue 1039. (must still be compiled without NO_DEBUG defined because technically WiiRD is a debugger)
* Added a configuration setting to turn this feature off (there you go, pune)
* Changed svnrev.sh, to also update the release date of the meta.xml file, and to set the revision to current + 1
- Type "make" to make the normal dol
- Type "make channel" to make the channel dol
This will only force networkops.cpp and PromptWindows.cpp to recompile, instead of changing the PromptWindows.h file and force a recompile on almost everything.
* Fixed issue 1058
* Menus splitted to several smaller files, to reduce compile time
This version has FAT support. You can change the used partition in the game load options. Default WBFS will be used, if found. Otherwise the first FAT partition with games will be used. FAT will only work when using Hermes cios (222/223)!!!
The libogc limits the MUTEX up to a count of 64.
Therefore we use "only one" global Mutex for all Elements.
This has to follow tath a lock hinder each thread
tath which tries access to any other element
Also the new Lock-Stuff uses one global mutex.
But this mutex is locked for the smallest time as
possible (Only in the lock- and unlock-process).
The threads are no longer hindered unnecessarily each other.
This speeds up the gui
*Added new options for BannerSounds (You can loop them, make it be quite after once played or play the BGM again)
NOTE: Changed the way how to disable BannerSounds. If you make Volume to 0 than the loading of the BannerSounds is disabled now.
* ogg decoder added (old oggplayer removed)
* mp3 decoder added (mp3's cane use as backgroundsounds)
* WAVE decoder added (but only uncompressed WAVE's)
* AIFF decoder added (only uncrompressed)
* BNS decoder added
all soundformats can use as backgroundsounds
dimoks GameSound class removed it is replaced with the new GuiSound stuff
* Many small fixes and other changes
NOTE: Added option to enable/disable the BannerSounds and a volume option for it. Note that volume 0 is not the same as disabled. On volume 0 the sounds are still loaded. More options probably going to come.
* changes is setting-dialogs
- Update the Gui-Texts only if is needed
- alls stuff for an option in one code-block
this makes it easier to add, move or remove an option
* customoptionbrowser-stuff
* Add one translation wich was forgotten in source
* Themable screensaver activated, image size as gxlogo.png, but named "screensaver.png" in the theme folder.
* Others little fixs
NOTE: The images used right now for the theme loader are made out of our old images and if someone can make some new ones go ahead. The themes are downloaded to the path you can set up. The downloaded preview images are cached at "<set up theme downloadpath>/tmp/". The widescreenfix isn't implemented there yet because images will probably be changed.
*Started 3rd SettingsPage
*Added JPEG Loading GuiImageData function and 4x4RGBA converter by r-win from WiiXplorer
*Added ZipFile Class from WiiXplorer
*Added StringToMD5 and MD5ToString to MD5 functions and made it undependable of platform
added functions to mess with the "return to" stub. everything should be working right, but if i messed up, it may cause you not to be able to exit the program (it could just keep restarting itself). now when booting homebrew, they should exit back to this program if you have a channel installed as UNEO or ULNR. priority is given to UNEO if both are present.
*Lots of changes in the TextDrawing stuff and FreeTypeGX to speed up the drawing
*Mostly optimization work which is not completely done yet, but mainly it is.
*You might not want to update to this revision right away there still might be bugs which are needed to be fixed. This is a version for everyone to test and report bugs caused by the changes.
*Vanishing WiiMotePointer should be fixed for the Settings/GameSettings probably (though it might still occur i am not sure if i didn't forget anything, there is just too much to change :P.
- Differ the coordinates between 16:9 and 4:3,
can add a setting with a "w" as prefix
(e.g. sdcard_coord = 163,395 for 4:3
and wsdcard_coord = 170,395 for 16:9).
Isn't setted "w???._coord", the "normal"-coordinate
is used for both modes.
* added a new constructor for GuiImageData
currebtly the constructor is unused, i will use later
All options pages now contain the correct number of lines, which together with another adjustment should fix scrollbar alignment (issue 971).
Added missing scrollbar on custom paths page.
dimok fixed the file browser bug that prevented going back to the parent folder if the current folder was empty (issue 836).
Fixed parental control keyboard bug introduced in r750 (issue 976).
The free space text is now in correct order when the GUI is set to Japanese.
* Added initial (untested!) support for the zip file format, which is supported by the HBC
* Began working on compressed wad files. Uncompressing fails for now, so uploading WAD files should be done with the previous version of Wiiload.
* Fixed issue 902 (hence the large commit).
You may have to delete your main configuration file before updating if you had v3 installed. For some games, you will have to use 222 instead of 223 (RB instruments, GH 5) if you had 222 v3.
If you think you need an external ehcmodule.elf, you can put it in SD:/apps/usbloader_gx/ and it will be loaded.
Fixed crash when setting a custom path using the folder button (issue 864).
Fixed black screen when starting the loader from HBC a long time after powering the Wii and the HDD went to sleep (tested on a WD 2,5") (possible fix for issue 881).
*may lead to false positives for some GC memory cards in slot 2, but the only side effect would be hooking the game when it wasn't wanted to be hooked*
fix i bug created by svn merging
Call to start BC for GC is still present 2x. I left one so if the first doesn't work, it can be removed and the second will be used.
Add button to mount DVD drive. Not completely tested, but somewhat.
*Tested and working*
retail Wii DVD
Wii backup
Wii backup w/ alt dol (redsteel)
Wii backup w/ alt dol & ocarina (redsteel)
Wii backup w/ alt dol & WiiRD
Retail & Backup forcing video modes
Saving individual settings for games on DVD (only Wii as BC is loaded before any settings would be used)
Display disc images for DVD games
Loading GC games retail & backup (w/ working MIOS patch installed)
I did change some stuff after testing GC so it might be broken.
Theme stuff for the button is not tested and I'm not quite up to speed with ardi's changes to the theme stuff so it might not work.
Changed images are not compressed or optimized.
N O T E:
--------
- The old coords for the "sort & search" buttons
are obsolete and will be removed in future
- the gamelist, gamegrid and the gamecarousel have your
own coords (named the old coords with a prefix "gamelist_",
"gamegrid_" and "gamecarousel_")
- the search-button is e.g. themable over the new setting
"gamelist_search_coords=x,y", "gamegrid_search_coords=x,y"
and "gamecarousel_search_coords=x,y".
- a workaround, for old themes, sets (by using the old coords)
all buttons as previously, apart from favorite button.
The new search button is placed at the position from the
favorite button and the favorite button is placed to the left
side of the search button. That is necessary for old themes
to insert the search button between favorite and abc button.
This workaround will be removed in future
- for new themes must use the new coords.
- Themes for old and new loader can use both coords
(the important thing is that the old coords stands
before the new coords in the GXtheme.cfg)
Made function to check if a game has save data on the Wii nand. This can be used to allow/not allow booting certain alt dols. So far it is only called before 1 game, and it seems to work fine without issue.
make updated always the lang-files
now:
make -> builds only the boot.dol
make all -> builds the boot.dol and updated the lang-files
make lang -> only updated the lang-files
*NOTE*
it is possible to change any game ID to more or less than 6 characters, but since most of the functions use header->id[0] through [5], more will be useless and less may result in code dumps.
it is not advised to change the ID for games that are not custom, as the cover and wiitdb data will not be available for made up ID
it is possible to have multiple games with the same ID on the wbfs partition, but when any of them are clicked, the wii will perform the selected action (play, delete, etc) on the first one it finds.
INFO:
Here is what the options mean:
Only Originals - only download original disc images
Only Customs - only download custom disc images
Originals/Customs - download first original and if not available download custom disc images
Customs/Originals - download first customs and if not available download original disc images
*Added a ToolTip
*Added GameName under the covers
*Fixed Crash with no Favorites in list.
NOTE: I'll add a better coming out effect for the covers, for now there is only a slow big ZoomOut which isnt too bad either.
*Fixed the receiving of the wads. Now receiving directly to a device (Big files work now too (with sendelf they do, do not know about wiiload))
*Fixed to show the incoming IP and not the IP of the Wii
*Made changes on bootup. Now there is a small BootUp Screen for the slow HDD people. Waiting for 30Secs for their HDD.
Also messed with the run command within the makefile. press alt+r to compile the source code and then send the resulting dol to the wii.
*note*
you must have the environmental variable set up for wiiload. you don't need to have the .exe file, just the WIILOAD variable
formatted the code to make it easier to read. no functional changes at all.
i didn't put anything from the libwiigui folder or banner folder in the beautifier.
my automated .bat seems to have done a good job. the only places i see it fucked up was on (GXColor){blablabla}. it treated the brackets in the color like all the other brackets and put the color on a new line and indented it. i think i fixed most of them. not sure if it messed up anywhere else. also not sure about how it handled different linebreaks. it looks fine on windows. if it looks messed up on linux, it can be reverted.
the code still compiles and runs fine.