Commit Graph

58 Commits

Author SHA1 Message Date
wiidev
0ac4d8249c Fixes for GCC 11 2021-08-01 18:00:15 +01:00
wiidev
e25c4e25f0 Support newer versions of devkitPPC 2020-12-12 21:35:12 +00:00
cyan06
6a2d30beb3 * Updated tinyXML to tinyXML2 v4.0.1 (GreyWolf) 2016-11-06 15:01:54 +00:00
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
16cf771891 *removed necessary syncing of partition header on installation of games (fix for the long wait on 100% game install)
*added init of the game partition uppon starting a game install without previously having the "wii game mode"
*added cheat update button to redownload the cheat text file
*the partition size text is now only shown if the partition was initialized
*fix in return to patch (bug added with r1135). the old method of patching was always used even on d2x.
*a few code cleanups
2011-12-28 09:55:00 +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
dimok321
49e0122ac0 Release Candidate 1:
*Changed everything from WiiTDB to GameTDB (using new host and name)
*Added quick switch between system font and old font (fixed memory leak in font change)
2011-10-21 18:48:10 +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
cf21f13f39 *Fixed use of mem2 memory. When MEM1 run out it freezes in libogc :\. Preventing it from running out completely now. (Thanks to NJ7 for all the tests he ran)
*Improved memory usage on category xml creation. Thanks to NJ7 for all the tests he ran here too)
*Changed TinXML to not throw an exception on every allocation fail but to return a 0 pointer
*Fixed crash with categories and disabled "Titles from WiiTDB"
*Compilation fix (forgot to remove some xml.h)
*little fix in themes xml downloader (thx dj_skual)
2011-06-26 21:38:05 +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
a3495651f0 *Added support for starting .wbfs game files from fat32/ntfs partitions on a sector size > 512 (tested with 4096)
*modified libcustomfat and ntfs fragment fetch function to support >512 bytes per sector
*Added new ehcmodule (thanks rodries)
*Added real support of using both ports simultaniously without shutting down the other (thanks rodries for the ehcmodule works on this). There is no longer the limitation that the settings have to be on SD card for this. (ONLY HERMES CIOS)
*Moved a few settings to Feature Settings and added a new Hard Drive Settings
*Changed Wiinnertag path to only point to the path and not to the file. You must correct the path manually in custom path settings or reset you configs for this change or Winnertag won't work!!
*Removed a few compile warnings for devkitPPC R23
2011-06-22 17:57:37 +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
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
2adc6cc995 *Completely rewrote the asynchron GuiImageData class (problems from switch Carousel<->Grid layour should be fixed now)
*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
2010-12-19 18:20:33 +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
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
2570d6dae8 *Fixed crash on start i made in last rev by mistake
*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 ;).
2010-10-28 09:00:52 +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
37c23c7676 * Moved minizip sources into a more approriate place.
* Removed unzip sources. Using lib unzip instead.
These changes might require a make clean before building.
2010-09-24 12:57:38 +00:00
eraserxl
772859ecbc * Unified formating of source files. 2010-09-24 00:48:03 +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
9e79c9d99b * remove little unused code
* code cleanup
2010-09-18 23:16:05 +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
dimok321
3f9cdb5468 *Revert to R883 and only keeping the new game directory layouts commited by r-win
*Moved R896 to the branch
2010-01-19 10:48:50 +00:00
dimok321
d16ba4ed6c *Fix for startup problems. Especially for those with wiitdb.
*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
2010-01-17 23:59:59 +00:00
dimok321
063072a6c9 *Changed Theme Download to parse XML now
*Removed punes headlessID because it doesnt allow a start of the loader over SendElf anymore
2009-12-12 18:04:35 +00:00
e.bovendeur
441a203678 * Added BETA upgrades option (to download the latest revisions from google code)
* 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)
2009-12-10 20:27:36 +00:00
lustar.mii
c97c887775 For people who use two partitions (FAT32 and WBFS), wiitdb.zip won't be overwritten anymore when they update. The file is now loaded and saved as wiitdb_(partition).zip, so you can switch partitions and keep titles/infos. If wiitdb_(partition).zip is not found it loads wiitdb.zip. When exiting settings, the partition is now reloaded only when needed. WiiTDB update should work again for people who own more than 240 games. Fixed a rare crash that could be issue 1083. 2009-11-22 16:42:53 +00:00
giantpune
7b0af4f19d fix compile warnings from devkit r18 2009-10-14 21:59:13 +00:00
e.bovendeur
1cc7d3acd6 * Added initial support for the new wiiload (compressed protocol), uncompressed protocol is also supported
* 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).
2009-09-30 23:10:58 +00:00
ardi@ist-einmalig.de
572bae91d6 strncpy guarantees not tath the result will be null-terminated.
replaced all strncpy with strlcpy if its necessary
2009-09-28 16:05:11 +00:00
lustar.mii
6a789e8b78 Changed database/artwork code for Portuguese from PO to PT. Fixed issue 871 (theme for game info page). 2009-08-28 15:52:53 +00:00
lustar.mii
dd1700db8e Added sound after successful disc installation (823). Battery indicator turns red when power is down to 1/4 like on the original Wii menu (456). Fixed code dump when setting "standard" music (602). Updated gecko codes URL to geckocodes.org (834), enabled reading CRLF txt files from geckocodes.org. Enabled longer synopsis text so that existing game descriptions aren't cut on the game info page (but please keep them short, this is for descriptions, not reviews). 2009-08-07 16:10:54 +00:00
lustar.mii
5ef0f1afe5 Added line breaks to synopsis (A) on game info page (2). 2009-08-05 05:45:17 +00:00
lustar.mii
324358e7e1 Simplified Chinese/Traditional Chinese should now be detected if the GUI language is set to "default". Simplified Chinese/Traditional Chinese is now supported for titles,synopsis and artwork (http://wiitdb.com/Game/RSPW01). 2009-08-03 13:25:50 +00:00
lustar.mii
8fef0223c5 The default language is now detected so if your language is available on the Wii you don't need to set it in the loader. The database language follows the main language setting, you don't need to set the Game language in addition to enabling "title from xml" to see titles/synopsis anymore. Fixed titles reloading when the GUI language changed. Added new accessories and icons on the game info page. The homebrew browser slide factor now goes up to 11. 2009-08-01 07:40:22 +00:00
giantpune
30535c6f5d *code beautification*
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.
2009-07-30 05:41:12 +00:00
giantpune
c9b7cf70b4 now if the name of installed channels is not in the database.txt, we try to fine it from inside the channel itself.
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.
2009-07-30 02:54:08 +00:00
lustar.mii
f52b0c71a9 Added check to prevent the full wiitdb.zip from being loaded. If you have the file but don't see any info use the Update All feature or the custom URL from the .txt file mentioned previously. 2009-07-22 15:09:11 +00:00
dimok321
8fd2bbdb01 *Cleanups to the Homebrew XML stuff
*Added HomebrewXML class
2009-07-20 18:53:28 +00:00
giantpune
a02013f03f put in a possible "fix" for the disappearing cursors that some people are getting. when menu_disclist is called the cursors are deleted and recreated. so at least if they do go away, this may make them come back.
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
2009-07-20 14:20:27 +00:00
giantpune
18489a8858 load xml at startup and keep it in memory instead of each time the game info is called. it adds 1 second to my startup time with 100+ games. just testing to see if breaks anything doing it like this now that the xml is much smaller. 2009-07-18 11:04:13 +00:00
lustar.mii
e5efd8f221 When updating, the downloaded wiitdb.zip will now only contain the game descriptions for the language the Wii is configured to. 2009-07-17 13:00:56 +00:00
giantpune
57f0ce0ed4 Added functions/vars to GuiText to allow showing & hiding rows when it is wrapped.
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.
2009-07-13 11:19:31 +00:00
giantpune
63a5de42ca Made 002fix automatic when anti-002 is turned on. Didn't test it at all. If it breaks games it can be reverted.
Made tooltip transparency in the theme file.  use tooltipAlpha = ###.   default is 255 (max).
2009-06-20 10:10:40 +00:00
lustar.mii
92441e56b2 2009-06-20 00:32:10 +00:00