Commit Graph

41 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
dimok789
1d598eed90 *change font character texture to I4 which uses half as much memory (less cache memory)
*fix crash on missing <app> tag on meta.xml files
*removed pngu which is not needed, changed screenshot function to use libgd instead
*fix gui freeze after uninstall
*fix resorting of game list after uninstall
*fix bug in aif decoding (fixes some banner sounds)
*fix bug in wav decoding (fixes some banner sounds)
*added new option to force titles from disc header
*changed if "Titles from WiiTDB" is not enabled they will be loaded from directory names if possible (on force from disc that is not tried).
*some language files update
2012-02-29 19:52:36 +00:00
strtoul
c7411c9200 *added option to adjust screen for overscan TVs
*optimized use of memory (sizes over 30kb go to mem2 now first till it runs out)
*avoid use of mem2 area used on IOS_Reload (first 2 mb)
*fixed bug in aiff sound playback. breaked some banner sounds
*fixed boot of We Dare again (stupid channels added in the pattern again :P)
*unmount the usb partition used for nand emu and remount it after activating nand emu (fat32 cache flush)
2012-02-05 18:38:26 +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
8a21f92f0b USB Loader GX
*Properly sync video after flush to avoid possible green flash
*Moved argument command line also to mem2 to avoid overwrite of it

Forwarder V4:
*Changed to new app_booter method (see WiiXplorer SVN)
*Properly sync video after flush to avoid possible green flash
*Centered background image and corrected aspect ratio
2011-07-25 17:50:03 +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
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
1d2854c777 *Fixed issue 1808
*Fixed issue with crashing carousel when switching from empty game list to none empty list.
*Added download for Full HQ & LQ Covers. When both are checked HQ Covers are prioritized.
*Added support for Full HQ & LQ Covers:
Full covers are currently used only in the GameInfo Screen (Press 2). The Box can be rotated in there with the Nunchuck. When the box is clicked it will jump to the midlle of the screen. Here it can be rotated with Nunchuck & Wiimote D-Pad. Also it can be zoomed in/out with the PLUS or MINUS buttons. Zoomed in covers are currently cut off when going too far into the screen because the axis had to be layed to the middle to keep the symmetry. Don't report issues about that. It's known. Another use of full covers might follow with a new layout if we think of something nice ;).
*Added support for different box colors. Box colors are taken from WiiTDB so if you get a wrong color complain at WiiTDB :P.
2011-01-30 16:22:16 +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
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
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
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
eraserxl
772859ecbc * Unified formating of source files. 2010-09-24 00:48:03 +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
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
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
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
662266d3fd *Fixed the clicking problem and some speed issues because of that 2010-01-07 10:33:57 +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
5058a6688d *Added a prompt after a theme was downloaded which asks if you want to apply the downloaded theme
*Changed GuiDrawThread priority to maximum. This seems to take care of the vanishing WiiMotePointer problem (let's see if it works. If anyone notices a slowdown of any process caused by this revision, please report.)
2009-12-28 16:05:16 +00:00
giantpune
999e8c1817 *add a little debug text after the GUI if loaded from HBC to help track
down the ocarina issues

*take the IOS reload out of the slow usb loop

*use patchhook.S from new geckoOS.  this doesnt mean all the new geckoOS
stuff will work, its just the S file
2009-12-24 08:33:53 +00:00
giantpune
cb628348d6 *fix possible buffer overflow in GCT code array
*fix the gamelist from starting with 1 game on the list
*added fucntion for making screenshots and put it in a few loops. 
triggers are GC(Z), CC(left-Z), nunchuk(Z).  no comfirmation is given
except over usb gecko.  but files are saved in <boot device>/config/
USBLoader_GX_screenshot<date><time>.png
*took out some annoying prompts from the bannersound functions because
they were really annoying
2009-12-20 04:26:30 +00:00
giantpune
55a401e4a5 lots of changes here
changed gprintf() to use crediar's method because it is smaller and works just the same.

allow r-win's debug printf() stuff to be sent to the gecko to reduce redundant stuff there 

issue 1073.  headless mode - allow game to be booted via argv[1].

took out all the params from the exitprompt since they aren't used.

took out all the #ifdef stuff for building for a wii.  obviously this wont run on a gamecube so it isn't needed.

added a way to check what version of a IOS is installed before trying to boot into it.  added IOS_ReloadIOSsafe(). this should stop idiots with the 4.2 stubs from bitching about why stuff doesn't work.

use that check so you only see the "222v4 is needed" prompt in the settings if you don't already have that installed.

fix issue 1039. (must still be compiled without NO_DEBUG defined because technically WiiRD is a debugger)
2009-12-03 01:06:09 +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
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
47201c807a *Changes in the Banner Class. Now loading the TPL files into memory and display from there. 2009-07-19 17:48:15 +00:00
dimok321
928020b32f *Added AlternateDOL from disc feature
*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
2009-07-15 17:20:45 +00:00
thedarkness1981
3906d0fe32 Added Menu_DrawTPL and Menu_DrawTPLMem
and Banner Class (WIP)
2009-07-13 00:57:30 +00:00
dimok321
a38c04d73a *Updated to new libogc (you need to update libogc files to be able to compile)
*Added Metaphrasis to the source instead of having it as lib
2009-07-08 21:25:35 +00:00
dimok321
8601abdf29 *Sorting files a bit 2009-06-13 00:24:36 +00:00
giantpune
d31a034d18 fixed some code dumps from the coverwall and the xml stuff. 2009-06-11 08:13:08 +00:00
giantpune
ad05aa93c1 Changed the game grid just a little bit. Press up/down to change the number of rows. if you have less that 42 or 16 games it wont let you use 3 or 2 rows respectively. ( at least that was the plan. it may not work that way.)
also made functions to skew buttons and images used for this.
2009-06-10 10:05:43 +00:00
ardi@ist-einmalig.de
5cf5cd6ae7 * added two new wrapmodes for gui_text "DOTTED" & "SCROLL"
- 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)
2009-05-22 22:36:55 +00:00
ardi@ist-einmalig.de
e42e38eca2 change Disk-Shadow (looks better) 2009-05-20 21:58:59 +00:00
ardi@ist-einmalig.de
52fbd15569 * add a nice effect for the GamePromt. To aktivate set in Setup: Flip-X=DiskFlip
* remove the Disk-Shadow from dialogue_box_startgame.png (themers will scream). The Shadow now drawing from Loader
* little changes for Widescreen-prompt-fix
2009-05-20 20:09:57 +00:00
ardi@ist-einmalig.de
1768998644 Added mutex/mutexlock to synchronize the GuiThreads and the MainThread, again clockfont edited (bearing of "1") 2009-05-06 22:36:28 +00:00
dimok321
c152f5c3d4 *Added Standard IOS option to global settings. This decides with what IOS the Loader is gonna boot next. 2009-05-03 18:53:31 +00:00