diff --git a/data/help/english.txt b/data/help/english.txt index 72425d68..62a90f89 100644 --- a/data/help/english.txt +++ b/data/help/english.txt @@ -1,59 +1,59 @@ - Controls: - Main menu (coverflow) : -- Up / Down = Previous / next game (vertical) -- Left / Right = Previous / next game (horizontal) -- Minus / Plus = Fast skip through games --- A = Select game --- B+A = Launch game immediately -- Home = Open Home Menu / Exit WiiFlow --- 1 / 2 = Previous / next coverflow mode +-- Home (sourceflow/menu) = Open source menu config +-- Home (homebrew flow) = Open homebrew flow config +-- 1 / 2 = Previous / next coverflow layout +-- A = Select game +-- B = Open Source Menu (if installed) +-- B+A = Launch game immediately -- B+Left / B+Right = Change Song --- B+UP / B+DOWN = previous / next game in sorted list (alpha default) --- B+Onscreen Arrows = previous / next game in sorted list (alpha default) --- B+Minus = Switch Partition --- B+Plus = Select Sort Type (alpha, wifi, players, playcount, etc...) +-- B+UP / B+DOWN = Previous / next game in sorted list (alpha default) +-- B+Minus = Boot a random game of the current coverflow +-- B+Plus = Select sort type (alpha, wifi, players, playcount, etc...) -- Z / ZR = Take Screenshot +-- A on Onscreen Arrows = Fast skip through games +-- B on Onscreen Arrows = previous / next game in sorted list (alpha default) -- A on Star Icon = Favorites -- B on Star Icon = Categories -- A on Gear Icon = WiiFlow settings --- A on USB(Wii), GC, Channels, Plugin, or Homebrew Icon = Switch to that view --- B on USB(Wii), GC, Channels, Plugin, or Homebrew Icon = Open Source Menu --- B only = Open Source Menu (if enabled) +-- A on USB(Wii), GC, Channels, Plugin, or Homebrew Icon = Switch to that source -- A on Home Icon = Open Home Menu / Exit WiiFlow -- A on Disc Icon (Game Disc in Drive) = Launch game disc --- A on Question Mark Icon = View help file --- B on Question Mark Icon = Boot a random game of the current coverflow - Game: --- A on box = Show the backside +-- A on box = Flip Cover -- A out of screen = Launch game --- B = Back to coverflow --- Up / Down = Previous / next game (vertical) --- Left / Right = Previous / next game (horizontal) --- Plus = Game Info ----Right (in Game Info) = Game Description ----Left (in Game Desc) = Game Info -- A on Star Icon = Toggle Favorite (Yellow = Favorite) -- B on Star Icon = Set Categories for game -- A on Hand Icon = Parental Lock (Red = locked) -- A on Gear Icon = Game Settings -- A on X Icon = Delete Game +-- B = Back to coverflow +-- Up / Down = Previous / next game (vertical) +-- Left / Right = Previous / next game (horizontal) +-- Minus = Play game video if available +-- Plus = Game Info +---Right (in Game Info) = Game Description +---Left (in Game Desc) = Game Info +- Flipped Cover: +-- B = Reset cover +-- Up / Down / Left / Right = Move cover +-- Plus = Zoom in +-- Minus = Zoom out + - Settings menus: -- Minus / Plus = Previous / next page -- Left / Right = Previous / next page +-- Up / Down = Previous / next button - Coverflow Adjust settings: -- B+Minus / B+Plus = Previous / next page -- B = Faster adjustment (B+A instead of just A to click a button) -- B+1 = Copy whole coverflow --- B+2 = Paste coverflow - -TIPS for running games that crash: -If the game just locks up with a black screen at launch then check to see if it is a PAL game. - (Press the Plus button on the game screen.) If it is PAL, then set the game's video mode to "PAL 50Hz" in the game's setting screen. - You can also use a Component Cable and set your Wii to 480p to fix that problem. - -If a game crashes, then try running the game again. If it continually crashes, then turn the USB Emulation to \"Off\" in the game's setting screen. +-- B+2 = Paste coverflow \ No newline at end of file diff --git a/out/boot.dol b/out/boot.dol index aececfe7..01dcf598 100644 Binary files a/out/boot.dol and b/out/boot.dol differ diff --git a/source/const_str.hpp b/source/const_str.hpp index 3273a7ab..a871a143 100644 --- a/source/const_str.hpp +++ b/source/const_str.hpp @@ -7,7 +7,7 @@ #include "defines.h" #include "svnrev.h" -static const string &VERSION_STRING = sfmt("%s (%s-r%s)", APP_NAME, APP_VERSION, SVN_REV); +static const string &VERSION_STRING = sfmt("%s %s (r%s)", APP_NAME, APP_VERSION, SVN_REV); static const wstringEx SVN_REV_W(SVN_REV); static const wstringEx PLAYER_BATTERY_LABEL("P1 %003.f%% | P2 %003.f%% | P3 %003.f%% | P4 %003.f%%"); #endif diff --git a/source/defines.h b/source/defines.h index adf77a04..13aefab0 100644 --- a/source/defines.h +++ b/source/defines.h @@ -1,5 +1,5 @@ #define APP_NAME "WiiFlow Lite" -#define APP_VERSION "Beta 4.3.0" +#define APP_VERSION "4.4.0" #define APP_DATA_DIR "wiiflow" #define APPS_DIR "apps/wiiflow_lite" diff --git a/source/gui/coverflow.cpp b/source/gui/coverflow.cpp index cc3cc601..766fa4e8 100644 --- a/source/gui/coverflow.cpp +++ b/source/gui/coverflow.cpp @@ -206,6 +206,7 @@ CCoverFlow::CCoverFlow(void) m_deletePicsAfterCaching = false; m_pluginCacheFolders = false; m_box = true; + m_smallBox = false; m_useHQcover = false; m_rows = 1; m_columns = 11; @@ -295,6 +296,11 @@ void CCoverFlow::setBoxMode(bool box) m_box = box; } +void CCoverFlow::setSmallBoxMode(bool smallBox) +{ + m_smallBox = smallBox; +} + void CCoverFlow::setHQcover(bool HQ) { m_useHQcover = HQ; @@ -2771,7 +2777,7 @@ const char *CCoverFlow::getPathId(const dir_discHdr *curHdr, bool extension) { if(curHdr->type == TYPE_HOMEBREW || extension) NameOrID = strrchr(curHdr->path, '/') + 1;//returns title.ext or folder name for app - else + else // plugin and sourceflow NameOrID = fmt("%ls", curHdr->title);// title without extension in lowercase } else @@ -2787,6 +2793,9 @@ CCoverFlow::CLRet CCoverFlow::_loadCoverTex(u32 i, bool box, bool hq, bool blank if(!m_loadingCovers) return CL_ERROR; + if(box && m_smallBox)//prevent smallbox from loading full box cover + return CL_ERROR; + bool allocFailed = false; // Try to find the texture in the cache diff --git a/source/gui/coverflow.hpp b/source/gui/coverflow.hpp index fb6a1cbc..2fb3c9f8 100644 --- a/source/gui/coverflow.hpp +++ b/source/gui/coverflow.hpp @@ -89,6 +89,7 @@ public: void setFont(const SFont &font, const CColor &color); void setRange(u32 rows, u32 columns); void setBoxMode(bool box); + void setSmallBoxMode(bool smallBox); void setHQcover(bool HQ); void setTextureQuality(float lodBias, int aniso, bool edgeLOD); void setCameraPos(bool selected, const Vector3D &pos, const Vector3D &aim); @@ -271,6 +272,7 @@ private: SFont m_font; CColor m_fontColor; bool m_box; + bool m_smallBox; bool m_useHQcover; bool m_dvdskin_loaded; bool m_defcovers_loaded; diff --git a/source/loader/sys.c b/source/loader/sys.c index 11697c28..b1f9a926 100644 --- a/source/loader/sys.c +++ b/source/loader/sys.c @@ -117,6 +117,7 @@ void Sys_Exit(void) IOS_ReloadIOS(0xfe); else if(ExitOption == EXIT_TO_HBC) { + WII_LaunchTitle(HBC_OHBC); WII_LaunchTitle(HBC_LULZ); WII_LaunchTitle(HBC_108); WII_LaunchTitle(HBC_JODI); diff --git a/source/loader/sys.h b/source/loader/sys.h index 7822b1e2..6bc0fb91 100644 --- a/source/loader/sys.h +++ b/source/loader/sys.h @@ -8,10 +8,11 @@ extern "C" { #endif /* __cplusplus */ -#define HBC_LULZ 0x000100014c554c5aULL +#define HBC_OHBC 0x000100014f484243ULL//1.1.3 +#define HBC_LULZ 0x000100014c554c5aULL//1.1.1 #define HBC_108 0x00010001af1bf516ULL -#define HBC_JODI 0x0001000148415858ULL -#define HBC_HAXX 0x000100014a4f4449ULL +#define HBC_JODI 0x000100014a4f4449ULL +#define HBC_HAXX 0x0001000148415858ULL #define RETURN_CHANNEL 0x0001000857494948ULL #define SYSTEM_MENU 0x0000000100000002ULL diff --git a/source/menu/menu.cpp b/source/menu/menu.cpp index d5cf8c74..b5e09bc1 100644 --- a/source/menu/menu.cpp +++ b/source/menu/menu.cpp @@ -1264,6 +1264,8 @@ void CMenu::_buildMenus(void) _initConfigScreenMenu(); _initConfig3Menu(); _initConfigMenu(); + _initConfigGCMenu(); + _initPartitionsCfgMenu(); _initGameMenu(); _initDownloadMenu(); _initCodeMenu(); @@ -1920,6 +1922,8 @@ void CMenu::_updateText(void) _textConfig4(); _textConfigAdv(); _textConfigSnd(); + _textConfigGC(); + _textPartitionsCfg(); _textCfgHB(); _textGame(); _textDownload(); @@ -2132,11 +2136,20 @@ void CMenu::_initCF(void) CoverFlow.setSorting(m_source_cnt > 1 ? (Sorting)0 : (Sorting)m_cfg.getInt(_domainFromView(), "sort", 0)); if(m_current_view == COVERFLOW_HOMEBREW) + { CoverFlow.setBoxMode(m_cfg.getBool(HOMEBREW_DOMAIN, "box_mode", true)); + CoverFlow.setSmallBoxMode(m_cfg.getBool(HOMEBREW_DOMAIN, "smallbox", false)); + } else if(m_sourceflow) + { CoverFlow.setBoxMode(m_cfg.getBool(SOURCEFLOW_DOMAIN, "box_mode", true)); + CoverFlow.setSmallBoxMode(m_cfg.getBool(SOURCEFLOW_DOMAIN, "smallbox", false)); + } else + { CoverFlow.setBoxMode(m_cfg.getBool("GENERAL", "box_mode", true)); + CoverFlow.setSmallBoxMode(false); + } CoverFlow.setCompression(m_cfg.getBool("GENERAL", "allow_texture_compression", true)); CoverFlow.setBufferSize(m_cfg.getInt("GENERAL", "cover_buffer", 20)); CoverFlow.setHQcover(m_cfg.getBool("GENERAL", "cover_use_hq", true)); @@ -2606,11 +2619,10 @@ const char *CMenu::getBoxPath(const dir_discHdr *element) return fmt("%s/%s.png", m_boxPicDir.c_str(), strrchr(element->path, '/') + 1); else if(element->type == TYPE_SOURCE)//sourceflow { - const char *m_sflowDir = m_cfg.getString("GENERAL", "dir_Source", fmt("%s/source_menu", m_dataDir.c_str())).c_str(); const char *coverImg = strrchr(element->path, '/') + 1; - if(coverImg == NULL || m_cfg.getBool(SOURCEFLOW_DOMAIN, "smallbox")) + if(coverImg == NULL) return NULL; - return fmt("%s/full_covers/%s", m_sflowDir, coverImg); + return fmt("%s/full_covers/%s", m_sourceDir.c_str(), coverImg); } return fmt("%s/%s.png", m_boxPicDir.c_str(), element->id); } @@ -2632,14 +2644,13 @@ const char *CMenu::getFrontPath(const dir_discHdr *element) return fmt("%s/icon.png", element->path); else if(element->type == TYPE_SOURCE)//sourceflow { - const char *m_sflowDir = m_cfg.getString("GENERAL", "dir_Source", fmt("%s/source_menu", m_dataDir.c_str())).c_str(); const char *coverImg = strrchr(element->path, '/') + 1; if(coverImg == NULL) return NULL; - const char *coverPath = fmt("%s/front_covers/%s", m_sflowDir, coverImg); + const char *coverPath = fmt("%s/front_covers/%s", m_sourceDir.c_str(), coverImg); if(m_cfg.getBool(SOURCEFLOW_DOMAIN, "smallbox") || !fsop_FileExist(coverPath)) { - coverPath = fmt("%s/small_covers/%s", m_sflowDir, coverImg); + coverPath = fmt("%s/small_covers/%s", m_sourceDir.c_str(), coverImg); if(!fsop_FileExist(coverPath)) return element->path; } diff --git a/source/menu/menu.hpp b/source/menu/menu.hpp index 0c077f4a..ffe0f9d2 100644 --- a/source/menu/menu.hpp +++ b/source/menu/menu.hpp @@ -53,6 +53,7 @@ private: u8 m_source_cnt; u8 enabledPluginsCount; u8 m_catStartPage; + u8 m_max_categories; bool m_clearCats; bool show_mem; vector m_gameList; @@ -222,10 +223,8 @@ private: s16 m_configLblParental; s16 m_configBtnUnlock; s16 m_configBtnSetCode; - s16 m_configLblPartitionName; s16 m_configLblPartition; - s16 m_configBtnPartitionP; - s16 m_configBtnPartitionM; + s16 m_configBtnPartition; s16 m_configLblCfg4; s16 m_configBtnCfg4; s16 m_configLblUser[4]; @@ -252,18 +251,8 @@ private: s16 m_config3LblVideo; s16 m_config3BtnVideoP; s16 m_config3BtnVideoM; - s16 m_config3LblGCGameLanguage; - s16 m_config3LblGCLanguage; - s16 m_config3BtnGCLanguageP; - s16 m_config3BtnGCLanguageM; - s16 m_config3LblGCGameVideo; - s16 m_config3LblGCVideo; - s16 m_config3BtnGCVideoP; - s16 m_config3BtnGCVideoM; - s16 m_config3LblGCGameLoader; - s16 m_config3LblGCLoader; - s16 m_config3BtnGCLoaderP; - s16 m_config3BtnGCLoaderM; + s16 m_config3LblGCDefaults; + s16 m_config3BtnGCDefaults; s16 m_config3LblChannelsType; s16 m_config3LblChannelsTypeVal; s16 m_config3BtnChannelsTypeP; @@ -728,7 +717,6 @@ private: lwp_t m_gameSoundThread; bool m_gamesound_changed; u8 m_bnrSndVol; - u8 m_max_categories; bool m_video_playing; private: @@ -875,6 +863,8 @@ private: void _initConfig4Menu(); void _initConfigSndMenu(); void _initConfigScreenMenu(); + void _initConfigGCMenu(); + void _initPartitionsCfgMenu(); void _initGameMenu(); void _initDownloadMenu(); void _initCodeMenu(); @@ -911,6 +901,8 @@ private: void _textConfig4(void); void _textConfigAdv(void); void _textConfigSnd(void); + void _textConfigGC(void); + void _textPartitionsCfg(void); void _textGame(void); void _textDownload(void); void _textCode(void); @@ -937,6 +929,8 @@ private: void _hideConfig4(bool instant = false); void _hideConfigAdv(bool instant = false); void _hideConfigSnd(bool instant = false); + void _hideConfigGC(bool instant = false); + void _hidePartitionsCfg(bool instant = false); void _hideGame(bool instant = false); void _hideDownload(bool instant = false); void _hideSettings(bool instant = false); @@ -946,7 +940,7 @@ private: void _hideWBFS(bool instant = false); void _hideCFTheme(bool instant = false); void _hideGameSettings(bool instant = false); - void _hideGameSettingsPg(); + void _hideGameSettingsPg(bool instant = false); void _hideSource(bool instant = false); void _hidePluginSettings(bool instant = false); void _hideCategorySettings(bool instant = false); @@ -971,6 +965,8 @@ private: void _showConfig4(void); void _showConfigAdv(void); void _showConfigSnd(void); + void _showConfigGC(void); + void _showPartitionsCfg(void); void _showNandEmu(void); void _showGame(void); void _showDownload(void); @@ -1022,6 +1018,8 @@ private: int _config4(void); int _configAdv(void); int _configSnd(void); + void _configGC(void); + void _partitionsCfg(void); int _NandEmuCfg(void); int _AutoExtractSave(string gameId); int _FlashSave(string gameId); diff --git a/source/menu/menu_about.cpp b/source/menu/menu_about.cpp index 5ea23e6c..f233f061 100644 --- a/source/menu/menu_about.cpp +++ b/source/menu/menu_about.cpp @@ -19,29 +19,21 @@ void CMenu::_about(bool help) int pixels_to_skip = 10; int amount_of_skips = 0; int xtra_skips = 0; - bool first = true; - _textAbout(); - m_btnMgr.reset(m_aboutLblInfo, true); - - SetupInput(); - _showAbout(); - int thanks_h = m_theme.getInt("ABOUT/INFO", "height", 300); int thanks_th = 0; + SetupInput(); + _textAbout(); + m_btnMgr.reset(m_aboutLblInfo, true); + _showAbout(); + m_btnMgr.getTotalHeight(m_aboutLblInfo, thanks_th); + m_btnMgr.moveBy(m_aboutLblInfo, 0, -1); + while(!m_exit) { _mainLoopCommon(); - if(first) - { - m_btnMgr.getTotalHeight(m_aboutLblInfo, thanks_th); - m_btnMgr.moveBy(m_aboutLblInfo, 0, -1); - m_btnMgr.moveBy(m_aboutLblInfo, 0, -pixels_to_skip); - first = false; - } - - if((BTN_DOWN_PRESSED || BTN_DOWN_HELD) && thanks_th >thanks_h) + if((BTN_DOWN_PRESSED || BTN_DOWN_HELD) && thanks_th > thanks_h) { if((thanks_th - amount_of_skips * pixels_to_skip) >= thanks_h) { @@ -156,7 +148,7 @@ void CMenu::_textAbout(void) // show credits and current cIOS m_btnMgr.setText(m_aboutLblTitle, VERSION_STRING); - wstringEx developers(wfmt(_fmt("about6", L"\nCurrent Developers:\n%s"), DEVELOPERS)); + wstringEx developers(wfmt(_fmt("about6", L"Current Developers:\n%s"), DEVELOPERS)); wstringEx pDevelopers(wfmt(_fmt("about7", L"Past Developers:\n%s"), PAST_DEVELOPERS)); wstringEx origLoader(wfmt(_fmt("about1", L"Original Loader By:\n%s"), LOADER_AUTHOR)); diff --git a/source/menu/menu_config.cpp b/source/menu/menu_config.cpp index bd545131..0b0add83 100644 --- a/source/menu/menu_config.cpp +++ b/source/menu/menu_config.cpp @@ -19,10 +19,8 @@ void CMenu::_hideConfig(bool instant) { _hideConfigCommon(instant); - m_btnMgr.hide(m_configLblPartitionName, instant); m_btnMgr.hide(m_configLblPartition, instant); - m_btnMgr.hide(m_configBtnPartitionP, instant); - m_btnMgr.hide(m_configBtnPartitionM, instant); + m_btnMgr.hide(m_configBtnPartition, instant); m_btnMgr.hide(m_configLblDownload, instant); m_btnMgr.hide(m_configBtnDownload, instant); m_btnMgr.hide(m_configLblParental, instant); @@ -55,16 +53,8 @@ void CMenu::_showConfig(void) m_btnMgr.show(m_configLblDownload); m_btnMgr.show(m_configBtnDownload); - if(m_source_cnt > 1) - currentPartition = 0; - else - currentPartition = m_cfg.getInt(_domainFromView(), "partition", 0); - const char *partitionname = DeviceName[currentPartition]; - m_btnMgr.setText(m_configLblPartition, upperCase(partitionname)); - m_btnMgr.show(m_configLblPartitionName); m_btnMgr.show(m_configLblPartition); - m_btnMgr.show(m_configBtnPartitionP); - m_btnMgr.show(m_configBtnPartitionM); + m_btnMgr.show(m_configBtnPartition); m_btnMgr.show(m_configLblCfg4); m_btnMgr.show(m_configBtnCfg4); @@ -145,7 +135,6 @@ int CMenu::_config1(void) SetupInput(); _showConfig(); - s32 bCurrentPartition = currentPartition; while(!m_exit) { @@ -188,10 +177,10 @@ int CMenu::_config1(void) } _showConfig(); } - else if ((m_btnMgr.selected(m_configBtnPartitionP) || m_btnMgr.selected(m_configBtnPartitionM)) && m_source_cnt == 1) + else if (m_btnMgr.selected(m_configBtnPartition)) { - s8 direction = m_btnMgr.selected(m_configBtnPartitionP) ? 1 : -1; - _setPartition(direction); + _hideConfig(); + _partitionsCfg(); _showConfig(); } else if (m_btnMgr.selected(m_configBtnCfg4)) @@ -202,8 +191,6 @@ int CMenu::_config1(void) } } } - if(currentPartition != bCurrentPartition) - m_refreshGameList = true; _hideConfig(); return change; } @@ -218,10 +205,8 @@ void CMenu::_initConfigMenu() m_configLblParental = _addLabel("CONFIG/PARENTAL", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_configBtnUnlock = _addButton("CONFIG/UNLOCK_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); m_configBtnSetCode = _addButton("CONFIG/SETCODE_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); - m_configLblPartitionName = _addLabel("CONFIG/PARTITION", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_configLblPartition = _addLabel("CONFIG/PARTITION_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_configBtnPartitionM = _addPicButton("CONFIG/PARTITION_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 250, 48, 48); - m_configBtnPartitionP = _addPicButton("CONFIG/PARTITION_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 250, 48, 48); + m_configLblPartition = _addLabel("CONFIG/PARTITION", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_configBtnPartition = _addButton("CONFIG/PARTITION_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); m_configLblCfg4 = _addLabel("CONFIG/CFG4", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_configBtnCfg4 = _addButton("CONFIG/CFG4_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); m_configLblPage = _addLabel("CONFIG/PAGE_BTN", theme.btnFont, L"", 68, 400, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); @@ -236,10 +221,8 @@ void CMenu::_initConfigMenu() _setHideAnim(m_configLblParental, "CONFIG/PARENTAL", 50, 0, -2.f, 0.f); _setHideAnim(m_configBtnUnlock, "CONFIG/UNLOCK_BTN", -50, 0, 1.f, 0.f); _setHideAnim(m_configBtnSetCode, "CONFIG/SETCODE_BTN", -50, 0, 1.f, 0.f); - _setHideAnim(m_configLblPartitionName, "CONFIG/PARTITION", 50, 0, -2.f, 0.f); - _setHideAnim(m_configLblPartition, "CONFIG/PARTITION_BTN", -50, 0, 1.f, 0.f); - _setHideAnim(m_configBtnPartitionM, "CONFIG/PARTITION_MINUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_configBtnPartitionP, "CONFIG/PARTITION_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configLblPartition, "CONFIG/PARTITION", 50, 0, -2.f, 0.f); + _setHideAnim(m_configBtnPartition, "CONFIG/PARTITION_BTN", -50, 0, 1.f, 0.f); _setHideAnim(m_configLblCfg4, "CONFIG/CFG4", 50, 0, -2.f, 0.f); _setHideAnim(m_configBtnCfg4, "CONFIG/CFG4_BTN", -50, 0, 1.f, 0.f); _setHideAnim(m_configBtnBack, "CONFIG/BACK_BTN", 0, 0, 1.f, -1.f); @@ -258,8 +241,9 @@ void CMenu::_textConfig(void) m_btnMgr.setText(m_configLblParental, _t("cfg5", L"Parental control")); m_btnMgr.setText(m_configBtnUnlock, _t("cfg6", L"Unlock")); m_btnMgr.setText(m_configBtnSetCode, _t("cfg7", L"Set code")); - m_btnMgr.setText(m_configLblPartitionName, _t("cfgp1", L"Game Partition")); - m_btnMgr.setText(m_configBtnBack, _t("cfg10", L"Back")); + m_btnMgr.setText(m_configLblPartition, _t("cfg17", L"Game Partitions")); + m_btnMgr.setText(m_configBtnPartition, _t("cfg14", L"Set")); m_btnMgr.setText(m_configLblCfg4, _t("cfg13", L"NAND Emulation Settings")); m_btnMgr.setText(m_configBtnCfg4, _t("cfg14", L"Set")); + m_btnMgr.setText(m_configBtnBack, _t("cfg10", L"Back")); } diff --git a/source/menu/menu_config3.cpp b/source/menu/menu_config3.cpp index 452bcd5b..7e58af63 100644 --- a/source/menu/menu_config3.cpp +++ b/source/menu/menu_config3.cpp @@ -12,32 +12,18 @@ void CMenu::_hideConfig3(bool instant) { _hideConfigCommon(instant); - if(m_current_view != COVERFLOW_GAMECUBE) - { - m_btnMgr.hide(m_config3LblGameLanguage, instant); - m_btnMgr.hide(m_config3LblLanguage, instant); - m_btnMgr.hide(m_config3BtnLanguageP, instant); - m_btnMgr.hide(m_config3BtnLanguageM, instant); - m_btnMgr.hide(m_config3LblGameVideo, instant); - m_btnMgr.hide(m_config3LblVideo, instant); - m_btnMgr.hide(m_config3BtnVideoP, instant); - m_btnMgr.hide(m_config3BtnVideoM, instant); - } - else - { - m_btnMgr.hide(m_config3LblGCGameLanguage, instant); - m_btnMgr.hide(m_config3LblGCLanguage, instant); - m_btnMgr.hide(m_config3BtnGCLanguageP, instant); - m_btnMgr.hide(m_config3BtnGCLanguageM, instant); - m_btnMgr.hide(m_config3LblGCGameVideo, instant); - m_btnMgr.hide(m_config3LblGCVideo, instant); - m_btnMgr.hide(m_config3BtnGCVideoP, instant); - m_btnMgr.hide(m_config3BtnGCVideoM, instant); - } - m_btnMgr.hide(m_config3LblGCGameLoader, instant); - m_btnMgr.hide(m_config3LblGCLoader, instant); - m_btnMgr.hide(m_config3BtnGCLoaderP, instant); - m_btnMgr.hide(m_config3BtnGCLoaderM, instant); + m_btnMgr.hide(m_config3LblGameLanguage, instant); + m_btnMgr.hide(m_config3LblLanguage, instant); + m_btnMgr.hide(m_config3BtnLanguageP, instant); + m_btnMgr.hide(m_config3BtnLanguageM, instant); + + m_btnMgr.hide(m_config3LblGameVideo, instant); + m_btnMgr.hide(m_config3LblVideo, instant); + m_btnMgr.hide(m_config3BtnVideoP, instant); + m_btnMgr.hide(m_config3BtnVideoM, instant); + + m_btnMgr.hide(m_config3LblGCDefaults, instant); + m_btnMgr.hide(m_config3BtnGCDefaults, instant); m_btnMgr.hide(m_config3LblChannelsType, instant); m_btnMgr.hide(m_config3LblChannelsTypeVal, instant); @@ -53,32 +39,18 @@ void CMenu::_showConfig3(void) { _showConfigCommon(m_config3Bg, g_curPage); - if(m_current_view != COVERFLOW_GAMECUBE) - { - m_btnMgr.show(m_config3LblGameLanguage); - m_btnMgr.show(m_config3LblLanguage); - m_btnMgr.show(m_config3BtnLanguageP); - m_btnMgr.show(m_config3BtnLanguageM); - m_btnMgr.show(m_config3LblGameVideo); - m_btnMgr.show(m_config3LblVideo); - m_btnMgr.show(m_config3BtnVideoP); - m_btnMgr.show(m_config3BtnVideoM); - } - else - { - m_btnMgr.show(m_config3LblGCGameLanguage); - m_btnMgr.show(m_config3LblGCLanguage); - m_btnMgr.show(m_config3BtnGCLanguageP); - m_btnMgr.show(m_config3BtnGCLanguageM); - m_btnMgr.show(m_config3LblGCGameVideo); - m_btnMgr.show(m_config3LblGCVideo); - m_btnMgr.show(m_config3BtnGCVideoP); - m_btnMgr.show(m_config3BtnGCVideoM); - } - m_btnMgr.show(m_config3LblGCGameLoader); - m_btnMgr.show(m_config3LblGCLoader); - m_btnMgr.show(m_config3BtnGCLoaderP); - m_btnMgr.show(m_config3BtnGCLoaderM); + m_btnMgr.show(m_config3LblGameLanguage); + m_btnMgr.show(m_config3LblLanguage); + m_btnMgr.show(m_config3BtnLanguageP); + m_btnMgr.show(m_config3BtnLanguageM); + + m_btnMgr.show(m_config3LblGameVideo); + m_btnMgr.show(m_config3LblVideo); + m_btnMgr.show(m_config3BtnVideoP); + m_btnMgr.show(m_config3BtnVideoM); + + m_btnMgr.show(m_config3LblGCDefaults); + m_btnMgr.show(m_config3BtnGCDefaults); m_btnMgr.show(m_config3LblChannelsType); m_btnMgr.show(m_config3LblChannelsTypeVal); @@ -89,27 +61,12 @@ void CMenu::_showConfig3(void) if(m_config3LblUser[i] != -1) m_btnMgr.show(m_config3LblUser[i]); - int i; - - if(m_current_view != COVERFLOW_GAMECUBE) - { - i = min(max(0, m_cfg.getInt("GENERAL", "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalVideoModes) - 1); - m_btnMgr.setText(m_config3LblVideo, _t(CMenu::_GlobalVideoModes[i].id, CMenu::_GlobalVideoModes[i].text)); - - i = min(max(0, m_cfg.getInt("GENERAL", "game_language", 0)), (int)ARRAY_SIZE(CMenu::_languages) - 1); - m_btnMgr.setText(m_config3LblLanguage, _t(CMenu::_languages[i].id, CMenu::_languages[i].text)); - } - else - { - i = min(max(0, m_cfg.getInt(GC_DOMAIN, "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGCvideoModes) - 1); - m_btnMgr.setText(m_config3LblGCVideo, _t(CMenu::_GlobalGCvideoModes[i].id, CMenu::_GlobalGCvideoModes[i].text)); - - i = min(max(0, m_cfg.getInt(GC_DOMAIN, "game_language", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGClanguages) - 1); - m_btnMgr.setText(m_config3LblGCLanguage, _t(CMenu::_GlobalGClanguages[i].id, CMenu::_GlobalGClanguages[i].text)); - } - i = min(max(0, m_cfg.getInt(GC_DOMAIN, "default_loader", 2)), (int)ARRAY_SIZE(CMenu::_GlobalGCLoaders) - 1); - m_btnMgr.setText(m_config3LblGCLoader, _t(CMenu::_GlobalGCLoaders[i].id, CMenu::_GlobalGCLoaders[i].text)); + int i = min(max(0, m_cfg.getInt("GENERAL", "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalVideoModes) - 1); + m_btnMgr.setText(m_config3LblVideo, _t(CMenu::_GlobalVideoModes[i].id, CMenu::_GlobalVideoModes[i].text)); + i = min(max(0, m_cfg.getInt("GENERAL", "game_language", 0)), (int)ARRAY_SIZE(CMenu::_languages) - 1); + m_btnMgr.setText(m_config3LblLanguage, _t(CMenu::_languages[i].id, CMenu::_languages[i].text)); + i = m_cfg.getInt(CHANNEL_DOMAIN, "channels_type") - 1; m_btnMgr.setText(m_config3LblChannelsTypeVal, _t(CMenu::_ChannelsType[i].id, CMenu::_ChannelsType[i].text)); } @@ -138,22 +95,10 @@ int CMenu::_config3(void) m_cfg.setInt("GENERAL", "video_mode", (int)loopNum((u32)m_cfg.getInt("GENERAL", "video_mode", 0) + direction, ARRAY_SIZE(CMenu::_GlobalVideoModes))); _showConfig3(); } - else if (m_btnMgr.selected(m_config3BtnGCLanguageP) || m_btnMgr.selected(m_config3BtnGCLanguageM)) + else if (m_btnMgr.selected(m_config3BtnGCDefaults)) { - s8 direction = m_btnMgr.selected(m_config3BtnGCLanguageP) ? 1 : -1; - m_cfg.setInt(GC_DOMAIN, "game_language", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "game_language", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGClanguages))); - _showConfig3(); - } - else if (m_btnMgr.selected(m_config3BtnGCVideoP) || m_btnMgr.selected(m_config3BtnGCVideoM)) - { - s8 direction = m_btnMgr.selected(m_config3BtnGCVideoP) ? 1 : -1; - m_cfg.setInt(GC_DOMAIN, "video_mode", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "video_mode", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGCvideoModes))); - _showConfig3(); - } - else if (m_btnMgr.selected(m_config3BtnGCLoaderP) || m_btnMgr.selected(m_config3BtnGCLoaderM)) - { - s8 direction = m_btnMgr.selected(m_config3BtnGCLoaderP) ? 1 : -1; - m_cfg.setInt(GC_DOMAIN, "default_loader", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "default_loader", 1) + direction, ARRAY_SIZE(CMenu::_GlobalGCLoaders))); + _hideConfig3(); + _configGC(); _showConfig3(); } else if (m_btnMgr.selected(m_config3BtnChannelsTypeP) || m_btnMgr.selected(m_config3BtnChannelsTypeM)) @@ -161,7 +106,13 @@ int CMenu::_config3(void) s8 direction = m_btnMgr.selected(m_config3BtnChannelsTypeP) ? 1 : -1; m_cfg.setInt(CHANNEL_DOMAIN, "channels_type", 1 + (int)loopNum((u32)m_cfg.getInt(CHANNEL_DOMAIN, "channels_type", 1) - 1 + direction, ARRAY_SIZE(CMenu::_ChannelsType))); _showConfig3(); - if(m_current_view & COVERFLOW_CHANNEL) + m_cfg.setBool(PLUGIN_ENABLED, "4e414e44", false); + m_cfg.setBool(PLUGIN_ENABLED, "454e414e", false); + if(m_cfg.getInt(CHANNEL_DOMAIN, "channels_type") & CHANNELS_REAL) + m_cfg.setBool(PLUGIN_ENABLED, "4e414e44", true); + if(m_cfg.getInt(CHANNEL_DOMAIN, "channels_type") & CHANNELS_EMU) + m_cfg.setBool(PLUGIN_ENABLED, "454e414e", true); + if(m_current_view & COVERFLOW_CHANNEL || m_current_view & COVERFLOW_PLUGIN) m_refreshGameList = true; } } @@ -174,27 +125,19 @@ void CMenu::_initConfig3Menu() { _addUserLabels(m_config3LblUser, ARRAY_SIZE(m_config3LblUser), "CONFIG3"); m_config3Bg = _texture("CONFIG3/BG", "texture", theme.bg, false); + m_config3LblGameVideo = _addLabel("CONFIG3/VIDEO", theme.lblFont, L"", 20, 125, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_config3LblVideo = _addLabel("CONFIG3/VIDEO_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); m_config3BtnVideoM = _addPicButton("CONFIG3/VIDEO_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); m_config3BtnVideoP = _addPicButton("CONFIG3/VIDEO_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); + m_config3LblGameLanguage = _addLabel("CONFIG3/GAME_LANG", theme.lblFont, L"", 20, 185, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_config3LblLanguage = _addLabel("CONFIG3/GAME_LANG_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); m_config3BtnLanguageM = _addPicButton("CONFIG3/GAME_LANG_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); m_config3BtnLanguageP = _addPicButton("CONFIG3/GAME_LANG_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); - m_config3LblGCGameVideo = _addLabel("CONFIG3/DML_VIDEO", theme.lblFont, L"", 20, 125, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_config3LblGCVideo = _addLabel("CONFIG3/DML_VIDEO_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_config3BtnGCVideoM = _addPicButton("CONFIG3/DML_VIDEO_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); - m_config3BtnGCVideoP = _addPicButton("CONFIG3/DML_VIDEO_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); - m_config3LblGCGameLanguage = _addLabel("CONFIG3/DML_LANG", theme.lblFont, L"", 20, 185, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_config3LblGCLanguage = _addLabel("CONFIG3/DML_LANG_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_config3BtnGCLanguageM = _addPicButton("CONFIG3/DML_LANG_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); - m_config3BtnGCLanguageP = _addPicButton("CONFIG3/DML_LANG_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); - m_config3LblGCGameLoader = _addLabel("CONFIG3/GC_LOADER", theme.lblFont, L"", 20, 245, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_config3LblGCLoader = _addLabel("CONFIG3/GC_LOADER_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_config3BtnGCLoaderM = _addPicButton("CONFIG3/GC_LOADER_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 250, 48, 48); - m_config3BtnGCLoaderP = _addPicButton("CONFIG3/GC_LOADER_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 250, 48, 48); + m_config3LblGCDefaults = _addLabel("CONFIG3/GC_DEFAULTS", theme.lblFont, L"", 20, 245, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_config3BtnGCDefaults = _addButton("CONFIG3/GC_DEFAULTS_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); m_config3LblChannelsType = _addLabel("CONFIG3/CHANNELS_TYPE", theme.lblFont, L"", 20, 305, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_config3LblChannelsTypeVal = _addLabel("CONFIG3/CHANNELS_TYPE_BTN", theme.btnFont, L"", 468, 310, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); @@ -210,18 +153,8 @@ void CMenu::_initConfig3Menu() _setHideAnim(m_config3BtnLanguageM, "CONFIG3/GAME_LANG_MINUS", -50, 0, 1.f, 0.f); _setHideAnim(m_config3BtnLanguageP, "CONFIG3/GAME_LANG_PLUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3LblGCGameVideo, "CONFIG3/DML_VIDEO", 50, 0, -2.f, 0.f); - _setHideAnim(m_config3LblGCVideo, "CONFIG3/DML_VIDEO_BTN", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCVideoM, "CONFIG3/DML_VIDEO_MINUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCVideoP, "CONFIG3/DML_VIDEO_PLUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3LblGCGameLanguage, "CONFIG3/DML_LANG", 50, 0, -2.f, 0.f); - _setHideAnim(m_config3LblGCLanguage, "CONFIG3/DML_LANG_BTN", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCLanguageM, "CONFIG3/DML_LANG_MINUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCLanguageP, "CONFIG3/DML_LANG_PLUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3LblGCGameLoader, "CONFIG3/GC_LOADER", 50, 0, -2.f, 0.f); - _setHideAnim(m_config3LblGCLoader, "CONFIG3/GC_LOADER_BTN", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCLoaderM, "CONFIG3/GC_LOADER_MINUS", -50, 0, 1.f, 0.f); - _setHideAnim(m_config3BtnGCLoaderP, "CONFIG3/GC_LOADER_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_config3LblGCDefaults, "CONFIG3/GC_DEFAULTS", 50, 0, -2.f, 0.f); + _setHideAnim(m_config3BtnGCDefaults, "CONFIG3/GC_DEFAULTS_BTN", -50, 0, 1.f, 0.f); _setHideAnim(m_config3LblChannelsType, "CONFIG3/CHANNELS_TYPE", 50, 0, -2.f, 0.f); _setHideAnim(m_config3LblChannelsTypeVal, "CONFIG3/CHANNELS_TYPE_BTN", -50, 0, 1.f, 0.f); @@ -235,9 +168,8 @@ void CMenu::_textConfig3(void) { m_btnMgr.setText(m_config3LblGameVideo, _t("cfgb3", L"Default video mode")); m_btnMgr.setText(m_config3LblGameLanguage, _t("cfgb4", L"Default game language")); - m_btnMgr.setText(m_config3LblGCGameVideo, _t("cfgb5", L"Default GC video mode")); - m_btnMgr.setText(m_config3LblGCGameLanguage, _t("cfgb6", L"Default GC game language")); - m_btnMgr.setText(m_config3LblGCGameLoader, _t("cfgb2", L"Default GC game loader")); + m_btnMgr.setText(m_config3LblGCDefaults, _t("cfgb9", L"GameCube default settings")); + m_btnMgr.setText(m_config3BtnGCDefaults, _t("dl16", L"Set")); m_btnMgr.setText(m_config3LblChannelsType, _t("cfgb7", L"Channels Type")); } diff --git a/source/menu/menu_config_game.cpp b/source/menu/menu_config_game.cpp index a6b5b63b..f701a942 100644 --- a/source/menu/menu_config_game.cpp +++ b/source/menu/menu_config_game.cpp @@ -35,11 +35,16 @@ void CMenu::_hideGameSettings(bool instant) m_btnMgr.hide(m_gameSettingsBtnPageP, instant); m_btnMgr.hide(m_gameSettingsBtnBack, instant); m_btnMgr.hide(m_gameSettingsLblTitle, instant); + for(u8 i = 0; i < ARRAY_SIZE(m_gameSettingsLblUser); ++i) + if(m_gameSettingsLblUser[i] != -1) + m_btnMgr.hide(m_gameSettingsLblUser[i], instant); + _hideGameSettingsPg(instant); +} + +void CMenu::_hideGameSettingsPg(bool instant) +{ + //Does not hide title, page, back, or user labels //Wii & Channels - m_btnMgr.hide(m_gameSettingsLblManage, instant); - m_btnMgr.hide(m_gameSettingsBtnManage, instant); - m_btnMgr.hide(m_gameSettingsBtnCategoryMain, instant); - m_btnMgr.hide(m_gameSettingsLblCategoryMain, instant); m_btnMgr.hide(m_gameSettingsLblHooktype, instant); m_btnMgr.hide(m_gameSettingsLblHooktypeVal, instant); m_btnMgr.hide(m_gameSettingsBtnHooktypeM, instant); @@ -60,7 +65,7 @@ void CMenu::_hideGameSettings(bool instant) m_btnMgr.hide(m_gameSettingsLblIOS, instant); m_btnMgr.hide(m_gameSettingsBtnIOSP, instant); m_btnMgr.hide(m_gameSettingsBtnIOSM, instant); - // + //wii only m_btnMgr.hide(m_gameSettingsLblEmulation, instant); m_btnMgr.hide(m_gameSettingsLblEmulationVal, instant); m_btnMgr.hide(m_gameSettingsBtnEmulationP, instant); @@ -71,7 +76,11 @@ void CMenu::_hideGameSettings(bool instant) m_btnMgr.hide(m_gameSettingsBtnFlashSave, instant); m_btnMgr.hide(m_gameSettingsLblPrivateServer, instant); m_btnMgr.hide(m_gameSettingsBtnPrivateServer, instant); - //GC, Wii, and Channels + //All + m_btnMgr.hide(m_gameSettingsLblManage, instant); + m_btnMgr.hide(m_gameSettingsBtnManage, instant); + m_btnMgr.hide(m_gameSettingsBtnCategoryMain, instant); + m_btnMgr.hide(m_gameSettingsLblCategoryMain, instant); m_btnMgr.hide(m_gameSettingsLblGameLanguage, instant); m_btnMgr.hide(m_gameSettingsLblLanguage, instant); m_btnMgr.hide(m_gameSettingsBtnLanguageP, instant); @@ -118,172 +127,54 @@ void CMenu::_hideGameSettings(bool instant) m_btnMgr.hide(m_gameSettingsBtnCustom, instant); m_btnMgr.hide(m_gameSettingsLblLaunchNK, instant); m_btnMgr.hide(m_gameSettingsBtnLaunchNK, instant); - - for(u8 i = 0; i < ARRAY_SIZE(m_gameSettingsLblUser); ++i) - if(m_gameSettingsLblUser[i] != -1) - m_btnMgr.hide(m_gameSettingsLblUser[i], instant); } -void CMenu::_hideGameSettingsPg(void) -{ - //Does not hide title, page, back, or user labels - if(m_gameSettingsPage == 1) - { - m_btnMgr.hide(m_gameSettingsLblManage); - m_btnMgr.hide(m_gameSettingsBtnManage); - - m_btnMgr.hide(m_gameSettingsLblGCLoader); - m_btnMgr.hide(m_gameSettingsLblGCLoader_Val); - m_btnMgr.hide(m_gameSettingsBtnGCLoader_P); - m_btnMgr.hide(m_gameSettingsBtnGCLoader_M); - - m_btnMgr.hide(m_gameSettingsBtnCategoryMain); - m_btnMgr.hide(m_gameSettingsLblCategoryMain); - - m_btnMgr.hide(m_gameSettingsLblGameLanguage); - m_btnMgr.hide(m_gameSettingsLblLanguage); - m_btnMgr.hide(m_gameSettingsBtnLanguageP); - m_btnMgr.hide(m_gameSettingsBtnLanguageM); - - m_btnMgr.hide(m_gameSettingsLblGameVideo); - m_btnMgr.hide(m_gameSettingsLblVideo); - m_btnMgr.hide(m_gameSettingsBtnVideoP); - m_btnMgr.hide(m_gameSettingsBtnVideoM); - } - if(m_gameSettingsPage == 2) - { - m_btnMgr.hide(m_gameSettingsLblDebugger); - m_btnMgr.hide(m_gameSettingsLblDebuggerV); - m_btnMgr.hide(m_gameSettingsBtnDebuggerP); - m_btnMgr.hide(m_gameSettingsBtnDebuggerM); - - m_btnMgr.hide(m_gameSettingsLblHooktype); - m_btnMgr.hide(m_gameSettingsLblHooktypeVal); - m_btnMgr.hide(m_gameSettingsBtnHooktypeM); - m_btnMgr.hide(m_gameSettingsBtnHooktypeP); - - m_btnMgr.hide(m_gameSettingsLblDeflicker); - m_btnMgr.hide(m_gameSettingsBtnDeflicker); - - m_btnMgr.hide(m_gameSettingsLblOcarina); - m_btnMgr.hide(m_gameSettingsBtnOcarina); - - m_btnMgr.hide(m_gameSettingsLblCheat); - m_btnMgr.hide(m_gameSettingsBtnCheat); - - m_btnMgr.hide(m_gameSettingsLblDevoMemcardEmu); - m_btnMgr.hide(m_gameSettingsBtnDevoMemcardEmu); - - m_btnMgr.hide(m_gameSettingsLblWidescreen); - m_btnMgr.hide(m_gameSettingsBtnWidescreen); - - m_btnMgr.hide(m_gameSettingsLblLED); - m_btnMgr.hide(m_gameSettingsBtnLED); - } - if(m_gameSettingsPage == 3) - { - m_btnMgr.hide(m_gameSettingsLblPatchVidModes); - m_btnMgr.hide(m_gameSettingsLblPatchVidModesVal); - m_btnMgr.hide(m_gameSettingsBtnPatchVidModesM); - m_btnMgr.hide(m_gameSettingsBtnPatchVidModesP); - - m_btnMgr.hide(m_gameSettingsLblVipatch); - m_btnMgr.hide(m_gameSettingsBtnVipatch); - - m_btnMgr.hide(m_gameSettingsLblCountryPatch); - m_btnMgr.hide(m_gameSettingsBtnCountryPatch); - - m_btnMgr.hide(m_gameSettingsLblAspectRatio); - m_btnMgr.hide(m_gameSettingsLblAspectRatioVal); - m_btnMgr.hide(m_gameSettingsBtnAspectRatioP); - m_btnMgr.hide(m_gameSettingsBtnAspectRatioM); - - m_btnMgr.hide(m_gameSettingsLblApploader); - m_btnMgr.hide(m_gameSettingsBtnApploader); - - m_btnMgr.hide(m_gameSettingsLblEmuMemCard); - m_btnMgr.hide(m_gameSettingsLblEmuMemCard_Val); - m_btnMgr.hide(m_gameSettingsBtnEmuMemCard_P); - m_btnMgr.hide(m_gameSettingsBtnEmuMemCard_M); - - m_btnMgr.hide(m_gameSettingsLblWidescreen); - m_btnMgr.hide(m_gameSettingsBtnWidescreen); - - m_btnMgr.hide(m_gameSettingsLblUSB_HID); - m_btnMgr.hide(m_gameSettingsBtnUSB_HID); - - m_btnMgr.hide(m_gameSettingsLblNATIVE_CTL); - m_btnMgr.hide(m_gameSettingsBtnNATIVE_CTL); - } - if(m_gameSettingsPage == 4) - { - m_btnMgr.hide(m_gameSettingsLblArcade); - m_btnMgr.hide(m_gameSettingsBtnArcade); - - m_btnMgr.hide(m_gameSettingsLblCustom); - m_btnMgr.hide(m_gameSettingsBtnCustom); - - m_btnMgr.hide(m_gameSettingsLblLaunchNK); - m_btnMgr.hide(m_gameSettingsBtnLaunchNK); - - m_btnMgr.hide(m_gameSettingsLblEmulationVal); - m_btnMgr.hide(m_gameSettingsLblEmulation); - m_btnMgr.hide(m_gameSettingsBtnEmulationP); - m_btnMgr.hide(m_gameSettingsBtnEmulationM); - - m_btnMgr.hide(m_gameSettingsLblExtractSave); - m_btnMgr.hide(m_gameSettingsBtnExtractSave); - - m_btnMgr.hide(m_gameSettingsLblGameIOS); - m_btnMgr.hide(m_gameSettingsLblIOS); - m_btnMgr.hide(m_gameSettingsBtnIOSP); - m_btnMgr.hide(m_gameSettingsBtnIOSM); - - m_btnMgr.hide(m_gameSettingsLblLED); - m_btnMgr.hide(m_gameSettingsBtnLED); - } - if(m_gameSettingsPage == 5) - { - m_btnMgr.hide(m_gameSettingsLblFlashSave); - m_btnMgr.hide(m_gameSettingsBtnFlashSave); - - m_btnMgr.hide(m_gameSettingsLblPrivateServer); - m_btnMgr.hide(m_gameSettingsBtnPrivateServer); - } -} - void CMenu::_showGameSettings(void) { const char *id = CoverFlow.getId(); const dir_discHdr *GameHdr = CoverFlow.getHdr(); - _setBg(m_gameSettingsBg, m_gameSettingsBg); - m_btnMgr.show(m_gameSettingsLblPage); - m_btnMgr.show(m_gameSettingsBtnPageM); - m_btnMgr.show(m_gameSettingsBtnPageP); - m_btnMgr.show(m_gameSettingsBtnBack); - - wstringEx title(_t("cfgg1", L"Settings")); - title.append(wfmt(L" [%.6s]", id)); - m_btnMgr.setText(m_gameSettingsLblTitle, title); - m_btnMgr.show(m_gameSettingsLblTitle); - if(GameHdr->type == TYPE_GC_GAME) { GCLoader = min((u32)m_gcfg2.getInt(id, "gc_loader", 0), ARRAY_SIZE(CMenu::_GCLoader) - 1u); GCLoader = (GCLoader == 0) ? min((u32)m_cfg.getInt(GC_DOMAIN, "default_loader", 1), ARRAY_SIZE(CMenu::_GlobalGCLoaders) - 1u) : GCLoader-1; } - m_gameSettingsMaxPgs = 4; - if(GameHdr->type == TYPE_WII_GAME) - m_gameSettingsMaxPgs = 5; + m_gameSettingsMaxPgs = 5; + if(GameHdr->type == TYPE_GC_GAME && GCLoader == NINTENDONT) + m_gameSettingsMaxPgs = 4; else if(GameHdr->type == TYPE_GC_GAME && GCLoader == DEVOLUTION) m_gameSettingsMaxPgs = 2; + _setBg(m_gameSettingsBg, m_gameSettingsBg); + u32 i = 0; + for(i = 0; i < ARRAY_SIZE(m_gameSettingsLblUser); ++i) + if(m_gameSettingsLblUser[i] != -1) + m_btnMgr.show(m_gameSettingsLblUser[i]); + + wstringEx title(_t("cfgg1", L"Settings")); + title.append(wfmt(L" [%.6s]", id)); + m_btnMgr.setText(m_gameSettingsLblTitle, title); + m_btnMgr.show(m_gameSettingsLblTitle); + + m_btnMgr.show(m_gameSettingsBtnBack); + + if(GameHdr->type == TYPE_PLUGIN) + { + m_btnMgr.show(m_gameSettingsBtnCategoryMain); + m_btnMgr.show(m_gameSettingsLblCategoryMain); + return; + } + + m_btnMgr.setText(m_gameSettingsLblPage, wfmt(L"%i / %i", m_gameSettingsPage, m_gameSettingsMaxPgs)); + m_btnMgr.show(m_gameSettingsLblPage); + m_btnMgr.show(m_gameSettingsBtnPageM); + m_btnMgr.show(m_gameSettingsBtnPageP); + if(m_gameSettingsPage == 1) { - m_btnMgr.show(m_gameSettingsLblManage); - m_btnMgr.show(m_gameSettingsBtnManage); + m_btnMgr.show(m_gameSettingsBtnCategoryMain); + m_btnMgr.show(m_gameSettingsLblCategoryMain); if(GameHdr->type == TYPE_GC_GAME) { @@ -294,8 +185,10 @@ void CMenu::_showGameSettings(void) } else { - m_btnMgr.show(m_gameSettingsBtnCategoryMain); - m_btnMgr.show(m_gameSettingsLblCategoryMain); + m_btnMgr.show(m_gameSettingsLblGameIOS); + m_btnMgr.show(m_gameSettingsLblIOS); + m_btnMgr.show(m_gameSettingsBtnIOSP); + m_btnMgr.show(m_gameSettingsBtnIOSM); } m_btnMgr.show(m_gameSettingsLblGameLanguage); @@ -312,14 +205,17 @@ void CMenu::_showGameSettings(void) { if(GameHdr->type == TYPE_GC_GAME && GCLoader == DEVOLUTION) { + m_btnMgr.show(m_gameSettingsLblLED); + m_btnMgr.show(m_gameSettingsBtnLED); + m_btnMgr.show(m_gameSettingsLblDevoMemcardEmu); m_btnMgr.show(m_gameSettingsBtnDevoMemcardEmu); m_btnMgr.show(m_gameSettingsLblWidescreen); m_btnMgr.show(m_gameSettingsBtnWidescreen); - - m_btnMgr.show(m_gameSettingsLblLED); - m_btnMgr.show(m_gameSettingsBtnLED); + + m_btnMgr.show(m_gameSettingsLblManage); + m_btnMgr.show(m_gameSettingsBtnManage); } else { @@ -363,21 +259,16 @@ void CMenu::_showGameSettings(void) m_btnMgr.show(m_gameSettingsLblCountryPatch); m_btnMgr.show(m_gameSettingsBtnCountryPatch); - if(GameHdr->type == TYPE_WII_GAME) - { - m_btnMgr.show(m_gameSettingsLblAspectRatio); - m_btnMgr.show(m_gameSettingsLblAspectRatioVal); - m_btnMgr.show(m_gameSettingsBtnAspectRatioP); - m_btnMgr.show(m_gameSettingsBtnAspectRatioM); - } - else if(GameHdr->type == TYPE_CHANNEL || GameHdr->type == TYPE_EMUCHANNEL) - { - m_btnMgr.show(m_gameSettingsLblApploader); - m_btnMgr.show(m_gameSettingsBtnApploader); - } + m_btnMgr.show(m_gameSettingsLblAspectRatio); + m_btnMgr.show(m_gameSettingsLblAspectRatioVal); + m_btnMgr.show(m_gameSettingsBtnAspectRatioP); + m_btnMgr.show(m_gameSettingsBtnAspectRatioM); } - else if(GCLoader == NINTENDONT) + else { + m_btnMgr.show(m_gameSettingsLblLED); + m_btnMgr.show(m_gameSettingsBtnLED); + m_btnMgr.show(m_gameSettingsLblEmuMemCard); m_btnMgr.show(m_gameSettingsLblEmuMemCard_Val); m_btnMgr.show(m_gameSettingsBtnEmuMemCard_P); @@ -385,29 +276,37 @@ void CMenu::_showGameSettings(void) m_btnMgr.show(m_gameSettingsLblWidescreen); m_btnMgr.show(m_gameSettingsBtnWidescreen); - - m_btnMgr.show(m_gameSettingsLblUSB_HID); - m_btnMgr.show(m_gameSettingsBtnUSB_HID); - - m_btnMgr.show(m_gameSettingsLblNATIVE_CTL); - m_btnMgr.show(m_gameSettingsBtnNATIVE_CTL); + + m_btnMgr.show(m_gameSettingsLblManage); + m_btnMgr.show(m_gameSettingsBtnManage); } } if(m_gameSettingsPage == 4) { if(GameHdr->type == TYPE_GC_GAME) { + m_btnMgr.show(m_gameSettingsLblUSB_HID); + m_btnMgr.show(m_gameSettingsBtnUSB_HID); + + m_btnMgr.show(m_gameSettingsLblNATIVE_CTL); + m_btnMgr.show(m_gameSettingsBtnNATIVE_CTL); + m_btnMgr.show(m_gameSettingsBtnArcade); m_btnMgr.show(m_gameSettingsLblArcade); } else { - + m_btnMgr.show(m_gameSettingsLblManage); + m_btnMgr.show(m_gameSettingsBtnManage); + if(GameHdr->type == TYPE_CHANNEL || GameHdr->type == TYPE_EMUCHANNEL) { m_btnMgr.show(m_gameSettingsLblCustom); m_btnMgr.show(m_gameSettingsBtnCustom); + m_btnMgr.show(m_gameSettingsLblApploader); + m_btnMgr.show(m_gameSettingsBtnApploader); + m_btnMgr.show(m_gameSettingsLblLaunchNK); m_btnMgr.show(m_gameSettingsBtnLaunchNK); } @@ -420,36 +319,24 @@ void CMenu::_showGameSettings(void) m_btnMgr.show(m_gameSettingsLblExtractSave); m_btnMgr.show(m_gameSettingsBtnExtractSave); + + m_btnMgr.show(m_gameSettingsLblFlashSave); + m_btnMgr.show(m_gameSettingsBtnFlashSave); } - - m_btnMgr.show(m_gameSettingsLblGameIOS); - m_btnMgr.show(m_gameSettingsLblIOS); - m_btnMgr.show(m_gameSettingsBtnIOSP); - m_btnMgr.show(m_gameSettingsBtnIOSM); - - m_btnMgr.show(m_gameSettingsLblLED); - m_btnMgr.show(m_gameSettingsBtnLED); } } if(m_gameSettingsPage == 5) { - m_btnMgr.show(m_gameSettingsLblFlashSave); - m_btnMgr.show(m_gameSettingsBtnFlashSave); - - //maybe only show this if mariokart wii - m_btnMgr.show(m_gameSettingsLblPrivateServer); - m_btnMgr.show(m_gameSettingsBtnPrivateServer); + m_btnMgr.show(m_gameSettingsLblLED); + m_btnMgr.show(m_gameSettingsBtnLED); + + if(GameHdr->type == TYPE_WII_GAME) + { + m_btnMgr.show(m_gameSettingsLblPrivateServer); + m_btnMgr.show(m_gameSettingsBtnPrivateServer); + } } - u32 i = 0; - for(i = 0; i < ARRAY_SIZE(m_gameSettingsLblUser); ++i) - if(m_gameSettingsLblUser[i] != -1) - m_btnMgr.show(m_gameSettingsLblUser[i]); - - int page = m_gameSettingsPage; - u32 maxpage = m_gameSettingsMaxPgs; - - m_btnMgr.setText(m_gameSettingsLblPage, wfmt(L"%i / %i", page, maxpage)); m_btnMgr.setText(m_gameSettingsBtnOcarina, _optBoolToString(m_gcfg2.getOptBool(id, "cheat", 0))); m_btnMgr.setText(m_gameSettingsBtnLED, _optBoolToString(m_gcfg2.getOptBool(id, "led", 0))); @@ -782,11 +669,13 @@ void CMenu::_initGameSettingsMenu() m_gameSettingsLblTitle = _addTitle("GAME_SETTINGS/TITLE", theme.titleFont, L"", 0, 10, 640, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); // Page 1 - m_gameSettingsLblManage = _addLabel("GAME_SETTINGS/MANAGE", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnManage = _addButton("GAME_SETTINGS/MANAGE_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); + m_gameSettingsLblCategoryMain = _addLabel("GAME_SETTINGS/CAT_MAIN", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnCategoryMain = _addButton("GAME_SETTINGS/CAT_MAIN_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); - m_gameSettingsLblCategoryMain = _addLabel("GAME_SETTINGS/CAT_MAIN", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnCategoryMain = _addButton("GAME_SETTINGS/CAT_MAIN_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); + m_gameSettingsLblGameIOS = _addLabel("GAME_SETTINGS/IOS", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsLblIOS = _addLabel("GAME_SETTINGS/IOS_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_gameSettingsBtnIOSM = _addPicButton("GAME_SETTINGS/IOS_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); + m_gameSettingsBtnIOSP = _addPicButton("GAME_SETTINGS/IOS_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); m_gameSettingsLblGameLanguage = _addLabel("GAME_SETTINGS/GAME_LANG", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsLblLanguage = _addLabel("GAME_SETTINGS/GAME_LANG_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); @@ -823,16 +712,13 @@ void CMenu::_initGameSettingsMenu() //GC Page 2 //nintendont = debugger, deflicker, ocarina, cheats - //devolution = emucard, widescreen, led_activity(pg4), (blank) + //devolution = led_activity(pg5), emu_memcard, widescreen(pg3), mng_cvr_bnr (pg4) - m_gameSettingsLblDevoMemcardEmu = _addLabel("GAME_SETTINGS/DEVO_MEMCARD_EMU", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnDevoMemcardEmu = _addButton("GAME_SETTINGS/DEVO_MEMCARD_EMU_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); - m_gameSettingsLblDeflicker = _addLabel("GAME_SETTINGS/DEFLICKER", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsBtnDeflicker = _addButton("GAME_SETTINGS/DEFLICKER_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); - m_gameSettingsLblWidescreen = _addLabel("GAME_SETTINGS/WIDESCREEN", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnWidescreen = _addButton("GAME_SETTINGS/WIDESCREEN_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); + m_gameSettingsLblDevoMemcardEmu = _addLabel("GAME_SETTINGS/DEVO_MEMCARD_EMU", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnDevoMemcardEmu = _addButton("GAME_SETTINGS/DEVO_MEMCARD_EMU_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); //Page 3 m_gameSettingsLblCountryPatch = _addLabel("GAME_SETTINGS/COUNTRY_PATCH", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); @@ -851,24 +737,15 @@ void CMenu::_initGameSettingsMenu() m_gameSettingsBtnAspectRatioM = _addPicButton("GAME_SETTINGS/ASPECT_RATIO_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 310, 48, 48); m_gameSettingsBtnAspectRatioP = _addPicButton("GAME_SETTINGS/ASPECT_RATIO_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 310, 48, 48); -//Channels Page 3 line 4 - m_gameSettingsLblApploader = _addLabel("GAME_SETTINGS/APPLDR", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnApploader = _addButton("GAME_SETTINGS/APPLDR_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); +//GC Nintendont Page 3 + //nintendont = led_activity(pg5), emu_memcard, widescreen/wiiu widescreen, mng_cvr_bnr (pg4) + m_gameSettingsLblEmuMemCard = _addLabel("GAME_SETTINGS/DML_NMM", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsLblEmuMemCard_Val = _addLabel("GAME_SETTINGS/DML_NMM_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_gameSettingsBtnEmuMemCard_M = _addPicButton("GAME_SETTINGS/DML_NMM_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); + m_gameSettingsBtnEmuMemCard_P = _addPicButton("GAME_SETTINGS/DML_NMM_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); -//GC Page 3 - //nintendont=emucard, widescreen(pg2)/wiiu widescreen, usb_hid, native_ctl - //devo=nothing - - m_gameSettingsLblEmuMemCard = _addLabel("GAME_SETTINGS/DML_NMM", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsLblEmuMemCard_Val = _addLabel("GAME_SETTINGS/DML_NMM_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_gameSettingsBtnEmuMemCard_M = _addPicButton("GAME_SETTINGS/DML_NMM_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); - m_gameSettingsBtnEmuMemCard_P = _addPicButton("GAME_SETTINGS/DML_NMM_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); - - m_gameSettingsLblUSB_HID = _addLabel("GAME_SETTINGS/USB_HID", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnUSB_HID = _addButton("GAME_SETTINGS/USB_HID_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); - - m_gameSettingsLblNATIVE_CTL = _addLabel("GAME_SETTINGS/NATIVE_CTL", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnNATIVE_CTL = _addButton("GAME_SETTINGS/NATIVE_CTL_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); + m_gameSettingsLblWidescreen = _addLabel("GAME_SETTINGS/WIDESCREEN", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnWidescreen = _addButton("GAME_SETTINGS/WIDESCREEN_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); //Page 4 m_gameSettingsLblEmulation = _addLabel("GAME_SETTINGS/EMU_SAVE", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); @@ -876,31 +753,38 @@ void CMenu::_initGameSettingsMenu() m_gameSettingsBtnEmulationM = _addPicButton("GAME_SETTINGS/EMU_SAVE_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); m_gameSettingsBtnEmulationP = _addPicButton("GAME_SETTINGS/EMU_SAVE_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); - m_gameSettingsLblGameIOS = _addLabel("GAME_SETTINGS/IOS", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsLblIOS = _addLabel("GAME_SETTINGS/IOS_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); - m_gameSettingsBtnIOSM = _addPicButton("GAME_SETTINGS/IOS_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); - m_gameSettingsBtnIOSP = _addPicButton("GAME_SETTINGS/IOS_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); + m_gameSettingsLblExtractSave = _addLabel("GAME_SETTINGS/EXTRACT_SAVE", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnExtractSave = _addButton("GAME_SETTINGS/EXTRACT_SAVE_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); - m_gameSettingsLblLED = _addLabel("GAME_SETTINGS/LED", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnLED = _addButton("GAME_SETTINGS/LED_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); + m_gameSettingsLblFlashSave = _addLabel("GAME_SETTINGS/FLASH_SAVE", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnFlashSave = _addButton("GAME_SETTINGS/FLASH_SAVE_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); - m_gameSettingsLblExtractSave = _addLabel("GAME_SETTINGS/EXTRACT_SAVE", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnExtractSave = _addButton("GAME_SETTINGS/EXTRACT_SAVE_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); + m_gameSettingsLblManage = _addLabel("GAME_SETTINGS/MANAGE", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnManage = _addButton("GAME_SETTINGS/MANAGE_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); -//GC Nintendont Page 4 line 1 - m_gameSettingsLblArcade = _addLabel("GAME_SETTINGS/ARCADE", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnArcade = _addButton("GAME_SETTINGS/ARCADE_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); - -//Channels Page 4 line 1 and line 4 but only if emu NAND on USB1 +//Channels Page 4 m_gameSettingsLblCustom = _addLabel("GAME_SETTINGS/CUSTOM", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsBtnCustom = _addButton("GAME_SETTINGS/CUSTOM_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); - m_gameSettingsLblLaunchNK = _addLabel("GAME_SETTINGS/LAUNCHNEEK", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnLaunchNK = _addButton("GAME_SETTINGS/LAUNCHNEEK_BTN", theme.btnFont, L"", 420, 310, 200, 48, theme.btnFontColor); + m_gameSettingsLblApploader = _addLabel("GAME_SETTINGS/APPLDR", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnApploader = _addButton("GAME_SETTINGS/APPLDR_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); + + m_gameSettingsLblLaunchNK = _addLabel("GAME_SETTINGS/LAUNCHNEEK", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnLaunchNK = _addButton("GAME_SETTINGS/LAUNCHNEEK_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); + +//GC Nintendont Page 4 + m_gameSettingsLblUSB_HID = _addLabel("GAME_SETTINGS/USB_HID", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnUSB_HID = _addButton("GAME_SETTINGS/USB_HID_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); + + m_gameSettingsLblNATIVE_CTL = _addLabel("GAME_SETTINGS/NATIVE_CTL", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnNATIVE_CTL = _addButton("GAME_SETTINGS/NATIVE_CTL_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); + + m_gameSettingsLblArcade = _addLabel("GAME_SETTINGS/ARCADE", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnArcade = _addButton("GAME_SETTINGS/ARCADE_BTN", theme.btnFont, L"", 420, 250, 200, 48, theme.btnFontColor); //Page 5 - m_gameSettingsLblFlashSave = _addLabel("GAME_SETTINGS/FLASH_SAVE", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); - m_gameSettingsBtnFlashSave = _addButton("GAME_SETTINGS/FLASH_SAVE_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); + m_gameSettingsLblLED = _addLabel("GAME_SETTINGS/LED", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_gameSettingsBtnLED = _addButton("GAME_SETTINGS/LED_BTN", theme.btnFont, L"", 420, 130, 200, 48, theme.btnFontColor); m_gameSettingsLblPrivateServer = _addLabel("GAME_SETTINGS/PRIVATE_SERVER", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); m_gameSettingsBtnPrivateServer = _addButton("GAME_SETTINGS/PRIVATE_SERVER_BTN", theme.btnFont, L"", 420, 190, 200, 48, theme.btnFontColor); diff --git a/source/menu/menu_config_gc.cpp b/source/menu/menu_config_gc.cpp new file mode 100644 index 00000000..d57fb63d --- /dev/null +++ b/source/menu/menu_config_gc.cpp @@ -0,0 +1,177 @@ + +#include "menu.hpp" + +s16 m_configGCLblTitle; +s16 m_configGCBtnBack; +s16 m_configGCLblUser[4]; + +s16 m_configGCLblGCGameLanguage; +s16 m_configGCLblGCLanguage; +s16 m_configGCBtnGCLanguageP; +s16 m_configGCBtnGCLanguageM; + +s16 m_configGCLblGCGameVideo; +s16 m_configGCLblGCVideo; +s16 m_configGCBtnGCVideoP; +s16 m_configGCBtnGCVideoM; + +s16 m_configGCLblGCGameLoader; +s16 m_configGCLblGCLoader; +s16 m_configGCBtnGCLoaderP; +s16 m_configGCBtnGCLoaderM; + +TexData m_configGCBg; + +template static inline T loopNum(T i, T s) +{ + return (i + s) % s; +} + +void CMenu::_hideConfigGC(bool instant) +{ + m_btnMgr.hide(m_configGCLblTitle, instant); + m_btnMgr.hide(m_configGCBtnBack, instant); + for(u8 i = 0; i < ARRAY_SIZE(m_configGCLblUser); ++i) + if(m_configGCLblUser[i] != -1) + m_btnMgr.hide(m_configGCLblUser[i], instant); + + m_btnMgr.hide(m_configGCLblGCGameLanguage, instant); + m_btnMgr.hide(m_configGCLblGCLanguage, instant); + m_btnMgr.hide(m_configGCBtnGCLanguageP, instant); + m_btnMgr.hide(m_configGCBtnGCLanguageM, instant); + + m_btnMgr.hide(m_configGCLblGCGameVideo, instant); + m_btnMgr.hide(m_configGCLblGCVideo, instant); + m_btnMgr.hide(m_configGCBtnGCVideoP, instant); + m_btnMgr.hide(m_configGCBtnGCVideoM, instant); + + m_btnMgr.hide(m_configGCLblGCGameLoader, instant); + m_btnMgr.hide(m_configGCLblGCLoader, instant); + m_btnMgr.hide(m_configGCBtnGCLoaderP, instant); + m_btnMgr.hide(m_configGCBtnGCLoaderM, instant); +} + +void CMenu::_showConfigGC(void) +{ + m_btnMgr.show(m_configGCLblTitle); + m_btnMgr.show(m_configGCBtnBack); + for(u8 i = 0; i < ARRAY_SIZE(m_configGCLblUser); ++i) + if(m_configGCLblUser[i] != -1) + m_btnMgr.show(m_configGCLblUser[i]); + + m_btnMgr.show(m_configGCLblGCGameLanguage); + m_btnMgr.show(m_configGCLblGCLanguage); + m_btnMgr.show(m_configGCBtnGCLanguageP); + m_btnMgr.show(m_configGCBtnGCLanguageM); + + m_btnMgr.show(m_configGCLblGCGameVideo); + m_btnMgr.show(m_configGCLblGCVideo); + m_btnMgr.show(m_configGCBtnGCVideoP); + m_btnMgr.show(m_configGCBtnGCVideoM); + + m_btnMgr.show(m_configGCLblGCGameLoader); + m_btnMgr.show(m_configGCLblGCLoader); + m_btnMgr.show(m_configGCBtnGCLoaderP); + m_btnMgr.show(m_configGCBtnGCLoaderM); + + int i = min(max(0, m_cfg.getInt(GC_DOMAIN, "video_mode", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGCvideoModes) - 1); + m_btnMgr.setText(m_configGCLblGCVideo, _t(CMenu::_GlobalGCvideoModes[i].id, CMenu::_GlobalGCvideoModes[i].text)); + + i = min(max(0, m_cfg.getInt(GC_DOMAIN, "game_language", 0)), (int)ARRAY_SIZE(CMenu::_GlobalGClanguages) - 1); + m_btnMgr.setText(m_configGCLblGCLanguage, _t(CMenu::_GlobalGClanguages[i].id, CMenu::_GlobalGClanguages[i].text)); + + i = min(max(0, m_cfg.getInt(GC_DOMAIN, "default_loader", 2)), (int)ARRAY_SIZE(CMenu::_GlobalGCLoaders) - 1); + m_btnMgr.setText(m_configGCLblGCLoader, _t(CMenu::_GlobalGCLoaders[i].id, CMenu::_GlobalGCLoaders[i].text)); +} + +void CMenu::_configGC(void) +{ + SetupInput(); + _setBg(m_configGCBg, m_configGCBg); + _showConfigGC(); + while(!m_exit) + { + _mainLoopCommon(); + if(BTN_HOME_PRESSED || BTN_B_PRESSED) + break; + else if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); + else if(BTN_A_PRESSED) + { + if(m_btnMgr.selected(m_configGCBtnBack)) + break; + else if(m_btnMgr.selected(m_configGCBtnGCLanguageP) || m_btnMgr.selected(m_configGCBtnGCLanguageM)) + { + s8 direction = m_btnMgr.selected(m_configGCBtnGCLanguageP) ? 1 : -1; + m_cfg.setInt(GC_DOMAIN, "game_language", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "game_language", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGClanguages))); + _showConfigGC(); + } + else if(m_btnMgr.selected(m_configGCBtnGCVideoP) || m_btnMgr.selected(m_configGCBtnGCVideoM)) + { + s8 direction = m_btnMgr.selected(m_configGCBtnGCVideoP) ? 1 : -1; + m_cfg.setInt(GC_DOMAIN, "video_mode", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "video_mode", 0) + direction, ARRAY_SIZE(CMenu::_GlobalGCvideoModes))); + _showConfigGC(); + } + else if(m_btnMgr.selected(m_configGCBtnGCLoaderP) || m_btnMgr.selected(m_configGCBtnGCLoaderM)) + { + s8 direction = m_btnMgr.selected(m_configGCBtnGCLoaderP) ? 1 : -1; + m_cfg.setInt(GC_DOMAIN, "default_loader", (int)loopNum((u32)m_cfg.getInt(GC_DOMAIN, "default_loader", 1) + direction, ARRAY_SIZE(CMenu::_GlobalGCLoaders))); + _showConfigGC(); + } + } + } + _hideConfigGC(); +} + +void CMenu::_initConfigGCMenu(void) +{ + m_configGCBg = _texture("CONFIGGC/BG", "texture", theme.bg, false); + + _addUserLabels(m_configGCLblUser, ARRAY_SIZE(m_configGCLblUser), "CONFIGGC"); + m_configGCLblTitle = _addTitle("CONFIGGC/TITLE", theme.titleFont, L"", 0, 10, 640, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); + m_configGCBtnBack = _addButton("CONFIGGC/BACK_BTN", theme.btnFont, L"", 420, 400, 200, 48, theme.btnFontColor); + + m_configGCLblGCGameVideo = _addLabel("CONFIGGC/GC_VIDEO", theme.lblFont, L"", 20, 125, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_configGCLblGCVideo = _addLabel("CONFIGGC/GC_VIDEO_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_configGCBtnGCVideoM = _addPicButton("CONFIGGC/GC_VIDEO_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); + m_configGCBtnGCVideoP = _addPicButton("CONFIGGC/GC_VIDEO_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); + m_configGCLblGCGameLanguage = _addLabel("CONFIGGC/GC_LANG", theme.lblFont, L"", 20, 185, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_configGCLblGCLanguage = _addLabel("CONFIGGC/GC_LANG_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_configGCBtnGCLanguageM = _addPicButton("CONFIGGC/GC_LANG_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); + m_configGCBtnGCLanguageP = _addPicButton("CONFIGGC/GC_LANG_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); + m_configGCLblGCGameLoader = _addLabel("CONFIGGC/GC_LOADER", theme.lblFont, L"", 20, 245, 290, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_configGCLblGCLoader = _addLabel("CONFIGGC/GC_LOADER_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_configGCBtnGCLoaderM = _addPicButton("CONFIGGC/GC_LOADER_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 250, 48, 48); + m_configGCBtnGCLoaderP = _addPicButton("CONFIGGC/GC_LOADER_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 250, 48, 48); + + _setHideAnim(m_configGCLblTitle, "CONFIGGC/TITLE", 0, 0, -2.f, 0.f); + _setHideAnim(m_configGCBtnBack, "CONFIGGC/BACK_BTN", 0, 0, 1.f, -1.f); + + _setHideAnim(m_configGCLblGCGameVideo, "CONFIGGC/GC_VIDEO", 50, 0, -2.f, 0.f); + _setHideAnim(m_configGCLblGCVideo, "CONFIGGC/GC_VIDEO_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCVideoM, "CONFIGGC/GC_VIDEO_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCVideoP, "CONFIGGC/GC_VIDEO_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCLblGCGameLanguage, "CONFIGGC/GC_LANG", 50, 0, -2.f, 0.f); + _setHideAnim(m_configGCLblGCLanguage, "CONFIGGC/GC_LANG_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCLanguageM, "CONFIGGC/GC_LANG_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCLanguageP, "CONFIGGC/GC_LANG_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCLblGCGameLoader, "CONFIGGC/GC_LOADER", 50, 0, -2.f, 0.f); + _setHideAnim(m_configGCLblGCLoader, "CONFIGGC/GC_LOADER_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCLoaderM, "CONFIGGC/GC_LOADER_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_configGCBtnGCLoaderP, "CONFIGGC/GC_LOADER_PLUS", -50, 0, 1.f, 0.f); + + _hideConfigGC(true); + _textConfigGC(); +} + +void CMenu::_textConfigGC(void) +{ + m_btnMgr.setText(m_configGCLblTitle, _t("cfgb8", L"GameCube Settings")); + m_btnMgr.setText(m_configGCLblGCGameVideo, _t("cfgb5", L"Default GC video mode")); + m_btnMgr.setText(m_configGCLblGCGameLanguage, _t("cfgb6", L"Default GC game language")); + m_btnMgr.setText(m_configGCLblGCGameLoader, _t("cfgb2", L"Default GC game loader")); + m_btnMgr.setText(m_configGCBtnBack, _t("cfg10", L"Back")); +} + diff --git a/source/menu/menu_config_hb.cpp b/source/menu/menu_config_hb.cpp index ae0ddb92..b4108098 100644 --- a/source/menu/menu_config_hb.cpp +++ b/source/menu/menu_config_hb.cpp @@ -126,18 +126,6 @@ void CMenu::_CfgHB(void) _hideCfgHB(true); } -void CMenu::_textCfgHB(void) -{ - m_btnMgr.setText(m_cfghbLblTitle, _t("cfghb1", L"Homebrew Settings")); - m_btnMgr.setText(m_cfghbLblAdjustCF, _t("cfgc4", L"Adjust Coverflow")); - m_btnMgr.setText(m_cfghbBtnAdjustCF, _t("cfgc5", L"Go")); - m_btnMgr.setText(m_cfghbLblSmallbox, _t("cfghb2", L"Coverflow Smallbox")); - m_btnMgr.setText(m_cfghbLblBoxMode, _t("cfghb6", L"Box Mode")); - m_btnMgr.setText(m_cfghbLblPartition, _t("cfghb3", L"Homebrew Partition")); - m_btnMgr.setText(m_cfghbBtnBack, _t("cfg10", L"Back")); -} - - void CMenu::_initCfgHB(void) { m_cfghbBg = _texture("CFG_HB/BG", "texture", theme.bg, false); @@ -180,3 +168,14 @@ void CMenu::_initCfgHB(void) _hideCfgHB(true); _textCfgHB(); } + +void CMenu::_textCfgHB(void) +{ + m_btnMgr.setText(m_cfghbLblTitle, _t("cfghb1", L"Homebrew Settings")); + m_btnMgr.setText(m_cfghbLblAdjustCF, _t("cfgc4", L"Adjust Coverflow")); + m_btnMgr.setText(m_cfghbBtnAdjustCF, _t("cfgc5", L"Go")); + m_btnMgr.setText(m_cfghbLblSmallbox, _t("cfghb2", L"Coverflow Smallbox")); + m_btnMgr.setText(m_cfghbLblBoxMode, _t("cfghb4", L"Box Mode")); + m_btnMgr.setText(m_cfghbLblPartition, _t("cfghb3", L"Homebrew Partition")); + m_btnMgr.setText(m_cfghbBtnBack, _t("cfg10", L"Back")); +} diff --git a/source/menu/menu_config_source.cpp b/source/menu/menu_config_source.cpp index e4f48305..911af0e0 100644 --- a/source/menu/menu_config_source.cpp +++ b/source/menu/menu_config_source.cpp @@ -199,7 +199,7 @@ void CMenu::_textCfgSrc(void) m_btnMgr.setText(m_cfgsrcLblTitle, _t("cfgsm1", L"Source Menu Settings")); m_btnMgr.setText(m_cfgsrcLblEnableSF, _t("cfgsm3", L"Enable Sourceflow")); m_btnMgr.setText(m_cfgsrcLblSmallbox, _t("cfgsm4", L"Sourceflow Smallbox")); - m_btnMgr.setText(m_cfgsrcLblBoxMode, _t("cfghb6", L"Box Mode")); + m_btnMgr.setText(m_cfgsrcLblBoxMode, _t("cfghb4", L"Box Mode")); m_btnMgr.setText(m_cfgsrcLblAdjustCF, _t("cfgc4", L"Adjust Coverflow")); m_btnMgr.setText(m_cfgsrcBtnAdjustCF, _t("cfgc5", L"Go")); m_btnMgr.setText(m_cfgsrcLblMultisource, _t("cfgbt6", L"Enable Multisource Features")); diff --git a/source/menu/menu_game.cpp b/source/menu/menu_game.cpp index b38a2f65..fc341f56 100644 --- a/source/menu/menu_game.cpp +++ b/source/menu/menu_game.cpp @@ -607,12 +607,12 @@ void CMenu::_game(bool launch) error(_t("errgame15", L"WiiFlow locked! Unlock WiiFlow to use this feature.")); m_banner.SetShowBanner(true); } - else if(hdr->type == TYPE_PLUGIN) + /*else if(hdr->type == TYPE_PLUGIN) { m_banner.SetShowBanner(false); error(_t("errgame16", L"Not available for plugin games!")); m_banner.SetShowBanner(true); - } + }*/ else { m_banner.ToggleGameSettings(); @@ -1261,14 +1261,14 @@ void CMenu::_launchChannel(dir_discHdr *hdr) bool cheat = m_gcfg2.getBool(id, "cheat", false); bool countryPatch = m_gcfg2.getBool(id, "country_patch", false); - u8 videoMode = (u8)min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_VideoModes) - 1u); - videoMode = (videoMode == 0) ? (u8)min((u32)m_cfg.getInt("GENERAL", "video_mode", 0), ARRAY_SIZE(CMenu::_GlobalVideoModes) - 1) : videoMode-1; + u8 videoMode = (u8)min((u32)m_gcfg2.getInt(id, "video_mode", 0), ARRAY_SIZE(CMenu::_VideoModes) - 1); + videoMode = (videoMode == 0) ? (u8)min((u32)m_cfg.getInt("GENERAL", "video_mode", 0), ARRAY_SIZE(CMenu::_GlobalVideoModes) - 1) : videoMode - 1; - int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1u); + int language = min((u32)m_gcfg2.getInt(id, "language", 0), ARRAY_SIZE(CMenu::_languages) - 1); language = (language == 0) ? min((u32)m_cfg.getInt("GENERAL", "game_language", 0), ARRAY_SIZE(CMenu::_languages) - 1) : language; - u8 patchVidMode = min((u32)m_gcfg2.getInt(id, "patch_video_modes", 0), ARRAY_SIZE(CMenu::_vidModePatch) - 1u); - int aspectRatio = min((u32)m_gcfg2.getInt(id, "aspect_ratio", 0), ARRAY_SIZE(CMenu::_AspectRatio) - 1u)-1; + u8 patchVidMode = min((u32)m_gcfg2.getInt(id, "patch_video_modes", 0), ARRAY_SIZE(CMenu::_vidModePatch) - 1); + int aspectRatio = min((u32)m_gcfg2.getInt(id, "aspect_ratio", 0), ARRAY_SIZE(CMenu::_AspectRatio) - 1) - 1;// -1,0,1 const char *rtrn = m_gcfg2.getBool(id, "returnto", true) ? m_cfg.getString("GENERAL", "returnto").c_str() : NULL; u32 returnTo = rtrn[0] << 24 | rtrn[1] << 16 | rtrn[2] << 8 | rtrn[3]; diff --git a/source/menu/menu_gameinfo.cpp b/source/menu/menu_gameinfo.cpp index 4abb1fbb..312971a5 100644 --- a/source/menu/menu_gameinfo.cpp +++ b/source/menu/menu_gameinfo.cpp @@ -5,7 +5,7 @@ wstringEx gameinfo_Synopsis_w; wstringEx gameinfo_Title_w; -bool titlecheck = false; +bool tdb_found = false; u8 cnt_controlsreq = 0, cnt_controls = 0; void CMenu::_gameinfo(void) @@ -150,7 +150,7 @@ void CMenu::_showGameInfo(void) _textGameInfo(); - if(titlecheck) + if(tdb_found) { m_btnMgr.show(m_gameinfoLblID); m_btnMgr.show(m_gameinfoLblTitle); @@ -235,8 +235,8 @@ void CMenu::_textGameInfo(void) gametdb.OpenFile(fmt("%s/wiitdb.xml", m_settingsDir.c_str())); gametdb.SetLanguageCode(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str()); const char *TMP_Char = NULL; - titlecheck = gametdb.IsLoaded(); - if(titlecheck) + tdb_found = gametdb.IsLoaded(); + if(tdb_found) { char GameID[7]; GameID[6] = '\0'; diff --git a/source/menu/menu_home.cpp b/source/menu/menu_home.cpp index b03bc3be..f4eb18af 100644 --- a/source/menu/menu_home.cpp +++ b/source/menu/menu_home.cpp @@ -57,7 +57,11 @@ bool CMenu::_Home(void) /* and it always changes so... */ m_btnMgr.setText(m_homeLblBattery, wfmt(PLAYER_BATTERY_LABEL, min((float)wd[0]->battery_level, 100.f), min((float)wd[1]->battery_level, 100.f), min((float)wd[2]->battery_level, 100.f), min((float)wd[3]->battery_level, 100.f))); - if(BTN_A_PRESSED) + if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); + else if(BTN_A_PRESSED) { if(m_btnMgr.selected(m_homeBtnSettings))//actually help guide btn { @@ -149,7 +153,11 @@ bool CMenu::_ExitTo(void) while(!m_exit) { _mainLoopCommon(); - if(BTN_A_PRESSED) + if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); + else if(BTN_A_PRESSED) { if(m_btnMgr.selected(m_homeBtnExitToHBC)) { diff --git a/source/menu/menu_main.cpp b/source/menu/menu_main.cpp index 2cf9a879..a1d15739 100644 --- a/source/menu/menu_main.cpp +++ b/source/menu/menu_main.cpp @@ -311,7 +311,10 @@ int CMenu::main(void) { _CfgSrc(); if(BTN_B_HELD) + { + bheld = true; bUsed = true; + } if(!m_cfg.getBool(SOURCEFLOW_DOMAIN, "enabled")) { m_sourceflow = false; @@ -325,7 +328,10 @@ int CMenu::main(void) { _CfgHB(); if(BTN_B_HELD) + { + bheld = true; bUsed = true; + } _showMain(); } else diff --git a/source/menu/menu_nandemu.cpp b/source/menu/menu_nandemu.cpp index 1dc39ab3..bc237446 100644 --- a/source/menu/menu_nandemu.cpp +++ b/source/menu/menu_nandemu.cpp @@ -721,7 +721,11 @@ int CMenu::_AutoExtractSave(string gameId)// called from wii game config menu or while(!m_exit) { _mainLoopCommon(); - if((BTN_A_PRESSED && m_btnMgr.selected(m_nandemuBtnExtract)) || m_forceext) + if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); + else if((BTN_A_PRESSED && m_btnMgr.selected(m_nandemuBtnExtract)) || m_forceext) { m_forceext = false; m_fulldump = false; diff --git a/source/menu/menu_partitions.cpp b/source/menu/menu_partitions.cpp new file mode 100644 index 00000000..b366ec2e --- /dev/null +++ b/source/menu/menu_partitions.cpp @@ -0,0 +1,213 @@ + +#include "menu.hpp" + +s16 m_partitionsLblTitle; +s16 m_partitionsBtnBack; +s16 m_partitionsLblUser[4]; + +s16 m_partitionsLblWii; +s16 m_partitionsLblWiiVal; +s16 m_partitionsBtnWiiP; +s16 m_partitionsBtnWiiM; + +s16 m_partitionsLblGC; +s16 m_partitionsLblGCVal; +s16 m_partitionsBtnGCP; +s16 m_partitionsBtnGCM; + +s16 m_partitionsLblChannels; +s16 m_partitionsLblChannelsVal; +s16 m_partitionsBtnChannelsP; +s16 m_partitionsBtnChannelsM; + +s16 m_partitionsLblPlugin; +s16 m_partitionsLblPluginVal; +s16 m_partitionsBtnPluginP; +s16 m_partitionsBtnPluginM; + +TexData m_partitionsBg; + +void CMenu::_hidePartitionsCfg(bool instant) +{ + m_btnMgr.hide(m_partitionsLblTitle, instant); + m_btnMgr.hide(m_partitionsBtnBack, instant); + for(u8 i = 0; i < ARRAY_SIZE(m_partitionsLblUser); ++i) + if(m_partitionsLblUser[i] != -1) + m_btnMgr.hide(m_partitionsLblUser[i], instant); + + m_btnMgr.hide(m_partitionsLblWii, instant); + m_btnMgr.hide(m_partitionsLblWiiVal, instant); + m_btnMgr.hide(m_partitionsBtnWiiP, instant); + m_btnMgr.hide(m_partitionsBtnWiiM, instant); + m_btnMgr.hide(m_partitionsLblGC, instant); + m_btnMgr.hide(m_partitionsLblGCVal, instant); + m_btnMgr.hide(m_partitionsBtnGCP, instant); + m_btnMgr.hide(m_partitionsBtnGCM, instant); + m_btnMgr.hide(m_partitionsLblChannels, instant); + m_btnMgr.hide(m_partitionsLblChannelsVal, instant); + m_btnMgr.hide(m_partitionsBtnChannelsP, instant); + m_btnMgr.hide(m_partitionsBtnChannelsM, instant); + m_btnMgr.hide(m_partitionsLblPlugin, instant); + m_btnMgr.hide(m_partitionsLblPluginVal, instant); + m_btnMgr.hide(m_partitionsBtnPluginP, instant); + m_btnMgr.hide(m_partitionsBtnPluginM, instant); +} + +void CMenu::_showPartitionsCfg(void) +{ + m_btnMgr.show(m_partitionsLblTitle); + m_btnMgr.show(m_partitionsBtnBack); + for(u8 i = 0; i < ARRAY_SIZE(m_partitionsLblUser); ++i) + if(m_partitionsLblUser[i] != -1) + m_btnMgr.show(m_partitionsLblUser[i]); + + m_btnMgr.show(m_partitionsLblWii); + m_btnMgr.show(m_partitionsLblWiiVal); + m_btnMgr.show(m_partitionsBtnWiiP); + m_btnMgr.show(m_partitionsBtnWiiM); + m_btnMgr.show(m_partitionsLblGC); + m_btnMgr.show(m_partitionsLblGCVal); + m_btnMgr.show(m_partitionsBtnGCP); + m_btnMgr.show(m_partitionsBtnGCM); + m_btnMgr.show(m_partitionsLblChannels); + m_btnMgr.show(m_partitionsLblChannelsVal); + m_btnMgr.show(m_partitionsBtnChannelsP); + m_btnMgr.show(m_partitionsBtnChannelsM); + m_btnMgr.show(m_partitionsLblPlugin); + m_btnMgr.show(m_partitionsLblPluginVal); + m_btnMgr.show(m_partitionsBtnPluginP); + m_btnMgr.show(m_partitionsBtnPluginM); + + const char *partitionname = DeviceName[m_cfg.getInt(WII_DOMAIN, "partition", 0)]; + m_btnMgr.setText(m_partitionsLblWiiVal, upperCase(partitionname)); + partitionname = DeviceName[m_cfg.getInt(GC_DOMAIN, "partition", 0)]; + m_btnMgr.setText(m_partitionsLblGCVal, upperCase(partitionname)); + partitionname = DeviceName[m_cfg.getInt(CHANNEL_DOMAIN, "partition", 0)]; + m_btnMgr.setText(m_partitionsLblChannelsVal, upperCase(partitionname)); + partitionname = DeviceName[m_cfg.getInt(PLUGIN_DOMAIN, "partition", 0)]; + m_btnMgr.setText(m_partitionsLblPluginVal, upperCase(partitionname)); +} + +void CMenu::_partitionsCfg(void) +{ + m_prev_view = m_current_view; + int prevPartition = currentPartition; + SetupInput(); + _setBg(m_partitionsBg, m_partitionsBg); + _showPartitionsCfg(); + while(!m_exit) + { + _mainLoopCommon(); + if(BTN_HOME_PRESSED || BTN_B_PRESSED) + break; + else if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); + else if(BTN_A_PRESSED) + { + if(m_btnMgr.selected(m_partitionsBtnBack)) + break; + else if(m_btnMgr.selected(m_partitionsBtnWiiP) || m_btnMgr.selected(m_partitionsBtnWiiM)) + { + s8 direction = m_btnMgr.selected(m_partitionsBtnWiiP) ? 1 : -1; + currentPartition = m_cfg.getInt(WII_DOMAIN, "partition"); + m_current_view = COVERFLOW_WII; + _setPartition(direction); + _showPartitionsCfg(); + if(m_prev_view & COVERFLOW_WII) + m_refreshGameList = true; + } + else if(m_btnMgr.selected(m_partitionsBtnGCP) || m_btnMgr.selected(m_partitionsBtnGCM)) + { + s8 direction = m_btnMgr.selected(m_partitionsBtnGCP) ? 1 : -1; + currentPartition = m_cfg.getInt(GC_DOMAIN, "partition"); + m_current_view = COVERFLOW_GAMECUBE; + _setPartition(direction); + _showPartitionsCfg(); + if(m_prev_view & COVERFLOW_GAMECUBE) + m_refreshGameList = true; + } + else if(m_btnMgr.selected(m_partitionsBtnChannelsP) || m_btnMgr.selected(m_partitionsBtnChannelsM)) + { + s8 direction = m_btnMgr.selected(m_partitionsBtnChannelsP) ? 1 : -1; + currentPartition = m_cfg.getInt(CHANNEL_DOMAIN, "partition"); + m_current_view = COVERFLOW_CHANNEL; + _setPartition(direction); + _showPartitionsCfg(); + if(m_prev_view & COVERFLOW_CHANNEL) + m_refreshGameList = true; + } + else if(m_btnMgr.selected(m_partitionsBtnPluginP) || m_btnMgr.selected(m_partitionsBtnPluginM)) + { + s8 direction = m_btnMgr.selected(m_partitionsBtnPluginP) ? 1 : -1; + currentPartition = m_cfg.getInt(PLUGIN_DOMAIN, "partition"); + m_current_view = COVERFLOW_PLUGIN; + _setPartition(direction); + _showPartitionsCfg(); + if(m_prev_view & COVERFLOW_PLUGIN) + m_refreshGameList = true; + } + } + } + m_current_view = m_prev_view; + currentPartition = prevPartition; + _hidePartitionsCfg(); +} + +void CMenu::_initPartitionsCfgMenu() +{ + m_partitionsBg = _texture("PARTCFG/BG", "texture", theme.bg, false); + _addUserLabels(m_partitionsLblUser, ARRAY_SIZE(m_partitionsLblUser), "PARTCFG"); + m_partitionsLblTitle = _addTitle("PARTCFG/TITLE", theme.titleFont, L"", 0, 10, 640, 60, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); + m_partitionsBtnBack = _addButton("PARTCFG/BACK_BTN", theme.btnFont, L"", 420, 400, 200, 48, theme.btnFontColor); + + m_partitionsLblWii = _addLabel("PARTCFG/WII", theme.lblFont, L"", 20, 125, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_partitionsLblWiiVal = _addLabel("PARTCFG/WII_BTN", theme.btnFont, L"", 468, 130, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_partitionsBtnWiiM = _addPicButton("PARTCFG/WII_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 130, 48, 48); + m_partitionsBtnWiiP = _addPicButton("PARTCFG/WII_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 130, 48, 48); + m_partitionsLblGC = _addLabel("PARTCFG/GC", theme.lblFont, L"", 20, 185, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_partitionsLblGCVal = _addLabel("PARTCFG/GC_BTN", theme.btnFont, L"", 468, 190, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_partitionsBtnGCM = _addPicButton("PARTCFG/GC_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 190, 48, 48); + m_partitionsBtnGCP = _addPicButton("PARTCFG/GC_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 190, 48, 48); + m_partitionsLblChannels = _addLabel("PARTCFG/CHANNELS", theme.lblFont, L"", 20, 245, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_partitionsLblChannelsVal = _addLabel("PARTCFG/CHANNELS_BTN", theme.btnFont, L"", 468, 250, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_partitionsBtnChannelsM = _addPicButton("PARTCFG/CHANNELS_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 250, 48, 48); + m_partitionsBtnChannelsP = _addPicButton("PARTCFG/CHANNELS_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 250, 48, 48); + m_partitionsLblPlugin = _addLabel("PARTCFG/PLUGIN", theme.lblFont, L"", 20, 305, 385, 56, theme.lblFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_MIDDLE); + m_partitionsLblPluginVal = _addLabel("PARTCFG/PLUGIN_BTN", theme.btnFont, L"", 468, 310, 104, 48, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC); + m_partitionsBtnPluginM = _addPicButton("PARTCFG/PLUGIN_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 420, 310, 48, 48); + m_partitionsBtnPluginP = _addPicButton("PARTCFG/PLUGIN_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 572, 310, 48, 48); + + _setHideAnim(m_partitionsLblTitle, "PARTCFG/TITLE", 0, 0, -2.f, 0.f); + _setHideAnim(m_partitionsBtnBack, "PARTCFG/BACK_BTN", 0, 0, 1.f, -1.f); + + _setHideAnim(m_partitionsLblWii, "PARTCFG/WII", 50, 0, -2.f, 0.f); + _setHideAnim(m_partitionsLblWiiVal, "PARTCFG/WII_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnWiiM, "PARTCFG/WII_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnWiiP, "PARTCFG/WII_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsLblGC, "PARTCFG/GC", 50, 0, -2.f, 0.f); + _setHideAnim(m_partitionsLblGCVal, "PARTCFG/GC_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnGCM, "PARTCFG/GC_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnGCP, "PARTCFG/GC_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsLblChannels, "PARTCFG/CHANNELS", 50, 0, -2.f, 0.f); + _setHideAnim(m_partitionsLblChannelsVal, "PARTCFG/CHANNELS_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnChannelsM, "PARTCFG/CHANNELS_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnChannelsP, "PARTCFG/CHANNELS_PLUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsLblPlugin, "PARTCFG/PLUGIN", 50, 0, -2.f, 0.f); + _setHideAnim(m_partitionsLblPluginVal, "PARTCFG/PLUGIN_BTN", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnPluginM, "PARTCFG/PLUGIN_MINUS", -50, 0, 1.f, 0.f); + _setHideAnim(m_partitionsBtnPluginP, "PARTCFG/PLUGIN_PLUS", -50, 0, 1.f, 0.f); + _hidePartitionsCfg(true); + _textPartitionsCfg(); +} + +void CMenu::_textPartitionsCfg(void) +{ + m_btnMgr.setText(m_partitionsLblTitle, _t("part5", L"Partition Settings")); + m_btnMgr.setText(m_partitionsLblWii, _t("part1", L"Wii Partition")); + m_btnMgr.setText(m_partitionsLblGC, _t("part2", L"GameCube Partition")); + m_btnMgr.setText(m_partitionsLblChannels, _t("part3", L"Emu NANDS Partition")); + m_btnMgr.setText(m_partitionsLblPlugin, _t("part4", L"Plugins Default Partition")); + m_btnMgr.setText(m_partitionsBtnBack, _t("cfg10", L"Back")); +} diff --git a/source/menu/menu_wad.cpp b/source/menu/menu_wad.cpp index 1bce71d3..2c867385 100644 --- a/source/menu/menu_wad.cpp +++ b/source/menu/menu_wad.cpp @@ -458,6 +458,10 @@ void CMenu::_Wad(const char *wad_path) _mainLoopCommon(); if(BTN_HOME_PRESSED || BTN_B_PRESSED) break; + else if(BTN_UP_PRESSED) + m_btnMgr.up(); + else if(BTN_DOWN_PRESSED) + m_btnMgr.down(); else if(BTN_A_PRESSED) { if(m_btnMgr.selected(m_wadBtnInstall)) diff --git a/source/menu/menu_wbfs.cpp b/source/menu/menu_wbfs.cpp index 244dac70..80ee3a89 100644 --- a/source/menu/menu_wbfs.cpp +++ b/source/menu/menu_wbfs.cpp @@ -296,7 +296,7 @@ bool CMenu::_wbfsOp(CMenu::WBFS_OP op) m_btnMgr.up(); else if(BTN_DOWN_PRESSED) m_btnMgr.down(); - if(BTN_A_PRESSED && !m_thrdWorking) + else if(BTN_A_PRESSED && !m_thrdWorking) { if(m_btnMgr.selected(m_wbfsBtnGo)) { diff --git a/wii/apps/wiiflow/meta.xml b/wii/apps/wiiflow/meta.xml index 0a4b8868..6dfeb156 100644 --- a/wii/apps/wiiflow/meta.xml +++ b/wii/apps/wiiflow/meta.xml @@ -2,51 +2,19 @@ WiiFlow Lite Fledge68 - 4.2.2 r1123 - 20162006000000 - USB Loader / Nand Emulator + 4.4.0 r1130 + 20161412000000 + USB Loader app - WiiFlow Lite is a Wii Game, Channel, Wiiware, Virtual Console, and Savegame Emulator intended for use with legal backups. - Controls: - - Main menu (coverflow): - -- Up / Down Previous / next game (vertical) - -- Left / Right Previous / next game (horizontal) - -- A Select game - -- B+A Launch game immediately - -- B+Home Reload Wiiflow - -- Home Exit - -- 1 / 2 Previous / next coverflow mode - -- B+Left / B+Right Change Song - -- B+UP / B+DOWN Alphabetic search - -- B+Minus Switch Partition - -- B+Plus Sort Games - -- Minus+Home Exit to Homebrew Channel - -- Plus+Home Exit to System Menu - -- 1+Home Exit to Priiloader - -- 2+Home Exit to BootMii - - -- Minus+A on Exit Icon Exit to Homebrew Channel - -- Plus+A on Exit Icon Exit to System Menu - -- 1+A on Exit Icon Exit to Priiloader - -- 2+A on Exit Icon Exit to BootMii - -- B on View Icon Enable/Disable Nand emulator - - - Game : - -- A on box Show the backside - -- A out of screen Launch game - -- B Back to coverflow - -- Minus / Plus Previous / next game (vertical) - -- Left / Right Previous / next game (horizontal) - - - Settings menus : - -- Minus / Plus Previous / next page - -- Left / Right Previous / next page - - - Coverflow settings : - -- B+Minus / B+Plus Previous / next page - -- B Faster adjustement (B+A instead of just A to click a button) - -- B+1 Copy whole coverflow - -- B+2 Paste coverflow + WiiFlow Lite is a app for loading games from a USB Device, SD card, or an actual Disc. + It dispays your games in a coverflow with 3D full box covers. + + Key features: + * Emulated NAND support + * Plugin system for emu apps + * Devolution support + * Nintendont support + * Neek2o support \ No newline at end of file diff --git a/wii/wiiflow/Languages/english.ini b/wii/wiiflow/Languages/english.ini index 7bd09972..e56a0b6d 100644 --- a/wii/wiiflow/Languages/english.ini +++ b/wii/wiiflow/Languages/english.ini @@ -34,6 +34,7 @@ cfg13=NAND Emulation Settings cfg14=Set cfg15=Plugins cfg16=Select +cfg17=Game Partitions cfg3=Download covers & titles cfg4=Download cfg5=Parental control @@ -50,6 +51,8 @@ cfgb4=Default game language cfgb5=Default GC video mode cfgb6=Default GC game language cfgb7=Channels Type +cfgb8=GameCube Settings +cfgb9=GameCube default settings cfgbnr1=Download Cover cfgbnr2=Delete Cover cfgbnr3=Download Custom Banner @@ -189,6 +192,8 @@ cfgsm5=Clear Sourceflow Cache cfghb1=Homebrew Settings cfghb2=Coverflow Smallbox cfghb3=Homebrew Partition +cfghb4=Box Mode +cfghb5=Download Covers ChanReal=Real NAND ChanEmu=Emu NAND ChanBoth=Both @@ -357,6 +362,11 @@ NoDVDOff=Disabled NoDVDon=Enabled off=Off on=On +part1=Wii Partition +part2=GameCube Partition +part3=Emu NANDS Partition +part4=Plugins Default Partition +part5=Partitions Settings players= Players prii=Priiloader real=Real Nand diff --git a/wii/wiiflow/help/danish.txt b/wii/wiiflow/help/danish.txt index 87680352..d1b60a4b 100644 --- a/wii/wiiflow/help/danish.txt +++ b/wii/wiiflow/help/danish.txt @@ -1,5 +1,4 @@ - -Styring: +Styring: - Hoved menu (coverflow): -- Op / Ned = Forrige / næste spil (Lodret) -- Venstre / Højre = Forrige / næste spil (Vandret) diff --git a/wii/wiiflow/help/dutch.txt b/wii/wiiflow/help/dutch.txt index 4e94b97c..dee39839 100644 --- a/wii/wiiflow/help/dutch.txt +++ b/wii/wiiflow/help/dutch.txt @@ -1,5 +1,4 @@ - -Bediening: +Bediening: - Hoofd menu (coverflow) : -- Op / Neer = Vorig / volgend spel (verticaal) -- Links / Rechts = Vorig / volgend spel (horizontaal) @@ -56,4 +55,4 @@ Als het spel vastloopt met een zwart scherm bij starten, controleer dan of het e (Druk op Plus op het spel scherm) Als het PAL is, verander dan de videomodus van het spel naar "PAL 50Hz" in het instellingen scherm. Er is ook een componenten connectie nodig en verander de WII instellingen naar 480p video modus. -Als een spel vastloopt, probeer dan het spel opnieuw the starten. Als deze blijft vastlopen, Zet dan de NAND Emulatie "Uit" in het instellingen scherm. +Als een spel vastloopt, probeer dan het spel opnieuw the starten. Als deze blijft vastlopen, Zet dan de NAND Emulatie "Uit" in het instellingen scherm. \ No newline at end of file diff --git a/wii/wiiflow/help/french.txt b/wii/wiiflow/help/french.txt index 22542246..c28e8656 100644 --- a/wii/wiiflow/help/french.txt +++ b/wii/wiiflow/help/french.txt @@ -1,5 +1,4 @@ - -Commandes : +Commandes : - Page principale (Coverflow) : -- Haut/Bas = Jeu précédent/suivant (vertical) -- Gauche/Droite = Jeu précédent/suivant (horizontal) @@ -64,4 +63,4 @@ Commandes : -- Bouton 2 = Bouton Jaune - Manette GameCube --- Z = Capture d'écran +-- Z = Capture d'écran \ No newline at end of file diff --git a/wii/wiiflow/help/german.txt b/wii/wiiflow/help/german.txt index d13822ee..3d25ecb2 100644 --- a/wii/wiiflow/help/german.txt +++ b/wii/wiiflow/help/german.txt @@ -1,5 +1,4 @@ - -Bedienung: +Bedienung: - Hauptmenü (Coverflow): -- Hoch / Runter = vorheriges / nächstes Spiel (Vertikal) -- Links / Rechts = vorheriges / nächstes Spiel (Horizontal) @@ -55,4 +54,4 @@ Falls ein Spiel einfach einfriert und einen schwarzen Bildschirm verursacht stel (gehe in die Spieleinstellungen.) Falls es nicht aus deiner Region kommt, stelle den Videomodus auf die Region des Spiels. Du kannst auch ein Komponentenkabel benutzen und deine Wii auf 480p stellen. -Falls ein Spiel abstürzt versuche es einfach erneuert. Falls das nicht helfen sollte, stelle sicher das die Speicherstandemulation auf \"Aus\" in den Spieleinstellugnen gestellt ist. +Falls ein Spiel abstürzt versuche es einfach erneuert. Falls das nicht helfen sollte, stelle sicher das die Speicherstandemulation auf \"Aus\" in den Spieleinstellugnen gestellt ist. \ No newline at end of file diff --git a/wii/wiiflow/help/italian.txt b/wii/wiiflow/help/italian.txt index bdbff686..2fe9f434 100644 --- a/wii/wiiflow/help/italian.txt +++ b/wii/wiiflow/help/italian.txt @@ -1,5 +1,4 @@ - -Comandi: +Comandi: - Menu principale (coverflow): -- Su / giù = Precedente / prossimo gioco (verticale) -- Sinistra / destra = Precedente / prossimo gioco (orizzontale) @@ -56,4 +55,4 @@ Se il gioco si blocca mostrando una schermata nera all'avvio, controlla se è un (Premi il pulsante "+" sulla schermata del gioco.) Se è PAL, imposta la modalità video a "PAL 50Hz" nelle impostazioni del gioco. Puoi anche usare un cavo component e settare la wii a 480p per risolvere il problema. -Se un gioco crasha, prova a riavviarlo. Se continua a crashare, imposta la emulazione USB a "OFF" nelle impostazioni del gioco. +Se un gioco crasha, prova a riavviarlo. Se continua a crashare, imposta la emulazione USB a "OFF" nelle impostazioni del gioco. \ No newline at end of file diff --git a/wii/wiiflow/help/spanish.txt b/wii/wiiflow/help/spanish.txt index 94032aed..53b26db4 100644 --- a/wii/wiiflow/help/spanish.txt +++ b/wii/wiiflow/help/spanish.txt @@ -1,5 +1,4 @@ - -Controles: +Controles: - Menú Principal (coverflow) : -- Arriba / Abajo = Previo / próximo juego (vertical) -- Izquierda / Derecha = Previo / próximo Juego (horizontal) @@ -56,4 +55,4 @@ Si el juego solo se bloquea con una pantalla en negro en el lanzamiento, comprob (Pulse el botón Más en la pantalla del juego.) Si se trata de PAL, establecer el modo de juego de vídeo a "PAL 50 Hz" en la configuración del juego. Usted tendrá que utilizar una conexión de componentes a la TV y tener tu Wii en modo de vídeo 480p. -Si un juego se bloquea, a continuación, intente ejecutar el juego de nuevo. Si se bloquea continuamente, cambie la emulación de USB a "No" en la configuración del juego. +Si un juego se bloquea, a continuación, intente ejecutar el juego de nuevo. Si se bloquea continuamente, cambie la emulación de USB a "No" en la configuración del juego. \ No newline at end of file