*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.
*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.
*Fixed filebrowser to cancel without applying the path
*Added A BGM Class
*Removed the BGM menu now.
You can now choose a file with the filebrowser which you want to play. This file will be played and all .mp3 .ogg and .wav in the same directory enlisted as a Playlist.
If you choose Loop Directory mode than the files are played one after another. You can also choose a play random music from directory mode.
* 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)
The libogc limits the MUTEX up to a count of 64.
Therefore we use "only one" global Mutex for all Elements.
This has to follow tath a lock hinder each thread
tath which tries access to any other element
Also the new Lock-Stuff uses one global mutex.
But this mutex is locked for the smallest time as
possible (Only in the lock- and unlock-process).
The threads are no longer hindered unnecessarily each other.
This speeds up the gui
* ogg decoder added (old oggplayer removed)
* mp3 decoder added (mp3's cane use as backgroundsounds)
* WAVE decoder added (but only uncompressed WAVE's)
* AIFF decoder added (only uncrompressed)
* BNS decoder added
all soundformats can use as backgroundsounds
dimoks GameSound class removed it is replaced with the new GuiSound stuff
* Many small fixes and other changes
NOTE: The images used right now for the theme loader are made out of our old images and if someone can make some new ones go ahead. The themes are downloaded to the path you can set up. The downloaded preview images are cached at "<set up theme downloadpath>/tmp/". The widescreenfix isn't implemented there yet because images will probably be changed.
*Started 3rd SettingsPage
*Added JPEG Loading GuiImageData function and 4x4RGBA converter by r-win from WiiXplorer
*Added ZipFile Class from WiiXplorer
*Added StringToMD5 and MD5ToString to MD5 functions and made it undependable of platform
*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.
- Differ the coordinates between 16:9 and 4:3,
can add a setting with a "w" as prefix
(e.g. sdcard_coord = 163,395 for 4:3
and wsdcard_coord = 170,395 for 16:9).
Isn't setted "w???._coord", the "normal"-coordinate
is used for both modes.
* added a new constructor for GuiImageData
currebtly the constructor is unused, i will use later
All options pages now contain the correct number of lines, which together with another adjustment should fix scrollbar alignment (issue 971).
Added missing scrollbar on custom paths page.
dimok fixed the file browser bug that prevented going back to the parent folder if the current folder was empty (issue 836).
Fixed parental control keyboard bug introduced in r750 (issue 976).
The free space text is now in correct order when the GUI is set to Japanese.
*Added a ToolTip
*Added GameName under the covers
*Fixed Crash with no Favorites in list.
NOTE: I'll add a better coming out effect for the covers, for now there is only a slow big ZoomOut which isnt too bad either.
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.
fix TXTcheatpath not being saved
made prompt and call you an idiot if you try to load in image that has bad dimensions.
added stuff from the cheat menu to be translatable
maybe fixed an issue with cheatcode names being too long and running on/off out of site
un comment sam & max fix. we were under the impression that it only worked from disc but somebody said that it is working from USB also with ios rev 10 or 13a. i have left out the ios checks to see if it works with any ios and also it is only on if the game ID matches one of the two listed on wiiboxart.com for this game.
drink a beer
*added RemoveSoundClick to guibutton prototype
*removed the click sound from Wii/Home button
*applied widescreen fix to arrow buttons in caroselle and grid
*Fixed effect GOROUND so that it doesn't cause alignment issues anymore (the format for this effect is very different than it originally was, if you plan on using it for something, look at the documentation in gui.h.
*Major revamp of gui_gamecarousel (everything is awesome and perfect, except it still can't launch games, and thus it is still not in the gui).
**gui_gamecarousel Notes:
*You can use the same technique as last time to test the carousel (except I recommend adding startat and offset to the line since I added support for it).
*I realized not everyone will agree for my choice of curvature and spacing for the games on the carousel, so I made them variable. At the top of gui_gamecarousel.cpp are a bunch of definitions that set up these values.
*SCALE determines the size of the game boxes.
*DEG_OFFSET is the number of degrees between the boxes (remember, changing the RADIUS will affect the linear distance each degree represents).
*RADIUS determines the curvature of the arc (higher radius makes it less curved).
*IN_SPEED determines the speed at which the boxes come in (higher number makes it faster).
*SHFIT_SPEED determines the speed at which the boxes move when you turn the carousel.
*PAGESIZE determines how many boxes are drawn (remember, the number of visible boxes is determined by DEG_OFFSET and RADIUS, with the default values you can see 7).
*Everything eles (the animations, position of the movement buttons, etc.) is automatically determined from these values (my 8th grade math teacher was right, trig isn't totally worthless), so you shouldn't need to change anything at all, except the aforementioned values (or the b0rken game launching code).
*If you find a set of values you think looks better than mine, post a picture and the list of values in an issue or on IRC.
*These will probably become theamable at some point, but I figure we should get this added to the gui first (I was hoping to do it tonight, but some stuff came up, and I need to go to bed).
Wow I write really long commit notes.
**Big Thanks to CorneliousJD for Hosting the DOLs)**
*Reverted ardi's stuff which made codedumps on the Download (sorry ardi commit it again when its fixed)
*Modified EFFECT_GOROUND so that it takes a center of rotation, angles work properly, and things don't move back.
*Updated the gui_gamecarousel files so that they are functional, shouldn't have any more code dumps, and use the EFFECT_GOROUND.
*The carousel button doesn't do anything anymore (since GOROUND was changed so much)
**Notes
*The easiest way test the carousel is to change guiGameGrid to guiGameCarousel in source/menu.cpp.
*If you compile with no modifications, the only noticeable difference is that the carousel button does nothing.
**Known Bugs in gui_gamecarousel
*The images dont line up horizontally (when shifting left they go too far left, and the same for shifting right). I think there is a rounding bug somewhere in GOROUND (I already fixed several).
*Cant hold down left and right to scroll yet
*Launching a game only works if the pointer is over two boxes
*If an image is growing when the carousel is turned, that button disapears
*If an image is grown when the carousel is turned, it wont shrink back
- 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)
* remove the Disk-Shadow from dialogue_box_startgame.png (themers will scream). The Shadow now drawing from Loader
* little changes for Widescreen-prompt-fix