Commit Graph

47 Commits

Author SHA1 Message Date
dimok789
070b77548a OK since the Wii System Menu Player is released now as I already mentioned the source for the loader will also be put on SVN again. Now that i am done with merging here is the MOD17 source.
Changelog since last revision:
- add banner/icon animation support for wii games / channels / gamecube
- add custom banner for gamecube which loads the gamecube internal opening.bnr information (it is much better than the generic one of the system menu) (big thanks to diddy from the wiithemeteam for creating the brlyt/brlan for the banner)
- add gamecube banner of system menu (not used right now since it sucks)
- add banner grid of the system menu (resources loaded from nand) (with button highliter)
- add big banner frame window of the system menu (resources loaded from nand). the banner window has buttons "Settings" and "Start" by default. if parental control is enabled the "Settings" button is replaced by "Back"
- add play count text to the banner frame window (can be disabled as up until now in the gui settings)
- add zoom in/out/scroll animations to banner grid and change into big frame window
- add loading gc banners from ISO and DVD
- add loading wii banners from DVD discs even if the game is not installed
- add favorite level setting to the game settings since it is no longer on the banner frame window
- add new settings section for banner settings
- add option to choose between disc window and banner window
- added back ehci module to support 2 usb drives and re-enabled the option
- add option for 2 usb drives for d2x cIOS as well (will be supported in the future, not yet)
- exchanged "GC Games" and "EmuNand Channels" on the game selection screen (more space for translators)
- add and fixed gui numpad for entering numbers of any kind
- add setting for tooltip delay time
- fix reload of cover image on game list when only 1 item is left after a change (e.g. sort)
- add use of old build in font for credits window because it doesnt look good with the system menu one
- fixed effect bug when scrolling buttons in the settings and the wiimote is over button 1
- fixed bug where entering -1 (Use global) for cIOS was not possible in game settings
- many source cleanups
- add bnr chace setting
- add DML configuration from the loader
- removed creation of temporary "boot.bin" file
- DML custom game paths.
  Additionally i added support for following forms of paths:
  1. configpath/gamepath/game.iso
  2. configpath/gamepath/game.gcm
  3. configpath/gamepath/GAMEID6.iso
  4. configpath/gamepath/GAMEID6.gcm
  Where gamepath can be anything you want inside the configure path in the custom path settings.
  I don't know if GCM files are allowed by DML but i just added support for it just in case.
  Changing path to USB is not blocked currently but games won't run from USB just keep that in mind.
  The "copy to SD before start" feature is not added yet. Listing the games should work though
- DML cheats now work the same way as for wii, gct goes to "Cheatcode Path" as GAMEID.gct (same as on wii)
- several DML internal configs are added as per game/global settings
- added load of last cheat configuration from GCT files
- added init of network into background thread so it is cancelable and has a timeout
- added gc games copy from USB to SD on demand with choice menu to delete SD games to make space, SD games path can be chosen seperately from main gc path.
  all dupicate sd games are prefered then the main path to allow direct boot of games that are already on sd. main path can be on USB or anywhere else.
- added gc disc dump functionality with multidisc, compress and align support (thanks to FIX94 and Overjoy for their disc dump source on which this is based)
- added selection menu for gc multidisc which game to install
- fixed loading game ID when it can't be read from path for GC games and with that loading the titles from GameTDB for them
- lots of string handling improvements (thanks to gerbilsoft for his patch)
- added gamecube banner cache loading (only loading) if available with GAMEID6.bnr or ID3.bnr in the banner cache path. wii games/channels also accept now ID3.bnr.
- added several progress bar cancel buttons on some missing progress windows
- improved calculation of progress speed. now it is always the last 15 secs average instead of overall progress speed.
- added pulsing new icon on banner grid layout for new games
- added resize of widescreen screenshots to 768 width
- added mii extract on save game extract if the file does not yet exists
- added mii extractor and SYSCONF extractor that always extracts and overwrites old files
- changed wifi gecko to UDP socket
- support for DML v1.2+

NOTE:
Banner animation support requires AHBPROT flag to be enabled. If you use old HBC you should use our forwarder or update the HBC otherwise you wont have that support.

I am hoping that now the themers and the translators can catch up with their stuff for the next upcomming official release.
2012-05-06 10:59:58 +00:00
strtoul
5b2f453d9e *Add DML support (thx goes to G0dLiKe, crediar, all DML devs and FIX94)
*restructured game settings for different types of games (Wii/GC/Channels)
*added uninstall option for emu nand channels and game cube games (iso only)
*add display of game size from wii disc games on game prompt
*add game size display for game cube games (iso only)
*force interlace mode on GC games except when explicitly used FORCE 480p PAL/NTSC
*removed mountMethod global variable which was annoying me very much
*some source cleanup
2012-02-09 21:18:16 +00:00
strtoul
fffd644e67 *added nunchuck to control of virtual screen pointer and removed it from control of list up/down scrolling and carousel
*fixed crash with 3D cover grabbing (old pointer method was still used)
*some clean up
2011-12-29 08:26:49 +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
dimok321
4ce0b624d1 *Added nand extract feature. You can extract everything or enter a path to a directory or file which to extract.
*Added cancel button to progress for extracting all saves or nand paths
2011-10-01 10:41:00 +00:00
dimok321
e504a5efc3 *Reworked option browser
*Fix crash in cheat menu when the browser has an empty entry
*Improved detection of not existing cheat txt files (404 Page Not Found)
*Added a per game save game extraction to emu nand (right now only from /title/00010000/, others will come when users report which are needed for which games :P)
*Added feature to extract all save games to emu nand
*Added proper message to install progress bar to show when install is really finished and a game list reload starts (wait time is taking too long sometimes)
*Fixed a little bug in the progress bar
*Several code optimizations
*Changed default make file build to IOS249 build since most people use d2x now
2011-09-23 23:49:18 +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
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
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
ae77bd1b7e *Added support for Wiimms virtual sector sizes for WBFS (sector sizes other than 512 bytes per sector). Sector sizes other than 512 bytes support more games than 500 (sector size - 12 games). You can just format your drive with Wiimms tools and use it.
*Changed USB Loader GX WBFS formatter to choose 2048 as virtual sector size if a drive with a size > 500GB is formatted.

NOTE: Don't use this feature with IOS58 mode. It might damage the partition. I did not build in a safety check for IOS58 mode because it will be removed soon anyway.
2011-02-04 15:25:27 +00:00
dimok321
ca55f426c0 *Fixed a few bugs in the multiple partition mount (causing crashes at some certain situations)
*Reworked the cover downloader completely. Now has an overall missing files count and progress. Also missing files not found on the server can be dumped to a csv file
*Added possibility to grad 3D Boxes and move them around in the zoomable mode
*Changed default setting for video mode back to disc default
2011-02-03 21:46:54 +00:00
dimok321
7db67e75af *Added several basic gui classes like drawing box/circle only with the GX engine without the need of a resource
*Created a checkbox class with them
*Changed the prompt window to a class
*Changed cover download to a checkbox selection of what you want to download. Changed discart download option to only switch between what is prioritized (original/customs)
*Fixed a little alignment issue of the progressbar
*Reverted the change for check disc in drive. Some drives couldn't handle it in IOS58 mode :\.
*Changed playcount from an 8 bit to a 32 bit counter (got 8bit by mistake) which limited it to 255
*a few little optimisations
2011-01-23 20:13:41 +00:00
dimok321
e6a87c05fe *Fixed display of partition size on WBFS partitions with a different wbfs sector size than 512bytes.
*Made the ProgressWindow for game installation more accurate
*Added displaying newly installed games (marked as new) on favorite list, so you don't have to change to full list when installing new games. (Thanks Cyan for the patch)
*Lot's a small fixes
*Added WDM Menu on game start. You can set it in the alternative DOL option (one new option there). The menu lists all DOLs on the disc and if a wdm file is provided in the WDM path (configurable in the settings) than the dol parameter and dol replacement name will be taken from the wdm. The DOLs that are not listed in the WDM but exist on the DISC will be listed at the end of the list.
*Added avoid of multiple app cleanup when game fails to boot

*Changed libfat to use FS info sector on FAT32 partitions. This speeds up the free space information getting to instant. For that the FS info sector has to have correct values. The values of all partitions where homebrews were writing to are currently incorrect because the official libfat does not support FS info sector (i submited a patch) (Windows does write it correct though). That is why there needs to be a synchronization of the FS info sector for partitions used with homebrews. For this purpose a new setting was added in the Loader Settings. You can synchronize all your FAT32 partitions on the USB with it once and you are done (if you don't write to that partition with current homebrews). After that you can enable free space display and it will be instant like on WBFS/NTFS/EXT partitions.
2011-01-16 13:12:07 +00:00
dimok321
6540e252dc *Fixed DVD access in IOS58 mode (needs AHBPROT)
*Cleaned up progress window source
*Fixed compile warning on devkitPPC r22
2011-01-14 15:39:42 +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
f7c1e9958d *Fixed crash on "pick alternative dol from list"
*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
2010-12-17 17:50:44 +00:00
dimok321
78ff6447a4 *Enums cleanup 2010-10-27 14:45:27 +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
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
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
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
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
dimok321
0908027ad8 *Fix for ntfs writing
*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!
2010-02-25 12:08:03 +00:00
e.bovendeur
ce5930f297 * Added Hermes rev5 support! (issue 1438)
* 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)
2010-02-22 21:29:47 +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
15bcbfa482 *Finished the background initialization thread for devices started by giantpune and merged it into trunk. Now you can startup the loader without a HDD. Also you can put in your device after startup and it will be recognized. Hot swapping not yet added (as in remove and than stick it in).
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).
2010-01-06 23:07:35 +00:00
dimok321
66b367c6a6 *Little correction 2009-12-13 09:26:34 +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
a09abe355f * Added FAT support (Issue 1054)
* 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)!!!
2009-11-15 19:52:58 +00:00
ardi@ist-einmalig.de
6d1178c26d optimized the font stuff 2009-10-19 23:09:27 +00:00
ardi@ist-einmalig.de
31cd4d03e2 revert dimok's stuff, because it makes too many trubble 2009-10-19 20:34:54 +00:00
dimok321
0c7ac826c3 Optimization Changes Part 2:
A few corrections to the changes in part 1:
*clock fix
*progressbar fix for language update
*GX DrawDone() changed
2009-10-17 22:50:42 +00:00
dimok321
3c6bf6523b Optimization Changes Part 1:
*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.
2009-10-17 20:48:52 +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
ardi@ist-einmalig.de
16b4e62c51 2009-09-27 18:19:53 +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
dimok321
1b9a56b877 *Added button to update/download all language files in the Language selection. The files are downloaded into the setuped path for languages.
*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
2009-07-29 20:32:14 +00:00
giantpune
0a95d75237 updated some images and deleted some old ones
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
2009-07-29 02:48:28 +00:00
dimok321
1aa2fde92f *Added SendElf / WiiLoad support for the Homebrew Launcher
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.
2009-07-23 17:24:08 +00:00
giantpune
9b713cee7c changed progress window to not use settile but instead use setskew. this way we are drawing 1 progressbar image every loop but stretched instead of 100 little images each loop.
put in prompt if you say to show favorites and you don't have any selected.
2009-07-07 11:06:51 +00:00
dimok321
8c28cab3cb *small compile fix 2009-07-05 20:28:10 +00:00
dimok321
79a7fd9017 *Changed whole GameInstall ProgressWindow behaviour
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)
2009-07-05 20:22:29 +00:00