Commit Graph

350 Commits

Author SHA1 Message Date
Cyan
4991bb2552 * Updated Libfat to 1.0.13
* Fixed compiling with DevkitPPC r27 (1 warning left)
* Added throw exception to some buffers
* Fixed DEVO config name
2015-03-08 16:49:07 +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
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
a66a30a771 *removed buggy focus system completely (it was never working correct)
*added support to control screen pointer with gc pad or classic controller. you are always able to control as long as the corresponding wii control does not point to the screen (e.g. wiimote 1 not pointing to screen -> gcpad/classic controller 1 can control pointer 1). a speed factor is added to the gui option. need feedback about a proper default value, currently 15% (only tested gc pad on dolphin-emu)
*fix reinit of cheatcount on download of new file
*moved installation window to be on top of main window
*added game installation cancel
*added nand extract cancel
*added back extract of save feature for a real nand channels
*added auto position of progress window messages in vertical direction depending of how many are used at the same time
2011-12-28 16:27:30 +00:00
strtoul
616b1bdf4c - add check for the covers of the currently inserted disc to the cover downloader (is checked with the other games in the list)
- fix booting wii discs when starting without a HDD (channel mode)
- add parental control option to block priiloader override on return to system menu
- add prompt asking for downloading new language files when trying to update and no language files exist yet
- reduced amount of checks for inserted disc (now every 100ms)
- fixed booting gamecube games (datatype bug for mount method)
- fix winnertag for gamecube games
- add per game nand emu path setting
2011-12-20 21:41:00 +00:00
strtoul
c51b2304c2 * added nand channel emulation (big thanks to TriiForce guys and Miigotu for laying out the foundation)
* added direct list of emu nand channels without activating emu nand (for speed up)
* removed autoclose of search bar and changed the search engine to have both methods
* added setting for switching "Beginning" and "Content" search methods and a quick switch button on search window
* added autocomplete if only one search character is available and more than one match
* added seperate path and setting for emu nand channels/saves
* added caching of emu nand channel titles
* fixed a few alignment issues when activating emu nand (thanks daveboal)
* some minor clean ups

TODO/Next Rev:
* add channels banner sounds
* remove unneeded game settings options on channels
2011-11-12 18:14:09 +00:00
dimok321
cad13f704c *Fixed Nand Emu on d2x v7 alpha versions for USB (thanks davebaol)
*Added check for d2x IOS for Nand Emu again (now it's valid)
*Added different hooktype and wiird debugger (see "Loader Settings") (thanks GeckoOS for the sources)
2011-07-29 20:59:31 +00:00
dimok321
973d8b2005 *Fixed compile error
*Converted every 4 spaces to a tab to make the source consistent on those
2011-07-25 22:28:22 +00:00
dimok321
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
1913aea194 *Added custom Game Categories switchable in main menu and selected/adjustable in game settings menu. Own categories can be added and applied to games. A multiple category selection is supported in showing and assigning.
*Fix homebrew browser indicator counter (thx dj_skual)
*Fix We Dare anti piracy protection (thx oggzee)
*Fix Wip patching
*IOS reload block working with d2x v6 beta1+ with all filesystems
*Changed CheckBox Cross to squareroot sign
*Added auto detection of the usb port on start with Hermes cIOS (allowing startup without waiting 20s for USB port 1) (was build in in rodries ehcmodule, thx!)
*With new d2x v6 beta1+ sector sizes other than 512 bytes per sector should be supported on ext/ntfs (maybe fat too) (NOT TESTED, need feedback)
2011-06-03 20:31:09 +00:00
dimok321
052c6d4591 RC1 upload:
*update of ehcmodules for Hermes IOS supporting now more drives (thanks rodries again)
*added ignore case sensitivity on NTFS (hopefully it works as good as it sounds)
*fixed homebrew receiving in homebrew launcher via network
*changed video switching code to the one from Wiiflow
*allow ',' as floating point '.'
*Fix of reloading titles after wiitdb update
*reset all other button clicks on carousel when two or more buttons are clicked at once
*a few code optimizations
*fixed compile bug on OSX (Issue 1844 and Issue 1132)
*language files updated
2011-03-14 21:19:21 +00:00
dimok321
6d6f0f2243 *Added a widescreen factor to the settings which defines how much the images should be scaled down in X-Axis to look like widescreen. This value is usually 640/854=0.75 but might be not "looking good" for some people, so it is a setting now. It is applied to covers/buttons/windows (on set widescreen prompts)/several images
*Added a font scale factor to the settings. This font scale resizes the overall font sizes. Only full integer font sizes are supported. The font scale factor is multiplied to the font size of a text and the result is rounded and used as the font size. It's a good quick fix for too big fonts.
*Fixed GAMEID_GAMETITLE folder game layout
2011-02-25 18:18:57 +00:00
dimok321
e11901bc09 *Changed FreeTypeGX to use IA4 textures for font glyphs (saves a bit memory)
*Fixed cutoff of box cover when it is too near and increased zoom range of the box cover. Reworked the move/zoom of the cover.
*Change wiimote icon when grabbing and dragging the box cover to grab icon
*Fixed bug in homebrew browser (crash)
*Changed a few default GX view configurations
*Use proper size of wiimote pointer image instead of hard coded values
*Reworked scroll/B hold movement stuff from the game list layout
*Removed buildtype.sh and added the define directly in makefile. No need to make an extra header for that.
*Changed makefile a to allow different IOS build modes. The build IOS is used at the start of the loader to load the settings under. If the build IOS is the same as the settings boot IOS the startup is a lot faster since no IOS reload is required. 
To build yourself a special IOS build version type:"make IOS=XXX" where XXX is the number of the IOS (CSettings.cp has to be recompiled for that at least). If nothing is defined IOS222 is taken. There will now be always two versions supplied (IOS222 and IOS249 version). If another build is required build it yourself. You can see the revisions until now as the "IOS249 build version" since they behaved like that.
2011-02-21 19:41:48 +00:00
dimok321
25946236ab *Added a "Theme Menu" to the global settings
*Fixed apply on theme downloader after redownloading a theme
*Removed old theme changing menu (no one ever found it anyway)

NOTE: If a theme now includes a "theme_preview.png" in the image folder, it will be shown in the Theme Menu. If it does not have one than when downloading a theme, the loader will copy the preview from the theme downloader to the theme image folder.

NOTE to Themers: Just fyi, if you badly need to use another format than png for the images whyever, than just do so. Just rename the file from the actual format extension to .png extension. The loader will detect that it is not really a png and use the correct format. Supported image formats by USB Loader GX are png/gif/bmp/jpg/tpl.
2011-02-05 14:46:06 +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
8943592d0e *Fixed several theme images being not loaded. Made all recourses from SVN now themable (sounds/fonts/images). They only have to be in the same folder as the theme images.
*Ignore sector size of wbfs partitions in MBR (some lazy Partition Manager don't change it). Reading it from the partition header now.
*Several small bug fixes and cleanups
*Fixed "Bannersound + BG Music after it" mode
*Updated language files
2011-01-08 12:35:41 +00:00
dimok321
798ebc188d *Corrected clock position (copy/paste mistake)
*Corrected Screensaver appearance on startup after 30sec of unconnected WiiMote
*Complete rewrite of theme downloader. (Downloading themes is not working currently because Deak Phreak changed something on wii.spiffy360.com. He said it's going to be changed back soon)
*Added possibility to load theme images from a folder with the same name as the .them file. The "Image-Folder: Example\n" from the .them file is prioritized.
*Updated some language files. (Translators please redownload the files from SVN. Many files had a lot of errors in them)
2011-01-02 09:23:44 +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
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
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
3f03d92295 *Reworked all update functions
*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
2010-12-18 13:20:45 +00:00
dimok321
9da497419c *Fixed settings loading on boot up
*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
2010-11-28 15:31:08 +00:00
dimok321
1ee6897ef5 *Rewritten the whole Homebrew Launcher (HBC menu) to a class. Using now the new settings standard too. Only Titles browser left.
*Fixed several gui_customoptionbrowser issues
*Fixed missing background on title browser
2010-11-14 15:19:42 +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
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
6baa46b1e6 *Clean up in partition mount/format process
*Clean up in game boot process
2010-10-27 19:50:48 +00:00
dimok321
78ff6447a4 *Enums cleanup 2010-10-27 14:45:27 +00:00
dimok321
a4f3d16a56 *Added support for all the currently new IOS stuff. Stole a few modules/plugins from WiiFlow here :P. (Tested Hermes 222 v5.1 base 38 and Waninkoko 249 base 57)
*Added support for older Hermes IOS too (rev 2 and rev 3)
*Changed Alternative Dol Browser to get the filelist (fst) with functions from libwbfs (like banner sounds) instead of from an emulated disk. This should fix all the weird crashes with it.
2010-10-01 15:01:19 +00:00
giantpune
8f94b1dde8 * check pointer before checking strlen of it ( crash fix when selecting a channel to return to )
* enable alt-dol again.  still no auto-menu, but at least the games are playable
2010-10-01 00:26:16 +00:00
giantpune
444d2dbe79 *removed all the switches at the end of menu.cpp
* removed duplicate 002 parameter in constructors
* pass setting parameter directly to the patching functions instead of making another variable just for this
* probably broke something
2010-09-30 05:45:21 +00:00
dimok321
c5c5708e12 *Fix for image resource manager 2010-09-26 18:19:45 +00:00
dimok321
8bec876889 *Removed ramdisk
*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.
2010-09-26 08:33:43 +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
dimok321
88969ffb9f *Theme Class made and removed all the crap from cfg.c
*Lots of changes due to that regarding themes (The very old theme format was completely dropped)
2010-09-24 17:58:56 +00:00
dimok321
f8c1692809 little optimization 2010-09-24 13:46:32 +00:00
eraserxl
772859ecbc * Unified formating of source files. 2010-09-24 00:48:03 +00:00
eraserxl
05825a3231 * Fixed routine for slow USB devices.
* Minor refactoring of Ios loading algorithm.
2010-09-23 23:47:51 +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
dd4704cce3 * brought back the return-to patch complete with settings and shit to click on
* in the global settings you can select any 0x10001 title that is actually installed in the nand.  in the game settings, you can decide whether or not to use the global setting for that 1 game.
2010-09-19 10:53:24 +00:00
dimok321
2547b9a2a5 *Video widescreen fix when set up in cfg 2010-09-19 08:13:06 +00:00
giantpune
9e79c9d99b * remove little unused code
* code cleanup
2010-09-18 23:16:05 +00:00
giantpune
e1a36e8988 * move title stuff into a class
* 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
2010-09-18 23:04:39 +00:00
dimok321
1902318e4e *Cleaned up the game list get and filter process for all filter modes and made a class out of that. Noticable speed up in all loading gamelist processes with that. Bye bye shitty getentries.cpp. 2010-09-18 11:46:25 +00:00
dimok321
787dd53a46 *Removed Metaphrasis (not used anymore)
*Changed WPAD/PAD handle and moved functions to appropiate locations
*some code optimizations
2010-09-17 17:48:16 +00:00
dimok321
044c48a1bc *Added loop for WBFS init back in
*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.
2010-09-17 15:15:21 +00:00
dimok321
64f8406b07 *Mem2 fix
*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.
2010-09-16 19:59:41 +00:00
dimok321
f0ca11506b *WIP Patch fix. WIP patches should work now. Tested and confirmed for PoP.
WIP Patches will be only accepted in the following format (let's not invent thousands of different formats):
In 3x 4 bytes columns separated by a space (no ":" allowed)
offset | original address | overwrite address 

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

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

*A few fix ups in different places
2010-05-29 15:43:19 +00:00
r-win
8a4e192022 - Reverted to 921
- Removed no disc in drive patch
- DoGameHooks should be called always
2010-05-29 07:38:54 +00:00