/**************************************************************************** * MainMenu ***************************************************************************/ int MainMenu(int menu) { currentMenu = menu; InitGUIThreads(); InitProgressThread(); InitNetworkThread(); if (Settings.autonetwork) ResumeNetworkThread(); btnSoundClick = new GuiSound(NULL, 0, Settings.sfxvolume); btnSoundClick->LoadSoundEffect(Resources::GetFile("button_click.wav"), Resources::GetFileSize("button_click.wav")); btnSoundClick2 = new GuiSound(NULL, 0, Settings.sfxvolume); btnSoundClick2->LoadSoundEffect(Resources::GetFile("button_click2.wav"), Resources::GetFileSize("button_click2.wav")); btnSoundOver = new GuiSound(NULL, 0, Settings.sfxvolume); btnSoundOver->LoadSoundEffect(Resources::GetFile("button_over.wav"), Resources::GetFileSize("button_over.wav")); pointer[0] = new WiiPointer("player1_point.png"); pointer[1] = new WiiPointer("player2_point.png"); pointer[2] = new WiiPointer("player3_point.png"); pointer[3] = new WiiPointer("player4_point.png"); mainWindow = new GuiWindow(screenwidth, screenheight); background = Resources::GetImageData(Settings.widescreen ? "wbackground.png" : "background.png"); bgImg = new GuiImage(background); mainWindow->Append(bgImg); ResumeGui(); bgMusic = new GuiBGM(Resources::GetFile("bg_music.ogg"), Resources::GetFileSize("bg_music.ogg"), Settings.volume); bgMusic->SetLoop(Settings.musicloopmode); //loop music bgMusic->Load(Settings.ogg_path); bgMusic->Play(); MountGamePartition(); while (currentMenu != MENU_EXIT) { bgMusic->SetVolume(Settings.volume); switch (currentMenu) { case MENU_SETTINGS: currentMenu = GlobalSettings::Execute(); break; case MENU_THEMEMENU: currentMenu = ThemeMenu::Execute(); break; // case MENU_THEMEDOWNLOADER: // currentMenu = ThemeDownloader::Execute(); // break; case MENU_HOMEBREWBROWSE: currentMenu = HomebrewBrowser::Execute(); break; case MENU_DISCLIST: default: // unrecognized menu currentMenu = GameBrowseMenu::Execute(); break; } } //! THIS SHOULD NEVER HAPPEN ANYMORE ExitApp(); return -1; }
/**************************************************************************** * MenuSettings ***************************************************************************/ int MenuSettingsNetwork() { int menu = MENU_NONE; int ret = -1; int i = 0; int focus = 0; int network = Options.temp_network; int wifigecko = Options.temp_wifigecko; int newrevtext = Options.temp_newrevtext; OptionList options; sprintf(options.name[i++], tr("Auto Connect")); sprintf(options.name[i++], tr("Enable Wifi Gecko")); sprintf(options.name[i++], tr("Update Info")); options.length = i; GuiImageData bgImgData(Theme.background); GuiImageData btnOutline(Theme.button_small); GuiImageData btnOutlineOver(Theme.button_small_focus); GuiTrigger trigA; trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A); GuiImage bgImg(&bgImgData); GuiText titleTxt(tr("Network Settings"), 28, (GXColor){Theme.title_1, Theme.title_2, Theme.title_3, 255}); titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP); titleTxt.SetPosition(50,50); GuiText okBtnTxt(tr("OK"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage okBtnImg(&btnOutline); GuiImage okBtnImgOver(&btnOutlineOver); GuiButton okBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); okBtn.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM); okBtn.SetPosition(100, -35); okBtn.SetLabel(&okBtnTxt); okBtn.SetImage(&okBtnImg); okBtn.SetImageOver(&okBtnImgOver); okBtn.SetTrigger(&trigA); okBtn.SetEffectGrow(); GuiText backBtnTxt(tr("Stop"), 22, (GXColor){Theme.button_small_text_1, Theme.button_small_text_2, Theme.button_small_text_3, 255}); GuiImage backBtnImg(&btnOutline); GuiImage backBtnImgOver(&btnOutlineOver); GuiButton backBtn(btnOutline.GetWidth(), btnOutline.GetHeight()); backBtn.SetAlignment(ALIGN_RIGHT, ALIGN_BOTTOM); backBtn.SetPosition(-100, -35); backBtn.SetLabel(&backBtnTxt); backBtn.SetImage(&backBtnImg); backBtn.SetImageOver(&backBtnImgOver); backBtn.SetTrigger(&trigA); backBtn.SetEffectGrow(); GuiOptionBrowser optionBrowser(552, 248, &options); optionBrowser.SetPosition(0, 108); optionBrowser.SetAlignment(ALIGN_CENTRE, ALIGN_TOP); optionBrowser.SetCol2Position(340); HaltGui(); GuiWindow w(screenwidth, screenheight); w.Append(&bgImg); w.Append(&titleTxt); w.Append(&okBtn); w.Append(&backBtn); mainWindow->Append(&w); mainWindow->Append(&optionBrowser); mainWindow->ChangeFocus(&optionBrowser); ResumeGui(); int change = 0; while(menu == MENU_NONE) { usleep(100); ret = optionBrowser.GetChangedOption(); if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_RIGHT | WPAD_CLASSIC_BUTTON_RIGHT) || PAD_ButtonsDown(0) & PAD_BUTTON_RIGHT) { change = 0; switch (ret) { case 0: change = network; change++; if(change > 1) change = 1; network = change; break; case 1: change = wifigecko; change++; if(change > 1) change = 1; wifigecko = change; break; case 2: change = newrevtext; change++; if(change > 1) change = 1; newrevtext = change; break; } HaltResumeGui(); } if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_LEFT | WPAD_CLASSIC_BUTTON_LEFT) || PAD_ButtonsDown(0) & PAD_BUTTON_LEFT) { change = 0; switch (ret) { case 0: change = network; change--; if(change < 0) change = 0; network = change; break; case 1: change = wifigecko; change--; if(change < 0) change = 0; wifigecko = change; break; case 2: change = newrevtext; change--; if(change < 0) change = 0; newrevtext = change; break; } HaltResumeGui(); } if(change != -1) { change = -1; if(network == 0) sprintf (options.value[0], tr("No")); else sprintf (options.value[0], tr("Yes")); if(wifigecko == 0) sprintf (options.value[1], tr("No")); else sprintf (options.value[1], tr("Yes")); if(newrevtext == 0) sprintf (options.value[2], tr("No")); else sprintf (options.value[2], tr("Yes")); optionBrowser.TriggerUpdate(); } if(optionBrowser.GetClickedOption() != -1) optionBrowser.TriggerUpdate(); if(WPAD_ButtonsDown(0) & (WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B) || PAD_ButtonsDown(0) & PAD_BUTTON_B) { if(focus == 0) { focus = 1; mainWindow->ChangeFocus(&w); } else { focus = 0; mainWindow->ChangeFocus(&optionBrowser); } HaltResumeGui(); } if(okBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; if (Options.temp_network != network) { if(network == 1) { ResumeNetworkThread(); } else { HaltNetworkThread(); } } Options.temp_network = network; Options.temp_wifigecko = wifigecko; Options.temp_newrevtext = newrevtext; menu = MENU_SETTINGS_FILE; } if(backBtn.GetState() == STATE_CLICKED) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } if(runaway == true) { Options.temp_last_setting = 1; menu = MENU_SETTINGS_FILE; } } HaltGui(); mainWindow->Remove(&optionBrowser); mainWindow->Remove(&w); return menu; }