diff --git a/data/help/english.txt b/data/help/english.txt index 5c1eab5e..6acfa516 100644 --- a/data/help/english.txt +++ b/data/help/english.txt @@ -6,8 +6,8 @@ Controls: -- Minus / Plus = Fast skip through games -- A = Select game -- B+A = Launch game immediately --- B+Home = Reload Wiiflow --- Home = Exit to Wii menu +-- B+Home = Reload WiiFlow +-- Home = Open Home Menu / Exit WiiFlow -- 1 / 2 = Previous / next coverflow mode -- B+Left / B+Right = Change Song -- B+UP / B+DOWN = Alphabetic search @@ -17,7 +17,7 @@ Controls: -- A on Star Icon = Favorites -- B on Star Icon = Categories --- A on Gear Icon = Wiiflow settings +-- A on Gear Icon = WiiFlow settings -- B on Gear Icon = Refresh cache -- A on USB, DML, Channels, Emu, or Homebrew Icon = Switch to that view -- B on USB, DML, Channels, Emu, or Homebrew Icon = Enable/Disable Emu-NAND and switch to Channels view @@ -49,7 +49,7 @@ Controls: -- 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\n\ +-- 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. diff --git a/source/menu/menu.cpp b/source/menu/menu.cpp index a0f9b4bf..a481fe65 100644 --- a/source/menu/menu.cpp +++ b/source/menu/menu.cpp @@ -1059,6 +1059,7 @@ void CMenu::_buildMenus(void) _initSystemMenu(theme); _initGameInfoMenu(theme); _initNandEmuMenu(theme); + _initHomeMenu(theme); _loadCFCfg(theme); } diff --git a/source/menu/menu.hpp b/source/menu/menu.hpp index 9a37363d..d7c0fe61 100644 --- a/source/menu/menu.hpp +++ b/source/menu/menu.hpp @@ -405,7 +405,6 @@ private: u32 m_aboutLblInfo; u32 m_aboutLblUser[4]; u32 m_aboutLblIOS; - u32 m_aboutBtnSystem; //menu_wbfs u32 m_wbfsLblTitle; u32 m_wbfsPBar; @@ -849,6 +848,7 @@ private: void _initSystemMenu(SThemeData &theme); void _initGameInfoMenu(SThemeData &theme); void _initNandEmuMenu(CMenu::SThemeData &theme); + void _initHomeMenu(CMenu::SThemeData &theme); // void _textSource(void); void _textPluginSettings(void); @@ -872,6 +872,7 @@ private: void _textGameSettings(void); void _textGameInfo(void); void _textNandEmu(void); + void _textHome(void); // void _hideCheatSettings(bool instant = false); void _hideError(bool instant = false); @@ -898,6 +899,7 @@ private: void _hideGameInfo(bool instant = false); void _hideCheatDownload(bool instant = false); void _hideNandEmu(bool instant = false); + void _hideHome(bool instant = false); // void _showError(void); void _showMain(void); @@ -925,6 +927,7 @@ private: void _showCFTheme(u32 curParam, int version, bool wide); void _showGameSettings(void); void _showCheatDownload(void); + void _showHome(void); void _updateSourceBtns(void); void _updatePluginCheckboxes(void); void _updateCheckboxes(void); @@ -967,6 +970,7 @@ private: bool _Source(); void _PluginSettings(); void _CategorySettings(bool fromGameSet=false); + bool _Home(); // void _mainLoopCommon(bool withCF = false, bool blockReboot = false, bool adjusting = false); // diff --git a/source/menu/menu_about.cpp b/source/menu/menu_about.cpp index c1299dbc..59a53446 100644 --- a/source/menu/menu_about.cpp +++ b/source/menu/menu_about.cpp @@ -60,24 +60,6 @@ void CMenu::_about(void) } else if (BTN_HOME_PRESSED || BTN_B_PRESSED) break; - else if (BTN_A_PRESSED && !(m_thrdWorking && m_thrdStop)) - { - if (!m_locked && m_btnMgr.selected(m_aboutBtnSystem)) - { - // show system menu - m_cf.stopCoverLoader(true); - _hideAbout(false); - _system(); - remove(m_ver.c_str()); - if(m_exit) - { - _launchHomebrew(m_dol.c_str(), m_homebrewArgs); - break; - } - _showAbout(); - m_cf.startCoverLoader(); - } - } } _hideAbout(false); } @@ -87,7 +69,6 @@ void CMenu::_hideAbout(bool instant) m_btnMgr.hide(m_aboutLblTitle, instant); m_btnMgr.hide(m_aboutLblIOS, instant); m_btnMgr.hide(m_aboutLblInfo, instant); - m_btnMgr.hide(m_aboutBtnSystem, instant); for (u32 i = 0; i < ARRAY_SIZE(m_aboutLblUser); ++i) { if (m_aboutLblUser[i] != -1u) @@ -101,8 +82,6 @@ void CMenu::_showAbout(void) m_btnMgr.show(m_aboutLblTitle); m_btnMgr.show(m_aboutLblIOS); m_btnMgr.show(m_aboutLblInfo,false,true); - if (!m_locked) - m_btnMgr.show(m_aboutBtnSystem); for (u32 i = 0; i < ARRAY_SIZE(m_aboutLblUser); ++i) { if (m_aboutLblUser[i] != -1u) @@ -117,12 +96,10 @@ void CMenu::_initAboutMenu(CMenu::SThemeData &theme) m_aboutBg = _texture(theme.texSet, "ABOUT/BG", "texture", theme.bg); m_aboutLblTitle = _addTitle(theme, "ABOUT/TITLE", theme.titleFont, L"", 20, 30, 600, 75, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); m_aboutLblInfo = _addText(theme, "ABOUT/INFO", theme.txtFont, L"", 20, 200, 600, 280, theme.txtFontColor, FTGX_JUSTIFY_LEFT | FTGX_ALIGN_TOP); - m_aboutBtnSystem = _addButton(theme, "ABOUT/SYSTEM_BTN", theme.btnFont, L"", 20, 400, 200, 56, theme.btnFontColor); m_aboutLblIOS = _addLabel(theme, "ABOUT/IOS", theme.txtFont, L"", 240, 400, 360, 56, theme.txtFontColor, FTGX_JUSTIFY_RIGHT | FTGX_ALIGN_MIDDLE); _setHideAnim(m_aboutLblTitle, "ABOUT/TITLE", 0, 100, 0.f, 0.f); _setHideAnim(m_aboutLblInfo, "ABOUT/INFO", 0, 100, 0.f, 0.f); - _setHideAnim(m_aboutBtnSystem, "ABOUT/SYSTEM_BTN", 0, 0, -2.f, 0.f); _setHideAnim(m_aboutLblIOS, "ABOUT/IOS", 0, 100, 0.f, 0.f); _hideAbout(true); @@ -130,7 +107,6 @@ void CMenu::_initAboutMenu(CMenu::SThemeData &theme) void CMenu::_textAbout(void) { - m_btnMgr.setText(m_aboutBtnSystem, _t("sys4", L"Update")); m_btnMgr.setText(m_aboutLblTitle, wfmt(_fmt("appname", L"%s (%s-r%s)"), APP_NAME, APP_VERSION, SVN_REV), false); wstringEx help_text; diff --git a/source/menu/menu_home.cpp b/source/menu/menu_home.cpp new file mode 100644 index 00000000..c272bda4 --- /dev/null +++ b/source/menu/menu_home.cpp @@ -0,0 +1,148 @@ + +#include "menu.hpp" +#include "svnrev.h" + +u32 m_homeLblTitle; + +u32 m_homeBtnSettings; +u32 m_homeBtnReloadCache; +u32 m_homeBtnUpdate; +u32 m_homeBtnAbout; +u32 m_homeBtnExit; + +STexture m_homeBg; + +bool CMenu::_Home(void) +{ + bool exit = false; + + SetupInput(); + _showHome(); + + string prevTheme = m_cfg.getString("GENERAL", "theme", "default"); + while(1) + { + _mainLoopCommon(); + if(BTN_A_PRESSED) + { + if(m_btnMgr.selected(m_homeBtnSettings)) + { + _hideHome(); + _config(1); + if(prevTheme != m_cfg.getString("GENERAL", "theme") || m_reload == true) + { + exit = true; + m_reload = true; + break; + } + _showHome(); + } + else if(m_btnMgr.selected(m_homeBtnReloadCache)) + { + m_gameList.SetLanguage(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str()); + UpdateCache(m_current_view); + LoadView(); + break; + } + else if(m_btnMgr.selected(m_homeBtnUpdate) && !m_locked) + { + m_cf.stopCoverLoader(true); + _hideHome(); + _system(); + remove(m_ver.c_str()); + if(m_exit) + { + _launchHomebrew(m_dol.c_str(), m_homebrewArgs); + break; + } + _showHome(); + m_cf.startCoverLoader(); + } + else if(m_btnMgr.selected(m_homeBtnAbout)) + { + _hideHome(); + _about(); + if(m_exit) + break; + _showHome(); + } + else if(m_btnMgr.selected(m_homeBtnExit)) + { + exitHandler(); + exit = true; + break; + } + } + else if(BTN_B_PRESSED) + { + break; + } + else if(BTN_HOME_PRESSED) + { + exitHandler(); + exit = true; + break; + } + } + _hideHome(); + return exit; +} + +void CMenu::_showHome(void) +{ + _setBg(m_homeBg, m_homeBg); + m_btnMgr.show(m_homeLblTitle); + + m_btnMgr.show(m_homeBtnSettings); + m_btnMgr.show(m_homeBtnReloadCache); + m_btnMgr.show(m_homeBtnUpdate); + m_btnMgr.show(m_homeBtnAbout); + m_btnMgr.show(m_homeBtnExit); +} + +void CMenu::_hideHome(bool instant) +{ + m_btnMgr.hide(m_homeLblTitle, instant); + + m_btnMgr.hide(m_homeBtnSettings, instant); + m_btnMgr.hide(m_homeBtnReloadCache, instant); + m_btnMgr.hide(m_homeBtnUpdate, instant); + m_btnMgr.hide(m_homeBtnAbout, instant); + m_btnMgr.hide(m_homeBtnExit, instant); +} + +void CMenu::_initHomeMenu(CMenu::SThemeData &theme) +{ + STexture emptyTex; + m_homeBg = _texture(theme.texSet, "HOME/BG", "texture", theme.bg); + + m_homeLblTitle = _addTitle(theme, "HOME/TITLE", theme.titleFont, L"", 20, 30, 600, 75, theme.titleFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE); + + _setHideAnim(m_homeLblTitle, "HOME/TITLE", 0, 100, 0.f, 0.f); + + m_homeBtnSettings = _addButton(theme, "HOME/SETTINGS", theme.btnFont, L"", 220, 120, 200, 56, theme.btnFontColor); + m_homeBtnReloadCache = _addButton(theme, "HOME/RELOAD_CACHE", theme.btnFont, L"", 220, 180, 200, 56, theme.btnFontColor); + m_homeBtnUpdate = _addButton(theme, "HOME/UPDATE", theme.btnFont, L"", 220, 240, 200, 56, theme.btnFontColor); + m_homeBtnAbout = _addButton(theme, "HOME/ABOUT", theme.btnFont, L"", 220, 300, 200, 56, theme.btnFontColor); + m_homeBtnExit = _addButton(theme, "HOME/EXIT", theme.btnFont, L"", 220, 360, 200, 56, theme.btnFontColor); + + _setHideAnim(m_homeBtnSettings, "HOME/SETTINGS", 0, 0, -2.f, 0.f); + _setHideAnim(m_homeBtnReloadCache, "HOME/RELOAD_CACHE", 0, 0, -2.f, 0.f); + _setHideAnim(m_homeBtnUpdate, "HOME/UPDATE", 0, 0, -2.f, 0.f); + _setHideAnim(m_homeBtnAbout, "HOME/ABOUT", 0, 0, -2.f, 0.f); + _setHideAnim(m_homeBtnExit, "HOME/EXIT", 0, 0, -2.f, 0.f); + + _textHome(); + _hideHome(true); +} + +void CMenu::_textHome(void) +{ + m_btnMgr.setText(m_homeLblTitle, wfmt(_fmt("appname", L"%s (%s-r%s)"), APP_NAME, APP_VERSION, SVN_REV), false); + + m_btnMgr.setText(m_homeBtnSettings, _t("home1", L"Settings")); + m_btnMgr.setText(m_homeBtnReloadCache, _t("home2", L"Reload Cache")); + m_btnMgr.setText(m_homeBtnUpdate, _t("home3", L"Update")); + m_btnMgr.setText(m_homeBtnAbout, _t("home4", L"About")); + m_btnMgr.setText(m_homeBtnExit, _t("home5", L"Exit")); +} diff --git a/source/menu/menu_main.cpp b/source/menu/menu_main.cpp index 1fce5fcf..485d4372 100644 --- a/source/menu/menu_main.cpp +++ b/source/menu/menu_main.cpp @@ -341,8 +341,10 @@ int CMenu::main(void) } if(BTN_HOME_PRESSED) { - exitHandler(); - break; + _hideMain(); + if(_Home()) //exit wiiflow + break; + _showMain(); } else if(BTN_A_PRESSED) { @@ -352,8 +354,10 @@ int CMenu::main(void) m_cf.pageDown(); else if(m_btnMgr.selected(m_mainBtnQuit)) { - exitHandler(); - break; + _hideMain(); + if(_Home()) //exit wiiflow + break; + _showMain(); } else if(m_btnMgr.selected(m_mainBtnChannel) || m_btnMgr.selected(m_mainBtnUsb) || m_btnMgr.selected(m_mainBtnDML) || m_btnMgr.selected(m_mainBtnHomebrew) || m_btnMgr.selected(m_mainBtnEmu)) { @@ -498,12 +502,6 @@ int CMenu::main(void) m_btnMgr.show(m_mainLblNotice); } } - else if(m_btnMgr.selected(m_mainBtnConfig)) - { - m_gameList.SetLanguage(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str()); - UpdateCache(m_current_view); - LoadView(); - } else if(enable_wmote_roll && m_btnMgr.selected(m_mainBtnQuit)) { _hideMain(); diff --git a/wii/wiiflow/Languages/english.ini b/wii/wiiflow/Languages/english.ini index 91b8f8b8..d94af947 100644 --- a/wii/wiiflow/Languages/english.ini +++ b/wii/wiiflow/Languages/english.ini @@ -191,6 +191,11 @@ gm1=Play gm2=Back hbc=HBC homebrew=Homebrew +home1=Settings +home2=Reload Cache +home3=Update +home4=About +home5=Exit hooktype1=VBI hooktype2=KPAD Read hooktype3=Joypad @@ -250,7 +255,6 @@ stup2=Exit sys1=Update WiiFlow sys2=WiiFlow Version: sys3=Cancel -sys4=Update sys7=Installed Version. translation_author= turbografx16=TurboGrafx-16 diff --git a/wii/wiiflow/Languages/german.ini b/wii/wiiflow/Languages/german.ini index 315b2131..4d3dab2d 100644 --- a/wii/wiiflow/Languages/german.ini +++ b/wii/wiiflow/Languages/german.ini @@ -191,6 +191,11 @@ gm1=Spielen gm2=Zurück hbc=HBC homebrew=Homebrew +home1=Einstellungen +home2=Cache updaten +home3=WiiFlow updaten +home4=Über WiiFlow +home5=Beenden hooktype1=VBI hooktype2=KPAD Read hooktype3=Joypad @@ -248,7 +253,6 @@ snes=Super Nintendo sys1=WiiFlow Update sys2=WiiFlow Version: sys3=Abbrechen -sys4=Updaten sys7=Derzeit installierte Version. translation_author=FIX94, ZEN.13, PizzaPino, Domi78 turbografx16=TurboGrafx-16