mirror of
https://github.com/dborth/fceugx.git
synced 2024-12-04 14:24:16 +01:00
finalize 3.0.0
This commit is contained in:
parent
1fcad359e0
commit
f1cdef4213
BIN
hbc/icon.png
Normal file
BIN
hbc/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.2 KiB |
9
hbc/meta.xml
Normal file
9
hbc/meta.xml
Normal 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>
|
76
readme.txt
76
readme.txt
@ -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!
|
||||
|
||||
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
|
||||
|
||||
|
@ -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[];
|
||||
|
BIN
source/ngc/images/icon_game_settings.png
Normal file
BIN
source/ngc/images/icon_game_settings.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user