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.
first try the 00000000.app with the system language, then with english.
if there is still no name for the title, look in banner.bin
also made a kick-ass clone of the wii settings screen to adjust the normal wii settings. it is after all the channels.
*Added URL_List class that gets all Links of an http url.
*Made HomebrewList class dynamic allocated like the URL_List class too now. This saves lots of unused memory.
*Small cleanups
NOTE: Punes made an update too (i didnt know he was doing it). We decided to have both in because of:
Punes update updates only the files that are available on the SD/USB and only when you are doing a complete update.
My update is downloading ALL files from the SVN Link (getting the whole list). These is mainly for people that are getting started or those who want to update the whole LanguageList
now, when doing a full update/full channel update, whatever .lang files are in the language path should get updated as well.
changed thread priority (70->75) for GX thread since it wasn't originally created to be drawing as many different images at once as we are throwing at it. hopefully this will fix some of the black artifacts that are popping up on the screen during the gameinfo and homebrew info windows.
disable the screen while saving wad to sd because idiots were misusing it and breaking shit
change the exit prompt so you can exit to HBC even if you didn't came from there
·Add tooltips to NavBar
·Nodisc.png & noimage.png (cover 3d or flat) for theme need to be place in your theme folder now (more easy to install theme)
Warning: if you use a custom nodisc.png/noimage.png, now you need to let it in the theme folder (so download theme, and just load it, no need to move images anymore)
·Made littles modif on the new file browser for title of custom path match with those from the setting windows (less heavy for the .lang file)
added check for GXglobal.cfg on the USB at startup. now if anny of the following are met, it will cause USB to be used as your bootDevice:
argv[0] gets passed on startup and it is usb
any of these files are on your USB drive.
USB:/config/GXglobal.cfg || USB:/apps/usbloader_gx/boot.elf || USB:/apps/usbloadergx/boot.dol || USB:/apps/usbloadergx/boot.elf || USB:/apps/usbloader_gx/boot.dol
put in a filter to hide the xxxA factory duplicate channels.
*NOTE* In testing, all channels booted fine with system menu 4.1u installed. None booted with 3.2u installed.
· add sdcard_over.png and browser_over.png (neorame, if you want done an over effect like for wii button)
· Made the sdcard & homebrew button themeable with over feature,
· Add translatable tooltip to the hombrew button
· Add some translation forgotten in sources.
-add polish local
-remove wiitdb.zip download option (for your personal wiitdb.zip use the link create option of the loader)
*Add new wifi/internet icon and wii channel icon for the mini hbc (have to add in the loader by a cover, you know im not a .....)
raise the coder to char[100] because we have a shitload of names on there
add param int t=0 to the get entries function to force getting all games and ignore settings and parental control
fix bug that code dumped if you didn't have the database.txt for the channel names
made the channel browser read database.txt. The text should be in the config path (because i couldn't think of a better place for it). And the format for the txt is the first 3 chars of the 4 char ID, then any 1 character, then the name (read up to 51 chars.
eg.
ULN USB Loader GX Full Channel
HAX Homebrew Channel
HAT Nintendo Channel
The database for ATD mod follows this format, so its a great place to start. If people are going to be passing around a database, it would be wise to keep custom channels off this, as my WADD that says WadManager is not the same as somebody else's WADQ which could be a self destruct or something.
Commented out the code that loads titles.txt. It was reported that this file is keeping WiiSportsResort from loading on some Wiis. And it isn't needed anymore since there is the xml file with all the names in it. I left the code in though in case somebody thinks that it is actually useful.
Added 1 more game to the list of known alt dols.
no button to create a new file and a little bug with the scrolling, but better than typing stuff in.
added channel launcher. currently doesnt show the actual name, only the u32 and ID. also, it is only showing 0x00010001 channels, so no Mii, weather, or other crappy channels, just the good stuff.
fixed bug that showed the MacOS hidden files as extra homebrew entries.
NOTE 1: For this the network has to be initialized!! You can initialize the network with the button at the right bottom of the
Homebrew Launcher or by AutoInit Network.
*Added background Network initialize
*Added AutoUpdateCheck if AutoInit Network Setting is turned on. You will get a prompt if a new Update is available.
NOTE: AutoInit Network can be turned on under GUI Settings.
IMPORTANT NOTE: All those features require network being initialized. Be aware that when network is initialized some games seem
to not want to run, this means its lowers the game load compatibility. Most of the games don't have any problem with it but some
do. Thats why there is an option for the AutoInit Network.
added more alt dol#s to the list
made the homebrewBtn movable in the theme
use homebrew_coords = x,y
move the xml loading from during the cfg loading to the menu_check so it happens after video is init and we have drawn something. maybe this will fix the garbled screen somepeople see while it loads.
make the homebrew menu read the XML data from meta.xml file. put this data on the homebrew buttons and prompt. there is 4 structs created globally that hold the XML daa. i tried to make them pointers but i got errors so i'll leave it like this and let dimok fix it :P
change homebrew icon image and move it a bit.
hide the homebrew button if godmode!=1
maybe fix issue 722. i don't have a spare drive to test it.
fix grammatical error in the settings.
fix long game name overflow on the gameinfo screen
switch the homebrew buttons to use the new HBCwindowprompt(). none of the meta.xml data is passed yet so the prompt looks pretty naked.
*Added HomebrewFiles Class
NOTE 1: In settings/custompaths you can change the HomebrewPath and the standard is SD:/apps/. Our browser searches for EVERY .dol and .elf file in the directory even if its not called boot.dol.
NOTE 2: Giantpune and me tested the homebrewbooting and it worked for every homebrew we tested except our own application. (a bit ironic)
NOTE 3: Right now the information on the Buttons is the path to the Homebrew. This and the BootPrompt will be replaced with the XML information inside the path of the homebrew later but for now i am taking a break
NOTE 4: Right now the button to the HomebrewMenu is next to WiiMenuButton and has the same image as the listgamebrowser. I didnt have any images so i took what i had and cyrex will change the images when he is back. Also there will be a no icon image added later.
Added option to download txtcode if none is found. The error checking for this is really weak so you might get a "file not found" page saved as a cheat text. But its bettor than nothing.
*Added Browser for AlternateDOL from disc feature
NOTE: Right now the browser isn't working right and crashing from time to time so you i would not recommend to use it yet. It's also showing all files on the disc for test purpose. I'll try to fix it later right now i don't have time for it.
*Changed some minor codes and moved cheats to its own folder
new vars are
firstLine = 1;
numLines = -1;
totalLines = 1;
totalLines is not changed until the text is set to wrap and Draw() is called 1 time.
The other 2 are set with functions.
new functions are
void GuiText::SetNumLines(int n)
void GuiText::SetFirstLine(int n)
int GuiText::GetNumLines()
int GuiText::GetFirstLine()
int GuiText::GetTotalLines()
int GuiText::GetLineHeight(int n)
These should be self explanatory. GetLineHeight relies on total lines so it needs to be called after the first Draw();
Raised the chars[] to 3000 for the synopsis because people are writing books in there.
Used those new fancy functions make the synopsis fit in the info window. Press up/down to scroll the text. Arrows may come later for the buttons. Also put a home buttononlytrigger on the game prompt. moved disable mainWindow to the beginning of the infoprompt to keep from loading images and stuff from the sd at the same time we are reading the xml file.
NOTE: This option is ONLY for those who have problems with their HDDs being detected. With this disabled you shouldn't get weird lists where all Games are the same or no Games at all.
This should fix the weird freezes and crashes while
installing. The ProgressWindow is now in its own thread
and updates the values fast again.
*Added Speed to InstallProgressWindow
Lets see who got the fastest WiiDiskDrive :P (i got up to 5.8MB/s)
*Downloads the images depending from which country the game is
There are still missing images so please everyone who wants to help please add them on www.wiitdb.com. ;)
added checks for all the servers to verify what they are giving us. also added more bad image sizes to the list.
it is all commented out now. uncomment all the new stuff it the download function to use it.
fix TXTcheatpath not being saved
made prompt and call you an idiot if you try to load in image that has bad dimensions.
added stuff from the cheat menu to be translatable
maybe fixed an issue with cheatcode names being too long and running on/off out of site
un comment sam & max fix. we were under the impression that it only worked from disc but somebody said that it is working from USB also with ios rev 10 or 13a. i have left out the ios checks to see if it works with any ios and also it is only on if the game ID matches one of the two listed on wiiboxart.com for this game.
drink a beer
*Added Playcounter Reset to GameSettings (545 fixed the PlayCounter not GameCounter :P)
*Added global PlayCounter reset function (its not used yet)
*Probably fixed the issue some HDDs had ("No partition found")
*Probably fixed cursor disappearing after downloading update
NOTE: This fix is for games like Ghostbusters which don't work under IOS249 Rev10. With this fix on, this games work on Rev10 and you don't need to switch the cIOS all the time to play those games. For this option it is necessary that you turn ERROR 002 FIX ON.
NOTE: This Block IOS Reload option enables games to work that don't usually work due to IOS Reloads. This option works ONLY if you boot your Loader in 222 and boot the game in 222/223)
NOTE: There is a GameSettings you need to turn ON to load Alternate DOLs. The alternate DOL has to be called 6 IDs .dol for example RHDP8P.dol and has to be in the root of the SD. Giantpune will add custom path support i dont have time for it.
*Added 16:9 forwarder
*Changed video mode change behaviour
*Added new GameSetting "Online fix"
NOTE: Online fix is ONLY needed if you initialize network inside the loader and start an Online Game and ONLY if your boot cios is the same as GameSettings IOS (which is default). That Game would need an IOS Reload before start to be able to play it online BUT this IOS Reload mostly causes Blackscreens. I made this option so you dont have to avoid initializing network. If you have different boot IOS than gamesettings IOS this fix doesnt matter too.
*Changed the Updater source in some ways and added an own thread for it for later AutoUpdate feature (when gamestarting problem after networkinit is fixed)
*Added Japanese UnicodeFix made by Rudolph (thanks) (you still need to compile with a japanese font.ttf to have it work)
*Added missing languagevariables
issue 517, issue 515, issue 519
NOTE: If your loader is rebooting when you try to start a game its because you initialized Network! Right now initializing the network by trying to update or trying to download covers/discimages the Loader has Issues with booting games. Try booting games directly without initializing the Network.
NOTE: When you change Global cIOS boot you need to restart for it to take effect.
NOTE2: Best way of launching games (most compatibility) is avoiding an IOS Reload by not initializing the network and not have different boot IOS than the one set in GameSettings.
NOTE3: Know issue: IOS249 boots slower now at the starts. IOS222 boots fast as always.
Also, use flat 2d covers, the fake 3d ones look like shit on this. and if you have your wii in 4/3 mode it wont show anything (i don't think it will. i didn't test it).
Boot-Strategy:
- is "argv[0]" set, then the boot-device extracted from the argv.
- if no meaningful boot device found, then looking for
"boot.dol"/"boot.elf" in "apps/usbloader_gx/"
first on "SD:/" and then on "USB:/".
When found, than use this Device. Otherwise use the default "SD:"
- Set all default-Paths on this Device
- Set the Path for config-Folder, GXGlobal.cfg, GXGameSettings.cfg
and GXGameFavorites.cfg on this Device (e.g. USB:/config and so on)
NOTE: This is a temporary and fast solution till DrayX7 is back since he started it already and i don't have the time right now to do it. This should fix most of the codedumps at starting up games (if not loaded from carousel).
*Lots of small fixes
*Added Error002fix selection in GameSettings
**NOTE 1: You might want to delete your Configfiles before using this new Rev.
**NOTE 2: Known issue with Settings is that WiiMotePointer is sometimes being displaced. I am searching for the reason right now.
*Merging CleanUp source into main.
NOTE: You might not want to update right away because there might still be some issues. New issue reports to this are of course welcome ;).
*Added missing "Update to" to languages.
Changelog:
Finnish (final v2 by JussiPik) UPLOADED
Dutch (final v2 by kedest, Adr990) UPLOADED
Turkish (final v1 by aHMET-) UPLOADED
German (final v1 by Didibochum, NeoRame) UPLOADED
T.Chinese (final v3.2 by kyogc) UPLOADED
S.Chinese (final v1 by pc9528) UPLOADED
Korean (final v3 by pooyan, rainplus) UPLOADED
French (final v3.8 by satel, Kin8) UPLOADED
Norwegian (final v4 by raschi) UPLOADED
Danish (final v1.7 by david432111) UPLOADED
Spanish (final v5.9 Penn) UPLOADED
Russian (final v1.2 by Kir) UPLOADED
PortuguesePortugal (final v10 by sky8000) UPLOADED
PortugueseBrasil (final v1 by artidoro) UPLOADED
Italian (final v4 by foxejoe) UPLOADED
Japanese (final v1.1 by yasun) UPLOADED
Swedish (final v1 by noONE) UPLOADED
* clean up the wild mounts and unmounts (this and the new libfat fix the download-bug)
* reorganize shutdowns and reboots use now the functions Sys_Reboot(), Sys_Shutdown(), Sys_ShutdownToIdel(), Sys_ShutdownToStandby() and Sys_BackToLoader()
this functions stops the GUI-Thread, Shutdowns the Audio, Video, WPad and unmounts the SD and USB
*added RemoveSoundClick to guibutton prototype
*removed the click sound from Wii/Home button
*applied widescreen fix to arrow buttons in caroselle and grid
*Added Carousel back in
*Changed UMS Heapsize which increases compatibility for some HDD Devices with cIOS38 Rev12
**NOTE: If anyone encounters any HDD detection problems which start from this rev on, make an issue and we can revert that thing.
*Changed CACHE and SECTOR size for SD Cards what increases the loading speeds
if anyone's cards get compatibility problems now with saving or other stuff report as issue and it will be reverted)
*Fixed browsers not getting darker when going into HOME Menu
*Removed MP3 Menu
*Added Patch Country Strings (thanks to WiiPower and SoftChip Team)
Note: "This is an option for import games only. If you have problems with that try this option. Mostly japanese users need that.
*some other small fixes
**Note 2: Right now the loader is having some issue with IOS Reload. If you initialized network and try to run a game and its not working its due to that bug. I am trying to find why it isnt working right now. FreetypGX is making codedumps on there sometimes (ardi look into it you missed something).
** Also there is a new libogc in our download in which there are new libfat and libogc files. If you had issues with SD they might now be fixed, so try it out.
*Fixed effect GOROUND so that it doesn't cause alignment issues anymore (the format for this effect is very different than it originally was, if you plan on using it for something, look at the documentation in gui.h.
*Major revamp of gui_gamecarousel (everything is awesome and perfect, except it still can't launch games, and thus it is still not in the gui).
**gui_gamecarousel Notes:
*You can use the same technique as last time to test the carousel (except I recommend adding startat and offset to the line since I added support for it).
*I realized not everyone will agree for my choice of curvature and spacing for the games on the carousel, so I made them variable. At the top of gui_gamecarousel.cpp are a bunch of definitions that set up these values.
*SCALE determines the size of the game boxes.
*DEG_OFFSET is the number of degrees between the boxes (remember, changing the RADIUS will affect the linear distance each degree represents).
*RADIUS determines the curvature of the arc (higher radius makes it less curved).
*IN_SPEED determines the speed at which the boxes come in (higher number makes it faster).
*SHFIT_SPEED determines the speed at which the boxes move when you turn the carousel.
*PAGESIZE determines how many boxes are drawn (remember, the number of visible boxes is determined by DEG_OFFSET and RADIUS, with the default values you can see 7).
*Everything eles (the animations, position of the movement buttons, etc.) is automatically determined from these values (my 8th grade math teacher was right, trig isn't totally worthless), so you shouldn't need to change anything at all, except the aforementioned values (or the b0rken game launching code).
*If you find a set of values you think looks better than mine, post a picture and the list of values in an issue or on IRC.
*These will probably become theamable at some point, but I figure we should get this added to the gui first (I was hoping to do it tonight, but some stuff came up, and I need to go to bed).
Wow I write really long commit notes.
**Big Thanks to CorneliousJD for Hosting the DOLs)**
*Reverted ardi's stuff which made codedumps on the Download (sorry ardi commit it again when its fixed)
*Modified EFFECT_GOROUND so that it takes a center of rotation, angles work properly, and things don't move back.
*Updated the gui_gamecarousel files so that they are functional, shouldn't have any more code dumps, and use the EFFECT_GOROUND.
*The carousel button doesn't do anything anymore (since GOROUND was changed so much)
**Notes
*The easiest way test the carousel is to change guiGameGrid to guiGameCarousel in source/menu.cpp.
*If you compile with no modifications, the only noticeable difference is that the carousel button does nothing.
**Known Bugs in gui_gamecarousel
*The images dont line up horizontally (when shifting left they go too far left, and the same for shifting right). I think there is a rounding bug somewhere in GOROUND (I already fixed several).
*Cant hold down left and right to scroll yet
*Launching a game only works if the pointer is over two boxes
*If an image is growing when the carousel is turned, that button disapears
*If an image is grown when the carousel is turned, it wont shrink back
- Added exit menu to the settings (no more going back to main menu needed to exit the loader)
- Changed the buttons for gamelist (favorites, sort by name etc.)
*Added DefaultSettings Button and a DefaultGameSettings Button.
*Fixed OGG Menu to not codedump on path change and auto add '/' if not entered like on paths
*Some small fixes
- DOTTED: cuts the text and appends "..."
- SCROLL: scrolls the text
* added dotted/scrolled text for gamebrowser, gamepromt and so on (more will come later)
* remove CFG.maxcharacters and THEME.maxcharacters (no more needed)
*Seperated the functionality of show favorites and sorting (so you can show only favorites and sort however you want).
*Fixed some bugs with sorting.
**Known Bugs:
*If the loader is started with show favorites on, and it is then turned off, it code dumps (if you have less than 10 games favorited).
*If you change the favorite status of a game it resets the play count.
Please do not create issues about these, they will be fixed soon.
**Note:
*There is a new libogc package in the downloads section, you don't have to update, but it is recommended.
* Game prompt now displays how many times a game has been played. (cap of 255 will be fixed)
* Added buton on main window to view only favorited games. (Known Bug: If this button is pressed with no favorite games, the loader will crash)
* remove the Disk-Shadow from dialogue_box_startgame.png (themers will scream). The Shadow now drawing from Loader
* little changes for Widescreen-prompt-fix
*Fixed Creditscrash (noticed that giantpune can't count lol)
*Fixed European Keyboard missplaced
*Pimped the Home Menu (sound and stuff and a lot of fixes)
*Fixed last compile warning thx to DRayX7
*Added S.Chinese Unicode Fix thx to pc9528
*Added some new Language Variables (check out Wiki)
*Added Languages to SVN
*Added titles.txt path changeable
*Changed CONFIGFILENAMES to GXGlobal.cfg, GXGameSettings.cfg and GXtheme.cfg !!!
Finnish (final v2 by JussiPik)
Dutch (final v2 by kedest, Adr990)
Spanish (final v1 tlozano)
French (final v1 by Amour)
T.Chinese (final v1 by kyogc)
*Fixed one bug that you couldnt get to FormatMenu
*Added USB functions, not yet implemented (they dont work under cIOS249/cIOS222, only under IOS36 (original). right now function only works if partition 1 is fat/fat32)
*Added new directory creation function. Now you set unlimited subfolders for covers/discimages. The programm creates the subfolders automaticly on download now.
*Added cover/discimage/theme path edit through global settings
*Changed if no password is set, you are always godmode (even after reloading GUI). If you have password set: the unlock is only till you leave.
*Fixed Error -128 for cIOS222 (I think, please report if not)
"Boot Loader in" is only TO BOOT THE LOADER IN THAT SETTING. If you want to boot the game in 222 too change it in the GAMESETTINGS.