finalize 3.0.0

This commit is contained in:
dborth 2009-04-13 19:48:24 +00:00
parent 1fcad359e0
commit f1cdef4213
8 changed files with 487 additions and 368 deletions

BIN
hbc/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

9
hbc/meta.xml Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<app version="1">
<name>FCE Ultra GX</name>
<coder>Tantric</coder>
<version>3.0.0</version>
<release_date>20090413</release_date>
<short_description>Nintendo Emulator</short_description>
<long_description>A port of FCE Ultra 0.98.12 to the Wii.</long_description>
</app>

View File

@ -1,7 +1,7 @@
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
- FCE Ultra GX -
Version 2.0.9
Version 3.0.0
http://code.google.com/p/fceugc
(Under GPL License)
@ -9,8 +9,7 @@
FCE Ultra GX is a modified port of the FCE Ultra 0.98.12 Nintendo Entertainment
system for x86 (Windows/Linux) PC's. With it you can play NES games on your
Wii/GameCube. Version 2 is a complete rewrite based on code from the
SNES9x GX project.
Wii/GameCube.
-=[ Features ]=-
@ -33,7 +32,22 @@ SNES9x GX project.
|0O×øo· UPDATE HISTORY ·oø×O0|
`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨'
[What's New 2.0.9 - January 27, 2009]
[3.0.0 - April 13, 2009]
* New GX-based menu, with a completely redesigned layout. Has Wiimote IR
support, sounds, graphics, animation effects, and more
* Thanks to the3seashells for designing some top-notch artwork, to
Peter de Man for composing the music, and a special thanks to shagkur for
fixing libogc bugs that would have otherwise prevented the release
* Onscreen keyboard for changing save/load folders and network settings
* Menu configuration options (configurable exit button, wiimote orientation,
volumes)
* Configurable button mapping for zapper
* New save manager, allowing multiple saves and save browsing. Shows
screenshots for Snapshot saves, and save dates/times
* SMB reconnection feature
* ISI issue fixed
[2.0.9 - January 27, 2009]
* Fixed a major memory corruption bug in FCE Ultra 0.98.12
* Faster SD/USB - new read-ahead cache
* Removed trigger of back to menu for Classic Controller right joystick
@ -44,7 +58,7 @@ SNES9x GX project.
* Fixed some memory leaks, buffer overflows, etc
* Code cleanup, other general bugfixes
[What's New 2.0.8 - December 24, 2008]
[2.0.8 - December 24, 2008]
* Fixed unstable SD card access
* Proper SD/USB hotswap (Wii only)
* Auto-update feature (Wii only)
@ -55,7 +69,7 @@ SNES9x GX project.
* Rewritten RAM/state saving - old state saves are now invalid
* Minor bug fixes
[What's New 2.0.7 - November 19, 2008]
[2.0.7 - November 19, 2008]
* Special thanks to eke-eke & KruLLo for contributions, bugfixes, and tips
* Video code rewritten - now has original, unfiltered, filtered modes
* Zoom option
@ -74,7 +88,7 @@ SNES9x GX project.
folder as the DOL (eg: apps/fceugx/settings.xml)
* GameCube - Added DVD motor off option
[What's New 2.0.6 - October 21, 2008]
[2.0.6 - October 21, 2008]
* Right audio channel corruption fixed (thanks cyberdog!)
* Low pass audio filter turned off (muffles audio)
* Changed to alternate audio filter
@ -82,13 +96,13 @@ SNES9x GX project.
* Cheesy/2X video filters fixed
* Qoob Pro modchip support for GameCube (thanks emukidid!)
[What's New 2.0.5 - October 19, 2008]
[2.0.5 - October 19, 2008]
* Sound bug fixed - thanks eke-eke!
* High quality sound enabled, lowpass filter enabled
* Video threading enabled
* Fixed timing error (incorrect opcode)
[What's New 2.0.4 - October 15, 2008]
[2.0.4 - October 15, 2008]
* Wii DVD fixed
* FDS BIOS loading works now
* FDS disk switching now consistently works with one button press
@ -99,21 +113,21 @@ SNES9x GX project.
* Changed GC controller mappings - Select - Z, Start - Start,
Home - Start+A, Special - L
[What's New 2.0.3 - October 1, 2008]
[2.0.3 - October 1, 2008]
* Complete rewrite of loading code - FDS / UNIF / NSF support added!
* VS games work (coin insert submitted by pakitovic)
* Mapping of 'Special' commands - VS coin insert, FDS switch disk (default A)
* 480p and DVD now available for GameCube
* Improved stability - less crashes!
[What's New 2.0.2 - September 19, 2008]
[2.0.2 - September 19, 2008]
* Fixed network freeze-up problem
* Zapper now mapped to A and B
* Fixed auto-save feature
* Performance slowdowns on Gamecube should be fixed
* Will now attempt to load old save states with CRC filename
[What's New 2.0.1 - September 6, 2008]
[2.0.1 - September 6, 2008]
* Zapper support! Turn this on in the Controller Settings - most games
require you to have the Zapper on Port 2. Thanks go to aksommerville whose
previous work on the Zapper helped, and michniewski's cursor code
@ -123,7 +137,7 @@ SNES9x GX project.
* Start/Select reversed mapping fixed for Wii controllers
* Small bug fixes / improvements / tweaks
[What's New 2.0.0 - September 1, 2008]
[2.0.0 - September 1, 2008]
* Complete rewrite based on code from SNES9x GX and Genesis Plus GX
* Wiimote, Nunchuk, and Classic controller support
@ -215,38 +229,44 @@ FCE Ultra 0.98.12 for Windows before asking for help.
Mappers are the way the Nintendo handles switching from ROM/VROM so the more
that are supported the more games will work.
000 . 112 . 113 . 114 . 117 . 15 . 151 . 16 . 17 . 18 . 180 . 182 . 184 . 187
189 . 193 . 200 . 201 . 202 . 203 . 208 . 21 . 22 . 225 . 226 . 227 . 228 . 229
23 . 230 . 231 . 232 . 234 . 235 . 240 . 241 . 242 . 244 . 246 . 248 . 24 . 26
25 . 255 . 32 . 33 . 40 . 41 . 42 . 43 . 46 . 50 . 51 . 57 . 58 . 59
6 . 60 . 61 . 62 . 65 . 67 . 68 . 69 . 71 . 72 . 73 . 75 . 76 . 77
79 . 8 . 80 . 82 . 83 . 85 . 86 . 88 . 89 . 91 . 92 . 95 . 97 . 99
-[ Emulator Options ]-
Screen Scaler - How to scale the screen: GX, Cheesy or 2x
Palette - The colors used while viewing the game:
Default . loopy . quor . chris . matt
pasofami . crashman . mess . zaphod-cv
zaphod-smb . vs-drmar . vs-cv . vs-smb
Timing - NTSC or PAL (Depends if you're running a PAL or NTSC game)
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
-=[ Credits ]=-
GameCube/Wii Port v2.x Tantric
GameCube/Wii Port v1.0.9 askot & dsbomb
GameCube Port v1.0.8 SoftDev
FCE Ultra Xodnizel
Original FCE BERO
libogc Shagkur & wintermute
Testing tehskeen users
Coding & menu design Tantric
Menu artwork the3seashells
Menu sound Peter de Man
Logo design mvit
And many others who have contributed over the years!
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
FCE Ultra GX GameCube SoftDev,
askot & dsbomb
FCE Ultra Xodnizel
Original FCE BERO
libogc/devkitPPC shagkur & wintermute
FreeTypeGX Armin Tamzarian
And many others who have contributed over the years!
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤

View File

@ -51,6 +51,8 @@ extern const u32 icon_settings_png_size;
extern const u8 icon_home_png[];
extern const u32 icon_home_png_size;
extern const u8 icon_game_settings_png[];
extern const u32 icon_game_settings_png_size;
extern const u8 icon_game_cheats_png[];
extern const u32 icon_game_cheats_png_size;
extern const u8 icon_game_controllers_png[];

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1113,8 +1113,7 @@ static int MenuGame()
GuiImageData btnCloseOutlineOver(button_small_over_png);
GuiImageData btnLargeOutline(button_large_png);
GuiImageData btnLargeOutlineOver(button_large_over_png);
GuiImageData iconCheats(icon_game_cheats_png);
GuiImageData iconController(icon_game_controllers_png);
GuiImageData iconGameSettings(icon_game_settings_png);
GuiImageData iconLoad(icon_game_load_png);
GuiImageData iconSave(icon_game_save_png);
GuiImageData iconReset(icon_game_reset_png);
@ -1180,37 +1179,22 @@ static int MenuGame()
resetBtn.SetTrigger(&trigA);
resetBtn.SetEffectGrow();
GuiText controllerBtnTxt("Controller", 24, (GXColor){0, 0, 0, 255});
GuiImage controllerBtnImg(&btnLargeOutline);
GuiImage controllerBtnImgOver(&btnLargeOutlineOver);
GuiImage controllerBtnIcon(&iconController);
GuiButton controllerBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
controllerBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
controllerBtn.SetPosition(-125, 250);
controllerBtn.SetLabel(&controllerBtnTxt);
controllerBtn.SetImage(&controllerBtnImg);
controllerBtn.SetImageOver(&controllerBtnImgOver);
controllerBtn.SetIcon(&controllerBtnIcon);
controllerBtn.SetSoundOver(&btnSoundOver);
controllerBtn.SetSoundClick(&btnSoundClick);
controllerBtn.SetTrigger(&trigA);
controllerBtn.SetEffectGrow();
/*GuiText cheatsBtnTxt("Cheats", 24, (GXColor){0, 0, 0, 255});
GuiImage cheatsBtnImg(&btnLargeOutline);
GuiImage cheatsBtnImgOver(&btnLargeOutlineOver);
GuiImage cheatsBtnIcon(&iconCheats);
GuiButton cheatsBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
cheatsBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
cheatsBtn.SetPosition(125, 250);
cheatsBtn.SetLabel(&cheatsBtnTxt);
cheatsBtn.SetImage(&cheatsBtnImg);
cheatsBtn.SetImageOver(&cheatsBtnImgOver);
cheatsBtn.SetIcon(&cheatsBtnIcon);
cheatsBtn.SetSoundOver(&btnSoundOver);
cheatsBtn.SetSoundClick(&btnSoundClick);
cheatsBtn.SetTrigger(&trigA);
cheatsBtn.SetEffectGrow();*/
GuiText gameSettingsBtnTxt("Game Settings", 24, (GXColor){0, 0, 0, 255});
gameSettingsBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage gameSettingsBtnImg(&btnLargeOutline);
GuiImage gameSettingsBtnImgOver(&btnLargeOutlineOver);
GuiImage gameSettingsBtnIcon(&iconGameSettings);
GuiButton gameSettingsBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
gameSettingsBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
gameSettingsBtn.SetPosition(-125, 250);
gameSettingsBtn.SetLabel(&gameSettingsBtnTxt);
gameSettingsBtn.SetImage(&gameSettingsBtnImg);
gameSettingsBtn.SetImageOver(&gameSettingsBtnImgOver);
gameSettingsBtn.SetIcon(&gameSettingsBtnIcon);
gameSettingsBtn.SetSoundOver(&btnSoundOver);
gameSettingsBtn.SetSoundClick(&btnSoundClick);
gameSettingsBtn.SetTrigger(&trigA);
gameSettingsBtn.SetEffectGrow();
GuiText mainmenuBtnTxt("Main Menu", 24, (GXColor){0, 0, 0, 255});
GuiImage mainmenuBtnImg(&btnOutline);
@ -1287,8 +1271,7 @@ static int MenuGame()
w.Append(&saveBtn);
w.Append(&loadBtn);
w.Append(&resetBtn);
w.Append(&controllerBtn);
//w.Append(&cheatsBtn);
w.Append(&gameSettingsBtn);
#ifdef HW_RVL
w.Append(batteryBtn[0]);
@ -1320,12 +1303,7 @@ static int MenuGame()
batteryBtn[3]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_IN, 35);
#endif
saveBtn.SetEffect(EFFECT_FADE, 15);
loadBtn.SetEffect(EFFECT_FADE, 15);
resetBtn.SetEffect(EFFECT_FADE, 15);
controllerBtn.SetEffect(EFFECT_FADE, 15);
//cheatsBtn.SetEffect(EFFECT_FADE, 15);
w.SetEffect(EFFECT_FADE, 15);
AutoSave();
}
@ -1374,18 +1352,10 @@ static int MenuGame()
PowerNES();
menu = MENU_EXIT;
}
else if(controllerBtn.GetState() == STATE_CLICKED)
else if(gameSettingsBtn.GetState() == STATE_CLICKED)
{
ControllerWindow();
menu = MENU_GAMESETTINGS;
}
/*else if(cheatsBtn.GetState() == STATE_CLICKED)
{
cheatsBtn.ResetState();
if(Cheat.num_cheats > 0)
menu = MENU_GAME_CHEATS;
else
InfoPrompt("Cheats file not found!");
}*/
else if(mainmenuBtn.GetState() == STATE_CLICKED)
{
if(gameScreenImg)
@ -1423,11 +1393,7 @@ static int MenuGame()
batteryBtn[3]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
#endif
saveBtn.SetEffect(EFFECT_FADE, -20);
loadBtn.SetEffect(EFFECT_FADE, -20);
resetBtn.SetEffect(EFFECT_FADE, -20);
controllerBtn.SetEffect(EFFECT_FADE, -20);
//cheatsBtn.SetEffect(EFFECT_FADE, -20);
w.SetEffect(EFFECT_FADE, -20);
usleep(200000); // wait for effects to finish
}
@ -1732,6 +1698,201 @@ static int MenuGameSaves(int action)
return menu;
}
/****************************************************************************
* MenuGameSettings
***************************************************************************/
static int MenuGameSettings()
{
int menu = MENU_NONE;
GuiText titleTxt("Game Settings", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM);
GuiSound btnSoundClick(button_click_pcm, button_click_pcm_size, SOUND_PCM);
GuiImageData btnOutline(button_png);
GuiImageData btnOutlineOver(button_over_png);
GuiImageData btnLargeOutline(button_large_png);
GuiImageData btnLargeOutlineOver(button_large_over_png);
GuiImageData iconMappings(icon_settings_mappings_png);
GuiImageData iconVideo(icon_settings_video_png);
GuiImageData iconController(icon_game_controllers_png);
GuiImageData iconCheats(icon_game_cheats_png);
GuiImageData btnCloseOutline(button_small_png);
GuiImageData btnCloseOutlineOver(button_small_over_png);
GuiTrigger trigA;
if(GCSettings.WiimoteOrientation)
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_2 | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
else
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
GuiTrigger trigHome;
trigHome.SetButtonOnlyTrigger(-1, WPAD_BUTTON_HOME | WPAD_CLASSIC_BUTTON_HOME, 0);
GuiText mappingBtnTxt("Button Mappings", 24, (GXColor){0, 0, 0, 255});
mappingBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage mappingBtnImg(&btnLargeOutline);
GuiImage mappingBtnImgOver(&btnLargeOutlineOver);
GuiImage mappingBtnIcon(&iconMappings);
GuiButton mappingBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
mappingBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
mappingBtn.SetPosition(-125, 120);
mappingBtn.SetLabel(&mappingBtnTxt);
mappingBtn.SetImage(&mappingBtnImg);
mappingBtn.SetImageOver(&mappingBtnImgOver);
mappingBtn.SetIcon(&mappingBtnIcon);
mappingBtn.SetSoundOver(&btnSoundOver);
mappingBtn.SetSoundClick(&btnSoundClick);
mappingBtn.SetTrigger(&trigA);
mappingBtn.SetEffectGrow();
GuiText videoBtnTxt("Video", 24, (GXColor){0, 0, 0, 255});
videoBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage videoBtnImg(&btnLargeOutline);
GuiImage videoBtnImgOver(&btnLargeOutlineOver);
GuiImage videoBtnIcon(&iconVideo);
GuiButton videoBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
videoBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
videoBtn.SetPosition(125, 120);
videoBtn.SetLabel(&videoBtnTxt);
videoBtn.SetImage(&videoBtnImg);
videoBtn.SetImageOver(&videoBtnImgOver);
videoBtn.SetIcon(&videoBtnIcon);
videoBtn.SetSoundOver(&btnSoundOver);
videoBtn.SetSoundClick(&btnSoundClick);
videoBtn.SetTrigger(&trigA);
videoBtn.SetEffectGrow();
GuiText controllerBtnTxt("Controller", 24, (GXColor){0, 0, 0, 255});
GuiImage controllerBtnImg(&btnLargeOutline);
GuiImage controllerBtnImgOver(&btnLargeOutlineOver);
GuiImage controllerBtnIcon(&iconController);
GuiButton controllerBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
controllerBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
controllerBtn.SetPosition(0, 250);
controllerBtn.SetLabel(&controllerBtnTxt);
controllerBtn.SetImage(&controllerBtnImg);
controllerBtn.SetImageOver(&controllerBtnImgOver);
controllerBtn.SetIcon(&controllerBtnIcon);
controllerBtn.SetSoundOver(&btnSoundOver);
controllerBtn.SetSoundClick(&btnSoundClick);
controllerBtn.SetTrigger(&trigA);
controllerBtn.SetEffectGrow();
GuiText cheatsBtnTxt("Cheats", 24, (GXColor){0, 0, 0, 255});
GuiImage cheatsBtnImg(&btnLargeOutline);
GuiImage cheatsBtnImgOver(&btnLargeOutlineOver);
GuiImage cheatsBtnIcon(&iconCheats);
GuiButton cheatsBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
cheatsBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
cheatsBtn.SetPosition(125, 250);
cheatsBtn.SetLabel(&cheatsBtnTxt);
cheatsBtn.SetImage(&cheatsBtnImg);
cheatsBtn.SetImageOver(&cheatsBtnImgOver);
cheatsBtn.SetIcon(&cheatsBtnIcon);
cheatsBtn.SetSoundOver(&btnSoundOver);
cheatsBtn.SetSoundClick(&btnSoundClick);
cheatsBtn.SetTrigger(&trigA);
cheatsBtn.SetEffectGrow();
GuiText closeBtnTxt("Close", 22, (GXColor){0, 0, 0, 255});
GuiImage closeBtnImg(&btnCloseOutline);
GuiImage closeBtnImgOver(&btnCloseOutlineOver);
GuiButton closeBtn(btnCloseOutline.GetWidth(), btnCloseOutline.GetHeight());
closeBtn.SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
closeBtn.SetPosition(-30, 35);
closeBtn.SetLabel(&closeBtnTxt);
closeBtn.SetImage(&closeBtnImg);
closeBtn.SetImageOver(&closeBtnImgOver);
closeBtn.SetSoundOver(&btnSoundOver);
closeBtn.SetSoundClick(&btnSoundClick);
closeBtn.SetTrigger(&trigA);
closeBtn.SetTrigger(&trigHome);
closeBtn.SetEffectGrow();
GuiText backBtnTxt("Go Back", 24, (GXColor){0, 0, 0, 255});
GuiImage backBtnImg(&btnOutline);
GuiImage backBtnImgOver(&btnOutlineOver);
GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight());
backBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
backBtn.SetPosition(100, -35);
backBtn.SetLabel(&backBtnTxt);
backBtn.SetImage(&backBtnImg);
backBtn.SetImageOver(&backBtnImgOver);
backBtn.SetSoundOver(&btnSoundOver);
backBtn.SetSoundClick(&btnSoundClick);
backBtn.SetTrigger(&trigA);
backBtn.SetEffectGrow();
HaltGui();
GuiWindow w(screenwidth, screenheight);
w.Append(&titleTxt);
w.Append(&mappingBtn);
w.Append(&videoBtn);
w.Append(&controllerBtn);
//w.Append(&cheatsBtn);
w.Append(&closeBtn);
w.Append(&backBtn);
mainWindow->Append(&w);
ResumeGui();
while(menu == MENU_NONE)
{
VIDEO_WaitVSync();
if(mappingBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAMESETTINGS_MAPPINGS;
}
else if(videoBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAMESETTINGS_VIDEO;
}
else if(controllerBtn.GetState() == STATE_CLICKED)
{
ControllerWindow();
}
/*else if(cheatsBtn.GetState() == STATE_CLICKED)
{
cheatsBtn.ResetState();
if(Cheat.num_cheats > 0)
menu = MENU_GAMESETTINGS_CHEATS;
else
InfoPrompt("Cheats file not found!");
}*/
else if(closeBtn.GetState() == STATE_CLICKED)
{
menu = MENU_EXIT;
exitSound->Play();
bgTopImg->SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
closeBtn.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
titleTxt.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
backBtn.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
bgBottomImg->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
btnLogo->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
w.SetEffect(EFFECT_FADE, -20);
usleep(200000); // wait for effects to finish
}
else if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAME;
}
}
HaltGui();
mainWindow->Remove(&w);
return menu;
}
/****************************************************************************
* MenuGameCheats
*
@ -1751,7 +1912,7 @@ static int MenuGameCheats()
options.length = i;
GuiText titleTxt("Cheats", 28, (GXColor){255, 255, 255, 255});
GuiText titleTxt("Game Settings - Cheats", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
@ -1785,21 +1946,6 @@ static int MenuGameCheats()
backBtn.SetTrigger(&trigA);
backBtn.SetEffectGrow();
GuiText closeBtnTxt("Close", 22, (GXColor){0, 0, 0, 255});
GuiImage closeBtnImg(&btnCloseOutline);
GuiImage closeBtnImgOver(&btnCloseOutlineOver);
GuiButton closeBtn(btnCloseOutline.GetWidth(), btnCloseOutline.GetHeight());
closeBtn.SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
closeBtn.SetPosition(-30, 35);
closeBtn.SetLabel(&closeBtnTxt);
closeBtn.SetImage(&closeBtnImg);
closeBtn.SetImageOver(&closeBtnImgOver);
closeBtn.SetSoundOver(&btnSoundOver);
closeBtn.SetSoundClick(&btnSoundClick);
closeBtn.SetTrigger(&trigA);
closeBtn.SetTrigger(&trigHome);
closeBtn.SetEffectGrow();
GuiOptionBrowser optionBrowser(552, 248, &options);
optionBrowser.SetPosition(0, 108);
optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
@ -1807,7 +1953,6 @@ static int MenuGameCheats()
HaltGui();
GuiWindow w(screenwidth, screenheight);
w.Append(&backBtn);
w.Append(&closeBtn);
mainWindow->Append(&optionBrowser);
mainWindow->Append(&w);
mainWindow->Append(&titleTxt);
@ -1829,23 +1974,7 @@ static int MenuGameCheats()
if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAME;
}
else if(closeBtn.GetState() == STATE_CLICKED)
{
menu = MENU_EXIT;
exitSound->Play();
bgTopImg->SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
closeBtn.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
titleTxt.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 35);
backBtn.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
bgBottomImg->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
btnLogo->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 35);
w.SetEffect(EFFECT_FADE, -20);
usleep(200000); // wait for effects to finish
menu = MENU_GAMESETTINGS;
}
}
HaltGui();
@ -1855,222 +1984,6 @@ static int MenuGameCheats()
return menu;
}
*/
/****************************************************************************
* MenuSettings
***************************************************************************/
static int MenuSettings()
{
int menu = MENU_NONE;
GuiText titleTxt("Settings", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM);
GuiSound btnSoundClick(button_click_pcm, button_click_pcm_size, SOUND_PCM);
GuiImageData btnOutline(button_png);
GuiImageData btnOutlineOver(button_over_png);
GuiImageData btnLargeOutline(button_large_png);
GuiImageData btnLargeOutlineOver(button_large_over_png);
GuiImageData iconFile(icon_settings_file_png);
GuiImageData iconMappings(icon_settings_mappings_png);
GuiImageData iconMenu(icon_settings_menu_png);
GuiImageData iconNetwork(icon_settings_network_png);
GuiImageData iconVideo(icon_settings_video_png);
GuiTrigger trigA;
if(GCSettings.WiimoteOrientation)
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_2 | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
else
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
GuiText mappingBtnTxt("Button Mappings", 24, (GXColor){0, 0, 0, 255});
mappingBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage mappingBtnImg(&btnLargeOutline);
GuiImage mappingBtnImgOver(&btnLargeOutlineOver);
GuiImage mappingBtnIcon(&iconMappings);
GuiButton mappingBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
mappingBtn.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
mappingBtn.SetPosition(50, 120);
mappingBtn.SetLabel(&mappingBtnTxt);
mappingBtn.SetImage(&mappingBtnImg);
mappingBtn.SetImageOver(&mappingBtnImgOver);
mappingBtn.SetIcon(&mappingBtnIcon);
mappingBtn.SetSoundOver(&btnSoundOver);
mappingBtn.SetSoundClick(&btnSoundClick);
mappingBtn.SetTrigger(&trigA);
mappingBtn.SetEffectGrow();
GuiText videoBtnTxt("Video", 24, (GXColor){0, 0, 0, 255});
videoBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage videoBtnImg(&btnLargeOutline);
GuiImage videoBtnImgOver(&btnLargeOutlineOver);
GuiImage videoBtnIcon(&iconVideo);
GuiButton videoBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
videoBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
videoBtn.SetPosition(0, 120);
videoBtn.SetLabel(&videoBtnTxt);
videoBtn.SetImage(&videoBtnImg);
videoBtn.SetImageOver(&videoBtnImgOver);
videoBtn.SetIcon(&videoBtnIcon);
videoBtn.SetSoundOver(&btnSoundOver);
videoBtn.SetSoundClick(&btnSoundClick);
videoBtn.SetTrigger(&trigA);
videoBtn.SetEffectGrow();
GuiText savingBtnTxt1("Saving", 24, (GXColor){0, 0, 0, 255});
GuiText savingBtnTxt2("&", 18, (GXColor){0, 0, 0, 255});
GuiText savingBtnTxt3("Loading", 24, (GXColor){0, 0, 0, 255});
savingBtnTxt1.SetPosition(0, -20);
savingBtnTxt3.SetPosition(0, +20);
GuiImage savingBtnImg(&btnLargeOutline);
GuiImage savingBtnImgOver(&btnLargeOutlineOver);
GuiImage fileBtnIcon(&iconFile);
GuiButton savingBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
savingBtn.SetAlignment(ALIGN_RIGHT, ALIGN_TOP);
savingBtn.SetPosition(-50, 120);
savingBtn.SetLabel(&savingBtnTxt1, 0);
savingBtn.SetLabel(&savingBtnTxt2, 1);
savingBtn.SetLabel(&savingBtnTxt3, 2);
savingBtn.SetImage(&savingBtnImg);
savingBtn.SetImageOver(&savingBtnImgOver);
savingBtn.SetIcon(&fileBtnIcon);
savingBtn.SetSoundOver(&btnSoundOver);
savingBtn.SetSoundClick(&btnSoundClick);
savingBtn.SetTrigger(&trigA);
savingBtn.SetEffectGrow();
GuiText menuBtnTxt("Menu", 24, (GXColor){0, 0, 0, 255});
menuBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage menuBtnImg(&btnLargeOutline);
GuiImage menuBtnImgOver(&btnLargeOutlineOver);
GuiImage menuBtnIcon(&iconMenu);
GuiButton menuBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
menuBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
menuBtn.SetPosition(-125, 250);
menuBtn.SetLabel(&menuBtnTxt);
menuBtn.SetImage(&menuBtnImg);
menuBtn.SetImageOver(&menuBtnImgOver);
menuBtn.SetIcon(&menuBtnIcon);
menuBtn.SetSoundOver(&btnSoundOver);
menuBtn.SetSoundClick(&btnSoundClick);
menuBtn.SetTrigger(&trigA);
menuBtn.SetEffectGrow();
GuiText networkBtnTxt("Network", 24, (GXColor){0, 0, 0, 255});
networkBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage networkBtnImg(&btnLargeOutline);
GuiImage networkBtnImgOver(&btnLargeOutlineOver);
GuiImage networkBtnIcon(&iconNetwork);
GuiButton networkBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
networkBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
networkBtn.SetPosition(125, 250);
networkBtn.SetLabel(&networkBtnTxt);
networkBtn.SetImage(&networkBtnImg);
networkBtn.SetImageOver(&networkBtnImgOver);
networkBtn.SetIcon(&networkBtnIcon);
networkBtn.SetSoundOver(&btnSoundOver);
networkBtn.SetSoundClick(&btnSoundClick);
networkBtn.SetTrigger(&trigA);
networkBtn.SetEffectGrow();
GuiText backBtnTxt("Go Back", 24, (GXColor){0, 0, 0, 255});
GuiImage backBtnImg(&btnOutline);
GuiImage backBtnImgOver(&btnOutlineOver);
GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight());
backBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
backBtn.SetPosition(100, -35);
backBtn.SetLabel(&backBtnTxt);
backBtn.SetImage(&backBtnImg);
backBtn.SetImageOver(&backBtnImgOver);
backBtn.SetSoundOver(&btnSoundOver);
backBtn.SetSoundClick(&btnSoundClick);
backBtn.SetTrigger(&trigA);
backBtn.SetEffectGrow();
GuiText resetBtnTxt("Reset Settings", 24, (GXColor){0, 0, 0, 255});
GuiImage resetBtnImg(&btnOutline);
GuiImage resetBtnImgOver(&btnOutlineOver);
GuiButton resetBtn(btnOutline.GetWidth(), btnOutline.GetHeight());
resetBtn.SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM);
resetBtn.SetPosition(-100, -35);
resetBtn.SetLabel(&resetBtnTxt);
resetBtn.SetImage(&resetBtnImg);
resetBtn.SetImageOver(&resetBtnImgOver);
resetBtn.SetSoundOver(&btnSoundOver);
resetBtn.SetSoundClick(&btnSoundClick);
resetBtn.SetTrigger(&trigA);
resetBtn.SetEffectGrow();
HaltGui();
GuiWindow w(screenwidth, screenheight);
w.Append(&titleTxt);
w.Append(&mappingBtn);
w.Append(&videoBtn);
w.Append(&savingBtn);
w.Append(&menuBtn);
#ifdef HW_RVL
w.Append(&networkBtn);
#endif
w.Append(&backBtn);
w.Append(&resetBtn);
mainWindow->Append(&w);
ResumeGui();
while(menu == MENU_NONE)
{
VIDEO_WaitVSync ();
if(mappingBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS;
}
else if(videoBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_VIDEO;
}
else if(savingBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_FILE;
}
else if(menuBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MENU;
}
else if(networkBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_NETWORK;
}
else if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAMESELECTION;
}
else if(resetBtn.GetState() == STATE_CLICKED)
{
resetBtn.ResetState();
int choice = WindowPrompt(
"Reset Settings",
"Are you sure that you want to reset your settings?",
"Yes",
"No");
if(choice == 1)
DefaultSettings();
}
}
if(menu == MENU_GAMESELECTION)
SavePrefs(NOTSILENT);
HaltGui();
mainWindow->Remove(&w);
return menu;
}
/****************************************************************************
* MenuSettingsMappings
@ -2079,7 +1992,7 @@ static int MenuSettingsMappings()
{
int menu = MENU_NONE;
GuiText titleTxt("Settings - Button Mappings", 28, (GXColor){255, 255, 255, 255});
GuiText titleTxt("Game Settings - Button Mappings", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
@ -2164,17 +2077,17 @@ static int MenuSettingsMappings()
if(nesBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_CTRL;
menu = MENU_GAMESETTINGS_MAPPINGS_CTRL;
mapMenuCtrlNES = CTRL_PAD;
}
else if(zapperBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_CTRL;
menu = MENU_GAMESETTINGS_MAPPINGS_CTRL;
mapMenuCtrlNES = CTRL_ZAPPER;
}
else if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS;
menu = MENU_GAMESETTINGS;
}
}
HaltGui();
@ -2188,7 +2101,7 @@ static int MenuSettingsMappingsController()
char menuTitle[100];
char menuSubtitle[100];
sprintf(menuTitle, "Settings - Button Mappings");
sprintf(menuTitle, "Game Settings - Button Mappings");
GuiText titleTxt(menuTitle, 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,30);
@ -2328,27 +2241,27 @@ static int MenuSettingsMappingsController()
if(wiimoteBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_MAP;
menu = MENU_GAMESETTINGS_MAPPINGS_MAP;
mapMenuCtrl = CTRLR_WIIMOTE;
}
else if(nunchukBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_MAP;
menu = MENU_GAMESETTINGS_MAPPINGS_MAP;
mapMenuCtrl = CTRLR_NUNCHUK;
}
else if(classicBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_MAP;
menu = MENU_GAMESETTINGS_MAPPINGS_MAP;
mapMenuCtrl = CTRLR_CLASSIC;
}
else if(gamecubeBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_MAP;
menu = MENU_GAMESETTINGS_MAPPINGS_MAP;
mapMenuCtrl = CTRLR_GCPAD;
}
else if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS;
menu = MENU_GAMESETTINGS_MAPPINGS;
}
}
HaltGui();
@ -2489,7 +2402,7 @@ static int MenuSettingsMappingsMap()
char menuTitle[100];
char menuSubtitle[100];
sprintf(menuTitle, "Settings - Button Mappings");
sprintf(menuTitle, "Game Settings - Button Mappings");
GuiText titleTxt(menuTitle, 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
@ -2595,7 +2508,7 @@ static int MenuSettingsMappingsMap()
if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MAPPINGS_CTRL;
menu = MENU_GAMESETTINGS_MAPPINGS_CTRL;
}
}
HaltGui();
@ -2828,7 +2741,7 @@ static int MenuSettingsVideo()
sprintf(options.name[i++], "Screen Position");
options.length = i;
GuiText titleTxt("Settings - Video", 28, (GXColor){255, 255, 255, 255});
GuiText titleTxt("Game Settings - Video", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
@ -2945,7 +2858,7 @@ static int MenuSettingsVideo()
if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS;
menu = MENU_GAMESETTINGS;
}
}
HaltGui();
@ -2955,6 +2868,177 @@ static int MenuSettingsVideo()
return menu;
}
/****************************************************************************
* MenuSettings
***************************************************************************/
static int MenuSettings()
{
int menu = MENU_NONE;
GuiText titleTxt("Settings", 28, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,50);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM);
GuiSound btnSoundClick(button_click_pcm, button_click_pcm_size, SOUND_PCM);
GuiImageData btnOutline(button_png);
GuiImageData btnOutlineOver(button_over_png);
GuiImageData btnLargeOutline(button_large_png);
GuiImageData btnLargeOutlineOver(button_large_over_png);
GuiImageData iconFile(icon_settings_file_png);
GuiImageData iconMenu(icon_settings_menu_png);
GuiImageData iconNetwork(icon_settings_network_png);
GuiTrigger trigA;
if(GCSettings.WiimoteOrientation)
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_2 | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
else
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
GuiText savingBtnTxt1("Saving", 24, (GXColor){0, 0, 0, 255});
GuiText savingBtnTxt2("&", 18, (GXColor){0, 0, 0, 255});
GuiText savingBtnTxt3("Loading", 24, (GXColor){0, 0, 0, 255});
savingBtnTxt1.SetPosition(0, -20);
savingBtnTxt3.SetPosition(0, +20);
GuiImage savingBtnImg(&btnLargeOutline);
GuiImage savingBtnImgOver(&btnLargeOutlineOver);
GuiImage fileBtnIcon(&iconFile);
GuiButton savingBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
savingBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
savingBtn.SetPosition(-125, 120);
savingBtn.SetLabel(&savingBtnTxt1, 0);
savingBtn.SetLabel(&savingBtnTxt2, 1);
savingBtn.SetLabel(&savingBtnTxt3, 2);
savingBtn.SetImage(&savingBtnImg);
savingBtn.SetImageOver(&savingBtnImgOver);
savingBtn.SetIcon(&fileBtnIcon);
savingBtn.SetSoundOver(&btnSoundOver);
savingBtn.SetSoundClick(&btnSoundClick);
savingBtn.SetTrigger(&trigA);
savingBtn.SetEffectGrow();
GuiText menuBtnTxt("Menu", 24, (GXColor){0, 0, 0, 255});
menuBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage menuBtnImg(&btnLargeOutline);
GuiImage menuBtnImgOver(&btnLargeOutlineOver);
GuiImage menuBtnIcon(&iconMenu);
GuiButton menuBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
menuBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
menuBtn.SetPosition(125, 120);
menuBtn.SetLabel(&menuBtnTxt);
menuBtn.SetImage(&menuBtnImg);
menuBtn.SetImageOver(&menuBtnImgOver);
menuBtn.SetIcon(&menuBtnIcon);
menuBtn.SetSoundOver(&btnSoundOver);
menuBtn.SetSoundClick(&btnSoundClick);
menuBtn.SetTrigger(&trigA);
menuBtn.SetEffectGrow();
GuiText networkBtnTxt("Network", 24, (GXColor){0, 0, 0, 255});
networkBtnTxt.SetMaxWidth(btnLargeOutline.GetWidth()-30);
GuiImage networkBtnImg(&btnLargeOutline);
GuiImage networkBtnImgOver(&btnLargeOutlineOver);
GuiImage networkBtnIcon(&iconNetwork);
GuiButton networkBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight());
networkBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
networkBtn.SetPosition(0, 250);
networkBtn.SetLabel(&networkBtnTxt);
networkBtn.SetImage(&networkBtnImg);
networkBtn.SetImageOver(&networkBtnImgOver);
networkBtn.SetIcon(&networkBtnIcon);
networkBtn.SetSoundOver(&btnSoundOver);
networkBtn.SetSoundClick(&btnSoundClick);
networkBtn.SetTrigger(&trigA);
networkBtn.SetEffectGrow();
GuiText backBtnTxt("Go Back", 24, (GXColor){0, 0, 0, 255});
GuiImage backBtnImg(&btnOutline);
GuiImage backBtnImgOver(&btnOutlineOver);
GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight());
backBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
backBtn.SetPosition(100, -35);
backBtn.SetLabel(&backBtnTxt);
backBtn.SetImage(&backBtnImg);
backBtn.SetImageOver(&backBtnImgOver);
backBtn.SetSoundOver(&btnSoundOver);
backBtn.SetSoundClick(&btnSoundClick);
backBtn.SetTrigger(&trigA);
backBtn.SetEffectGrow();
GuiText resetBtnTxt("Reset Settings", 24, (GXColor){0, 0, 0, 255});
GuiImage resetBtnImg(&btnOutline);
GuiImage resetBtnImgOver(&btnOutlineOver);
GuiButton resetBtn(btnOutline.GetWidth(), btnOutline.GetHeight());
resetBtn.SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM);
resetBtn.SetPosition(-100, -35);
resetBtn.SetLabel(&resetBtnTxt);
resetBtn.SetImage(&resetBtnImg);
resetBtn.SetImageOver(&resetBtnImgOver);
resetBtn.SetSoundOver(&btnSoundOver);
resetBtn.SetSoundClick(&btnSoundClick);
resetBtn.SetTrigger(&trigA);
resetBtn.SetEffectGrow();
HaltGui();
GuiWindow w(screenwidth, screenheight);
w.Append(&titleTxt);
w.Append(&savingBtn);
w.Append(&menuBtn);
#ifdef HW_RVL
w.Append(&networkBtn);
#endif
w.Append(&backBtn);
w.Append(&resetBtn);
mainWindow->Append(&w);
ResumeGui();
while(menu == MENU_NONE)
{
VIDEO_WaitVSync ();
if(savingBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_FILE;
}
else if(menuBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_MENU;
}
else if(networkBtn.GetState() == STATE_CLICKED)
{
menu = MENU_SETTINGS_NETWORK;
}
else if(backBtn.GetState() == STATE_CLICKED)
{
menu = MENU_GAMESELECTION;
}
else if(resetBtn.GetState() == STATE_CLICKED)
{
resetBtn.ResetState();
int choice = WindowPrompt(
"Reset Settings",
"Are you sure that you want to reset your settings?",
"Yes",
"No");
if(choice == 1)
DefaultSettings();
}
}
if(menu == MENU_GAMESELECTION)
SavePrefs(NOTSILENT);
HaltGui();
mainWindow->Remove(&w);
return menu;
}
/****************************************************************************
* MenuSettingsFile
***************************************************************************/
@ -3476,24 +3560,27 @@ MainMenu (int menu)
case MENU_GAME_SAVE:
currentMenu = MenuGameSaves(1);
break;
/*case MENU_GAME_CHEATS:
case MENU_GAMESETTINGS:
currentMenu = MenuGameSettings();
break;
case MENU_GAMESETTINGS_MAPPINGS:
currentMenu = MenuSettingsMappings();
break;
case MENU_GAMESETTINGS_MAPPINGS_CTRL:
currentMenu = MenuSettingsMappingsController();
break;
case MENU_GAMESETTINGS_MAPPINGS_MAP:
currentMenu = MenuSettingsMappingsMap();
break;
case MENU_GAMESETTINGS_VIDEO:
currentMenu = MenuSettingsVideo();
break;
/*case MENU_GAMESETTINGS_CHEATS:
currentMenu = MenuGameCheats();
break;*/
case MENU_SETTINGS:
currentMenu = MenuSettings();
break;
case MENU_SETTINGS_MAPPINGS:
currentMenu = MenuSettingsMappings();
break;
case MENU_SETTINGS_MAPPINGS_CTRL:
currentMenu = MenuSettingsMappingsController();
break;
case MENU_SETTINGS_MAPPINGS_MAP:
currentMenu = MenuSettingsMappingsMap();
break;
case MENU_SETTINGS_VIDEO:
currentMenu = MenuSettingsVideo();
break;
case MENU_SETTINGS_FILE:
currentMenu = MenuSettingsFile();
break;

View File

@ -28,10 +28,6 @@ enum
MENU_EXIT = -1,
MENU_NONE,
MENU_SETTINGS,
MENU_SETTINGS_MAPPINGS,
MENU_SETTINGS_MAPPINGS_CTRL,
MENU_SETTINGS_MAPPINGS_MAP,
MENU_SETTINGS_VIDEO,
MENU_SETTINGS_FILE,
MENU_SETTINGS_MENU,
MENU_SETTINGS_NETWORK,
@ -39,7 +35,12 @@ enum
MENU_GAME,
MENU_GAME_SAVE,
MENU_GAME_LOAD,
MENU_GAME_CHEATS
MENU_GAMESETTINGS,
MENU_GAMESETTINGS_MAPPINGS,
MENU_GAMESETTINGS_MAPPINGS_CTRL,
MENU_GAMESETTINGS_MAPPINGS_MAP,
MENU_GAMESETTINGS_VIDEO,
MENU_GAMESETTINGS_CHEATS
};
#endif

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<app version="2.0.9">
<file url="http://fceugc.googlecode.com/files/FCE%20Ultra%20GX%202.0.9%20-%20Wii.zip"></file>
<app version="3.0.0">
<file url="http://fceugc.googlecode.com/files/FCE%20Ultra%20GX%203.0.0%20-%20Wii.zip"></file>
</app>