diff --git a/gui.pnproj b/gui.pnproj
index 97e8c185..41d7c9c9 100644
--- a/gui.pnproj
+++ b/gui.pnproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/source/filelist.h b/source/filelist.h
index 46048103..ec5f6708 100644
--- a/source/filelist.h
+++ b/source/filelist.h
@@ -26,6 +26,18 @@ extern const u32 bg_music_ogg_size;
extern const u8 credits_music_ogg[];
extern const u32 credits_music_ogg_size;
+extern const u8 page1_png[];
+extern const u32 page1_png_size;
+
+extern const u8 page1d_png[];
+extern const u32 page1d_png_size;
+
+extern const u8 page2d_png[];
+extern const u32 page2d_png_size;
+
+extern const u8 page2_png[];
+extern const u32 page2_png_size;
+
extern const u8 credits_button_png[];
extern const u32 credits_button_png_size;
diff --git a/source/images/page1.png b/source/images/page1.png
new file mode 100644
index 00000000..454c0e8b
Binary files /dev/null and b/source/images/page1.png differ
diff --git a/source/images/page1d.png b/source/images/page1d.png
new file mode 100644
index 00000000..efc81ca5
Binary files /dev/null and b/source/images/page1d.png differ
diff --git a/source/images/page2.png b/source/images/page2.png
new file mode 100644
index 00000000..396e6e10
Binary files /dev/null and b/source/images/page2.png differ
diff --git a/source/images/page2d.png b/source/images/page2d.png
new file mode 100644
index 00000000..4a5bfa67
Binary files /dev/null and b/source/images/page2d.png differ
diff --git a/source/images/wbackground.png b/source/images/wbackground.png
index 57c0a2ce..1dd01949 100644
Binary files a/source/images/wbackground.png and b/source/images/wbackground.png differ
diff --git a/source/libwiigui/gui_customoptionbrowser.cpp b/source/libwiigui/gui_customoptionbrowser.cpp
index ba2fcacc..f48e5187 100644
--- a/source/libwiigui/gui_customoptionbrowser.cpp
+++ b/source/libwiigui/gui_customoptionbrowser.cpp
@@ -134,7 +134,7 @@ GuiCustomOptionBrowser::GuiCustomOptionBrowser(int w, int h, customOptionList *
optionBtn[i]->SetLabel(optionTxt[i], 0);
optionBtn[i]->SetLabel(optionVal[i], 1);
optionBtn[i]->SetImageOver(optionBg[i]);
- optionBtn[i]->SetPosition(5,GAMESELECTSIZE*i+4);
+ optionBtn[i]->SetPosition(10,GAMESELECTSIZE*i+4);
optionBtn[i]->SetRumble(false);
optionBtn[i]->SetTrigger(trigA);
optionBtn[i]->SetSoundClick(btnSoundClick);
diff --git a/source/menu.cpp b/source/menu.cpp
index f90f5d50..4d825f27 100644
--- a/source/menu.cpp
+++ b/source/menu.cpp
@@ -3128,7 +3128,6 @@ static int MenuFormat()
/****************************************************************************
* MenuSettings
***************************************************************************/
-
static int MenuSettings()
{
int menu = MENU_NONE;
@@ -3142,6 +3141,16 @@ static int MenuSettings()
GuiImageData btnOutline(settings_menu_button_png);
snprintf(imgPath, sizeof(imgPath), "%ssettings_background.png", CFG.theme_path);
GuiImageData settingsbg(imgPath, settings_background_png);
+ ///////////
+ snprintf(imgPath, sizeof(imgPath), "%spage1.png", CFG.theme_path);
+ GuiImageData page1(imgPath, page1_png);
+ snprintf(imgPath, sizeof(imgPath), "%spage1d.png", CFG.theme_path);
+ GuiImageData page1d(imgPath, page1d_png);
+ snprintf(imgPath, sizeof(imgPath), "%spage2.png", CFG.theme_path);
+ GuiImageData page2(imgPath, page2_png);
+ snprintf(imgPath, sizeof(imgPath), "%spage2d.png", CFG.theme_path);
+ GuiImageData page2d(imgPath, page2d_png);
+ /////////////
GuiTrigger trigA;
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
@@ -3173,6 +3182,28 @@ static int MenuSettings()
backBtn.SetTrigger(&trigA);
backBtn.SetTrigger(&trigB);
backBtn.SetEffectGrow();
+ ///////////////////////////////
+ GuiImage page1Img(&page1);
+ GuiImage page1dImg(&page1d);
+ GuiButton page1Btn(page1.GetWidth(), page1.GetHeight());
+ page1Btn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
+ page1Btn.SetPosition(-202, 90);
+ page1Btn.SetImage(&page1Img);
+ page1Btn.SetSoundOver(&btnSoundOver);
+ page1Btn.SetSoundClick(&btnClick);
+ page1Btn.SetTrigger(&trigA);
+
+ GuiImage page2Img(&page2);
+ GuiImage page2dImg(&page2d);
+ GuiButton page2Btn(page2.GetWidth(), page2.GetHeight());
+ page2Btn.SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
+ page2Btn.SetPosition(-202, 242);
+ page2Btn.SetImage(&page2dImg);
+ page2Btn.SetSoundOver(&btnSoundOver);
+ page2Btn.SetSoundClick(&btnClick);
+ page2Btn.SetTrigger(&trigA);
+ ////////////////////////////////
+
const char * text = "Unlock";
if (CFG.godmode == 1)
@@ -3237,15 +3268,20 @@ static int MenuSettings()
mainWindow->Append(&w);
mainWindow->Append(&optionBrowser2);
+ mainWindow->Append(&page2Btn);
+ mainWindow->Append(&page1Btn);
ResumeGui();
}
else if ( pageToDisplay == 2 )
{
+ mainWindow->Append(&page1Btn);
+ mainWindow->Append(&page2Btn);
+
sprintf(options2.name[0], "Tooltips");
sprintf(options2.name[1], "Password");
- sprintf(options2.name[2], "Parental Ctrl");
- sprintf(options2.name[3], "Boot Loader in");
+ sprintf(options2.name[2], "Boot Loader in");
+ sprintf(options2.name[3], " ");
sprintf(options2.name[4], " ");
sprintf(options2.name[5], " ");
sprintf(options2.name[6], " ");
@@ -3323,8 +3359,8 @@ static int MenuSettings()
else if (Settings.volume == v90) sprintf (options2.value[7],"90");
else if (Settings.volume == v100) sprintf (options2.value[7],"100");
else if (Settings.volume == v0) sprintf (options2.value[7],"Off");
-
- sprintf(options2.value[8], "Go to page 2");
+
+ sprintf (options2.value[8]," ");
ret = optionBrowser2.GetClickedOption();
@@ -3354,20 +3390,14 @@ static int MenuSettings()
case 7:
Settings.volume++;
break;
- case 8:
- pageToDisplay = 2;
- menu = MENU_EXIT;
- break;
- }
+ }
}
if ( pageToDisplay == 2 )
{
if ( Settings.tooltips > 1 )
Settings.tooltips = 0;
- if ( Settings.parentalcontrol > 3 )
- Settings.parentalcontrol = 0;
- if ( Settings.cios > 1 )
+ if ( Settings.cios > 1 )
Settings.cios = 0;
if (Settings.tooltips == TooltipsOn) sprintf (options2.value[0],"On");
@@ -3377,20 +3407,15 @@ static int MenuSettings()
else if (!strcmp("", Settings.unlockCode)) sprintf(options2.value[1], "");
else sprintf(options2.value[1], Settings.unlockCode);
-
- if (Settings.parentalcontrol == ParentalControlOff) sprintf (options2.value[2],"Not yet");
- else if (Settings.parentalcontrol == ParentalControlLevel1) sprintf (options2.value[2],"not working");
- else if (Settings.parentalcontrol == ParentalControlLevel2) sprintf (options2.value[2],"broken");
- else if (Settings.parentalcontrol == ParentalControlLevel3) sprintf (options2.value[2],"coming soon");
-
- if (Settings.cios == ios249) sprintf (options2.value[3],"cIOS 249");
- else if (Settings.cios == ios222) sprintf (options2.value[3],"cIOS 222");
-
- sprintf(options2.value[4], " ");
- sprintf(options2.value[5], " ");
- sprintf(options2.value[6], " ");
- sprintf(options2.value[7], " ");
- sprintf(options2.value[8], "Go to page 1");
+ if (Settings.cios == ios249) sprintf (options2.value[2],"cIOS 249");
+ else if (Settings.cios == ios222) sprintf (options2.value[2],"cIOS 222");
+
+ sprintf (options2.value[3]," ");
+ sprintf (options2.value[4]," ");
+ sprintf (options2.value[5]," ");
+ sprintf (options2.value[6]," ");
+ sprintf (options2.value[7]," ");
+ sprintf (options2.value[8]," ");
ret = optionBrowser2.GetClickedOption();
@@ -3401,10 +3426,20 @@ static int MenuSettings()
break;
case 1: // Modify Password
if ( CFG.godmode == 1)
- {
+ {
+ mainWindow->Remove(&optionBrowser2);
+ mainWindow->Remove(&page1Btn);
+ mainWindow->Remove(&page2Btn);
+ w.Remove(&backBtn);
+ w.Remove(&lockBtn);
char entered[20] = "";
strncpy(entered, Settings.unlockCode, sizeof(entered));
int result = OnScreenKeyboard(entered, 20);
+ mainWindow->Append(&optionBrowser2);
+ mainWindow->Append(&page1Btn);
+ mainWindow->Append(&page2Btn);
+ w.Append(&backBtn);
+ w.Append(&lockBtn);
if ( result == 1 )
{
strncpy(Settings.unlockCode, entered, sizeof(Settings.unlockCode));
@@ -3418,39 +3453,36 @@ static int MenuSettings()
}
break;
case 2:
- if ( CFG.godmode == 1)
- {
- Settings.parentalcontrol++;
- }
- else
- {
- WindowPrompt("Parental Control","Console should be unlocked to modify it.","OK",0);
- }
+ Settings.cios++;
break;
- case 3:
- Settings.cios++;
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
-
- break;
- case 8:
- pageToDisplay = 1;
- menu = MENU_EXIT;
- break;
- }
+ }
}
if(shutdown == 1)
Sys_Shutdown();
if(reset == 1)
Sys_Reboot();
-
+
+ if(page1Btn.GetState() == STATE_CLICKED)
+ {
+ pageToDisplay = 1;
+ page1Btn.ResetState();
+ page1Btn.SetImage(&page1Img);
+ page2Btn.SetImage(&page2dImg);
+ menu = MENU_NONE;
+ break;
+ }
+
+ if(page2Btn.GetState() == STATE_CLICKED)
+ {
+ pageToDisplay = 2;
+ menu = MENU_NONE;
+ page2Btn.ResetState();
+ page1Btn.SetImage(&page1dImg);
+ page2Btn.SetImage(&page2Img);
+ break;
+ }
+
if(backBtn.GetState() == STATE_CLICKED)
{
//Add the procedure call to save the global configuration
@@ -3469,8 +3501,18 @@ static int MenuSettings()
else if ( CFG.godmode == 0 )
{
//password check to unlock Install,Delete and Format
- char entered[20] = "";
+ mainWindow->Remove(&optionBrowser2);
+ mainWindow->Remove(&page1Btn);
+ mainWindow->Remove(&page2Btn);
+ w.Remove(&backBtn);
+ w.Remove(&lockBtn);
+ char entered[20] = "";
int result = OnScreenKeyboard(entered, 20);
+ mainWindow->Append(&optionBrowser2);
+ mainWindow->Append(&page1Btn);
+ mainWindow->Append(&page2Btn);
+ w.Append(&backBtn);
+ w.Append(&lockBtn);
if ( result == 1 )
{
if (!strcmp(entered, Settings.unlockCode)) //if password correct
@@ -3523,7 +3565,6 @@ static int MenuSettings()
}
-
/********************************************************************************
*Game specific settings
*********************************************************************************/