From fbfc422d35dfdee1ec268e6d3c8be5297590b553 Mon Sep 17 00:00:00 2001 From: dborth Date: Mon, 13 Apr 2009 19:36:33 +0000 Subject: [PATCH] finalize 4.0.1 --- hbc/meta.xml | 5 +- readme.txt | 12 +- source/ngc/filelist.h | 2 + source/ngc/gui/gui_filebrowser.cpp | 5 +- source/ngc/images/icon_game_settings.png | Bin 0 -> 1098 bytes source/ngc/menu.cpp | 676 +++++++++++++---------- source/ngc/menu.h | 11 +- source/ngc/networkop.cpp | 2 +- source/ngc/snes9xGX.h | 2 +- update.xml | 4 +- 10 files changed, 403 insertions(+), 316 deletions(-) create mode 100644 source/ngc/images/icon_game_settings.png diff --git a/hbc/meta.xml b/hbc/meta.xml index 509928be..8c55b87b 100644 --- a/hbc/meta.xml +++ b/hbc/meta.xml @@ -2,11 +2,10 @@ Snes9X GX Tantric, michniewski - 4.0.0 - 20090404 + 4.0.1 + 20090413 Super Nintendo Emulator - A Super Nintendo Emulator for Wii Based on Snes9x 1.51 diff --git a/readme.txt b/readme.txt index 6f1bcf7e..4c8ba4a3 100644 --- a/readme.txt +++ b/readme.txt @@ -10,7 +10,7 @@ ­———————————————————————————————————————————————————————————————————————•ßrK• ×—–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•¬ -|0O×øo· Snes9x GX 4.0.0 ·oø×O0| +|0O×øo· Snes9x GX 4.0.1 ·oø×O0| | http://code.google.com/p/snes9x-gx | | (Under GPL License) | `¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' @@ -48,6 +48,16 @@ guides on how to install and get homebrew working on your Nintendo Wii. | UPDATE HISTORY | •˜———–—––-- - —————————––––– ———–—––-- - —————————––––– ———–—––-- - ————————• +[4.0.1 - April 13, 2009] +* Fixed turning off autosave in menu +* Keyboard fixed, more keys added +* Fixed 7z loading from DVD +* Enable auto loading and renaming of SRAM save without "Auto" in the name +* PAL resolution fixed - no more letterboxing +* File browser scrollbar box now draggable, arrow buttons now scroll list +* Better handling of multiple on-screen wiimotes +* Menu restructured - new "Game Settings" menu + [4.0.0 - April 4, 2009] * New GX-based menu, with a completely redesigned layout. Has Wiimote IR diff --git a/source/ngc/filelist.h b/source/ngc/filelist.h index a5014fd1..9fd1e62b 100644 --- a/source/ngc/filelist.h +++ b/source/ngc/filelist.h @@ -50,6 +50,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[]; diff --git a/source/ngc/gui/gui_filebrowser.cpp b/source/ngc/gui/gui_filebrowser.cpp index d46a7a82..61d49544 100644 --- a/source/ngc/gui/gui_filebrowser.cpp +++ b/source/ngc/gui/gui_filebrowser.cpp @@ -30,10 +30,7 @@ GuiFileBrowser::GuiFileBrowser(int w, int h) trigA->SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); trigHeldA = new GuiTrigger; - if(GCSettings.WiimoteOrientation) - trigHeldA->SetHeldTrigger(-1, WPAD_BUTTON_2 | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); - else - trigHeldA->SetHeldTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); + trigHeldA->SetHeldTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); btnSoundOver = new GuiSound(button_over_pcm, button_over_pcm_size, SOUND_PCM); btnSoundClick = new GuiSound(button_click_pcm, button_click_pcm_size, SOUND_PCM); diff --git a/source/ngc/images/icon_game_settings.png b/source/ngc/images/icon_game_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..b47dabe0850f38569c86c1efc612d09d8b2d320e GIT binary patch literal 1098 zcmeAS@N?(olHy`uVBq!ia0vp^OMp0mgAGVdK6CRikdiEMjVKAuPb(=;EJ|f?Ovz75 zRq)JBOiv9;O-!jQJeg|4z`*>*)5S5Q;?|qF-2RsXL>lrX75G_ao{|u7Ty*6B|Lhu- zeN3}8RydUGc=*clX5^&_Tlc2MUM{;oeNN6vt7Gr>-6=l*_HC{}+d^gyZf+As1r-J- zCMPBZ6;uYCpOU`u)c-$myXQXr&~{|iky%GJ9hr0_;8EBj^+M&3%f0UZ-*VgaM3X0~Xjb0@pxldCtTSxnsFB6w^<<)W28<{l}3&A7Sa zPtc-XC61ZqwVnDx?^V|s?<)^)UzOo>Y98x#vGXcrLB}QsmaTcP(?PuIMC5{(zkQFH z?90!T5hzmQQOf+YJzXtxA-9v*#AEko&1s&JJbT_%D}^T^Ez|a$x4o4$`I*xRrOOpk z(k8-AVmE`AE!4DLuu@ZEv-MlpTBt0rvJAV>usym zD||DvYVnJmx%Xer$)4iqA+NZ2<@c#4cRu-87yJ9g?pf}^Uqw$TqzLWhOx|^%YVY-F z=N<=bj5}8_Wud_(!&kf@DbMQ%GbR>2aO2Ls{(jH4RNI$DZRam}eiZLpY1B1KefcGi`%kainvgK{%SRETds8RP6H-j>?w#CJt+T}C zgiDFlvfvNtN~%t3MQu|!BF(_vFlop)1$IC$UQ{<94v!_1ih~(8Yf4+3N%ZW!zQoJ}6y;*~uI6N0NPY9SXrTXnRCMTzv z$EL7@)Mp->;v2rXxU_2fc}O|j{|`$|q>i!VfW+gzXR;94HK`s&+Bo;ROrmmK1J8GZT7D%<_l z^XGcEv@AM4<(KtVHJR1B|HVz%w22IOL?QvOPdnw zSMk4gov>JOdph4CgD1<`gUqmIJ*P`74HFnRI71)oXJBTicfXP5u5RT8EF2g-UHx3v IIVCg!0BN}S0{{R3 literal 0 HcmV?d00001 diff --git a/source/ngc/menu.cpp b/source/ngc/menu.cpp index f0ffb0a2..e1bd725e 100644 --- a/source/ngc/menu.cpp +++ b/source/ngc/menu.cpp @@ -1140,8 +1140,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); @@ -1164,8 +1163,8 @@ static int MenuGame() GuiImage saveBtnImgOver(&btnLargeOutlineOver); GuiImage saveBtnIcon(&iconSave); GuiButton saveBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight()); - saveBtn.SetAlignment(ALIGN_LEFT, ALIGN_TOP); - saveBtn.SetPosition(50, 120); + saveBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + saveBtn.SetPosition(-125, 120); saveBtn.SetLabel(&saveBtnTxt); saveBtn.SetImage(&saveBtnImg); saveBtn.SetImageOver(&saveBtnImgOver); @@ -1181,7 +1180,7 @@ static int MenuGame() GuiImage loadBtnIcon(&iconLoad); GuiButton loadBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight()); loadBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); - loadBtn.SetPosition(0, 120); + loadBtn.SetPosition(125, 120); loadBtn.SetLabel(&loadBtnTxt); loadBtn.SetImage(&loadBtnImg); loadBtn.SetImageOver(&loadBtnImgOver); @@ -1196,8 +1195,8 @@ static int MenuGame() GuiImage resetBtnImgOver(&btnLargeOutlineOver); GuiImage resetBtnIcon(&iconReset); GuiButton resetBtn(btnLargeOutline.GetWidth(), btnLargeOutline.GetHeight()); - resetBtn.SetAlignment(ALIGN_RIGHT, ALIGN_TOP); - resetBtn.SetPosition(-50, 120); + resetBtn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + resetBtn.SetPosition(125, 250); resetBtn.SetLabel(&resetBtnTxt); resetBtn.SetImage(&resetBtnImg); resetBtn.SetImageOver(&resetBtnImgOver); @@ -1207,37 +1206,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); @@ -1314,8 +1298,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]); @@ -1347,12 +1330,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(); } @@ -1401,17 +1379,9 @@ static int MenuGame() S9xSoftReset (); menu = MENU_EXIT; } - else if(controllerBtn.GetState() == STATE_CLICKED) - { - ControllerWindow(); - } - else if(cheatsBtn.GetState() == STATE_CLICKED) + else if(gameSettingsBtn.GetState() == STATE_CLICKED) { - cheatsBtn.ResetState(); - if(Cheat.num_cheats > 0) - menu = MENU_GAME_CHEATS; - else - InfoPrompt("Cheats file not found!"); + menu = MENU_GAMESETTINGS; } else if(mainmenuBtn.GetState() == STATE_CLICKED) { @@ -1450,12 +1420,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 } } @@ -1760,24 +1725,13 @@ static int MenuGameSaves(int action) } /**************************************************************************** - * MenuGameCheats - * - * Displays a list of cheats available, and allows the user to enable/disable - * them. + * MenuGameSettings ***************************************************************************/ -static int MenuGameCheats() +static int MenuGameSettings() { int menu = MENU_NONE; - int ret; - u16 i = 0; - OptionList options; - for(i=0; i < Cheat.num_cheats; i++) - sprintf (options.name[i], "%s", Cheat.c[i].name); - - options.length = i; - - GuiText titleTxt("Cheats", 28, (GXColor){255, 255, 255, 255}); + GuiText titleTxt("Game Settings", 28, (GXColor){255, 255, 255, 255}); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50,50); @@ -1785,6 +1739,12 @@ static int MenuGameCheats() 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); @@ -1797,19 +1757,71 @@ static int MenuGameCheats() GuiTrigger trigHome; trigHome.SetButtonOnlyTrigger(-1, WPAD_BUTTON_HOME | WPAD_CLASSIC_BUTTON_HOME, 0); - 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 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(-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 closeBtnTxt("Close", 22, (GXColor){0, 0, 0, 255}); GuiImage closeBtnImg(&btnCloseOutline); @@ -1826,36 +1838,57 @@ static int MenuGameCheats() closeBtn.SetTrigger(&trigHome); closeBtn.SetEffectGrow(); - GuiOptionBrowser optionBrowser(552, 248, &options); - optionBrowser.SetPosition(0, 108); - optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); + 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(&backBtn); + w.Append(&titleTxt); + w.Append(&mappingBtn); + w.Append(&videoBtn); + w.Append(&controllerBtn); + w.Append(&cheatsBtn); w.Append(&closeBtn); - mainWindow->Append(&optionBrowser); + w.Append(&backBtn); + mainWindow->Append(&w); - mainWindow->Append(&titleTxt); + ResumeGui(); while(menu == MENU_NONE) { VIDEO_WaitVSync (); - for(i=0; i < Cheat.num_cheats; i++) - sprintf (options.value[i], "%s", Cheat.c[i].enabled == true ? "On" : "Off"); - - ret = optionBrowser.GetClickedOption(); - - if(Cheat.c[ret].enabled) - S9xDisableCheat(ret); - else - S9xEnableCheat(ret); - - if(backBtn.GetState() == STATE_CLICKED) + if(mappingBtn.GetState() == STATE_CLICKED) { - menu = MENU_GAME; + 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) { @@ -1873,22 +1906,36 @@ static int MenuGameCheats() usleep(200000); // wait for effects to finish } + else if(backBtn.GetState() == STATE_CLICKED) + { + menu = MENU_GAME; + } } + HaltGui(); - mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); - mainWindow->Remove(&titleTxt); return menu; } /**************************************************************************** - * MenuSettings + * MenuGameCheats + * + * Displays a list of cheats available, and allows the user to enable/disable + * them. ***************************************************************************/ -static int MenuSettings() +static int MenuGameCheats() { int menu = MENU_NONE; + int ret; + u16 i = 0; + OptionList options; - GuiText titleTxt("Settings", 28, (GXColor){255, 255, 255, 255}); + for(i=0; i < Cheat.num_cheats; i++) + sprintf (options.name[i], "%s", Cheat.c[i].name); + + options.length = i; + + GuiText titleTxt("Game Settings - Cheats", 28, (GXColor){255, 255, 255, 255}); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50,50); @@ -1896,109 +1943,12 @@ static int MenuSettings() 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(); + trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); GuiText backBtnTxt("Go Back", 24, (GXColor){0, 0, 0, 255}); GuiImage backBtnImg(&btnOutline); @@ -2014,87 +1964,41 @@ static int MenuSettings() 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(); + GuiOptionBrowser optionBrowser(552, 248, &options); + optionBrowser.SetPosition(0, 108); + optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); 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(&optionBrowser); mainWindow->Append(&w); - + mainWindow->Append(&titleTxt); 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(); + for(i=0; i < Cheat.num_cheats; i++) + sprintf (options.value[i], "%s", Cheat.c[i].enabled == true ? "On" : "Off"); - int choice = WindowPrompt( - "Reset Settings", - "Are you sure that you want to reset your settings?", - "Yes", - "No"); + ret = optionBrowser.GetClickedOption(); - if(choice == 1) - DefaultSettings(); + if(Cheat.c[ret].enabled) + S9xDisableCheat(ret); + else + S9xEnableCheat(ret); + + if(backBtn.GetState() == STATE_CLICKED) + { + menu = MENU_GAMESETTINGS; } } - - if(menu == MENU_GAMESELECTION) - SavePrefs(NOTSILENT); - HaltGui(); + mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); + mainWindow->Remove(&titleTxt); return menu; } @@ -2105,7 +2009,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); @@ -2227,27 +2131,27 @@ static int MenuSettingsMappings() if(snesBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS_MAPPINGS_CTRL; + menu = MENU_GAMESETTINGS_MAPPINGS_CTRL; mapMenuCtrlSNES = CTRL_PAD; } else if(superscopeBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS_MAPPINGS_CTRL; + menu = MENU_GAMESETTINGS_MAPPINGS_CTRL; mapMenuCtrlSNES = CTRL_SCOPE; } else if(mouseBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS_MAPPINGS_CTRL; + menu = MENU_GAMESETTINGS_MAPPINGS_CTRL; mapMenuCtrlSNES = CTRL_MOUSE; } else if(justifierBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS_MAPPINGS_CTRL; + menu = MENU_GAMESETTINGS_MAPPINGS_CTRL; mapMenuCtrlSNES = CTRL_JUST; } else if(backBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS; + menu = MENU_GAMESETTINGS; } } HaltGui(); @@ -2261,7 +2165,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); @@ -2401,27 +2305,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(); @@ -2563,7 +2467,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); @@ -2685,7 +2589,7 @@ static int MenuSettingsMappingsMap() if(backBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS_MAPPINGS_CTRL; + menu = MENU_GAMESETTINGS_MAPPINGS_CTRL; } } HaltGui(); @@ -2917,7 +2821,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); @@ -3015,7 +2919,7 @@ static int MenuSettingsVideo() if(backBtn.GetState() == STATE_CLICKED) { - menu = MENU_SETTINGS; + menu = MENU_GAMESETTINGS; } } HaltGui(); @@ -3025,6 +2929,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 ***************************************************************************/ @@ -3553,24 +3628,27 @@ MainMenu (int menu) case MENU_GAME_SAVE: currentMenu = MenuGameSaves(1); break; - case MENU_GAME_CHEATS: - currentMenu = MenuGameCheats(); - break; - case MENU_SETTINGS: - currentMenu = MenuSettings(); + case MENU_GAMESETTINGS: + currentMenu = MenuGameSettings(); break; - case MENU_SETTINGS_MAPPINGS: + case MENU_GAMESETTINGS_MAPPINGS: currentMenu = MenuSettingsMappings(); break; - case MENU_SETTINGS_MAPPINGS_CTRL: + case MENU_GAMESETTINGS_MAPPINGS_CTRL: currentMenu = MenuSettingsMappingsController(); break; - case MENU_SETTINGS_MAPPINGS_MAP: + case MENU_GAMESETTINGS_MAPPINGS_MAP: currentMenu = MenuSettingsMappingsMap(); break; - case MENU_SETTINGS_VIDEO: + case MENU_GAMESETTINGS_VIDEO: currentMenu = MenuSettingsVideo(); break; + case MENU_GAMESETTINGS_CHEATS: + currentMenu = MenuGameCheats(); + break; + case MENU_SETTINGS: + currentMenu = MenuSettings(); + break; case MENU_SETTINGS_FILE: currentMenu = MenuSettingsFile(); break; diff --git a/source/ngc/menu.h b/source/ngc/menu.h index d29cf79f..eac90ee8 100644 --- a/source/ngc/menu.h +++ b/source/ngc/menu.h @@ -27,10 +27,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, @@ -38,7 +34,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 diff --git a/source/ngc/networkop.cpp b/source/ngc/networkop.cpp index df42c65b..74bd102e 100644 --- a/source/ngc/networkop.cpp +++ b/source/ngc/networkop.cpp @@ -98,7 +98,7 @@ void UpdateCheck() else // temporary, for compatibility { int versionnum = atoi(version); - if(versionnum > 10) // 010 + if(versionnum > 11) // 011 { item = mxmlFindElement(xml, xml, "file", NULL, NULL, MXML_DESCEND); if(item) diff --git a/source/ngc/snes9xGX.h b/source/ngc/snes9xGX.h index 9c9a2eea..8c78d3dc 100644 --- a/source/ngc/snes9xGX.h +++ b/source/ngc/snes9xGX.h @@ -20,7 +20,7 @@ #include "filelist.h" #define APPNAME "Snes9x GX" -#define APPVERSION "4.0.0" +#define APPVERSION "4.0.1" #define PREF_FILE_NAME "settings.xml" #define NOTSILENT 0 diff --git a/update.xml b/update.xml index ab4102d3..6d373965 100644 --- a/update.xml +++ b/update.xml @@ -1,4 +1,4 @@ - - + +