From 43cc0d360103c151c4dceec32adf8776165ad642 Mon Sep 17 00:00:00 2001 From: wiidev Date: Sun, 1 Jan 2023 17:00:20 +0000 Subject: [PATCH] Add an option to remember the last game --- Languages/czech.lang | 3 +++ Languages/danish.lang | 3 +++ Languages/dutch.lang | 3 +++ Languages/english.lang | 3 +++ Languages/finnish.lang | 3 +++ Languages/french.lang | 3 +++ Languages/german.lang | 3 +++ Languages/greek.lang | 3 +++ Languages/hungarian.lang | 3 +++ Languages/italian.lang | 3 +++ Languages/japanese.lang | 3 +++ Languages/korean.lang | 3 +++ Languages/norwegian.lang | 3 +++ Languages/polish.lang | 3 +++ Languages/portuguese_br.lang | 3 +++ Languages/portuguese_pt.lang | 3 +++ Languages/russian.lang | 3 +++ Languages/schinese.lang | 3 +++ Languages/spanish.lang | 3 +++ Languages/swedish.lang | 3 +++ Languages/tchinese.lang | 3 +++ Languages/thai.lang | 3 +++ Languages/turkish.lang | 3 +++ source/menu/GameBrowseMenu.cpp | 12 ++++++++++-- source/settings/CSettings.cpp | 6 ++++++ source/settings/CSettings.h | 1 + source/settings/menus/GUISettingsMenu.cpp | 10 ++++++++++ 27 files changed, 96 insertions(+), 2 deletions(-) diff --git a/Languages/czech.lang b/Languages/czech.lang index 7ebd744f..8904206e 100644 --- a/Languages/czech.lang +++ b/Languages/czech.lang @@ -1848,6 +1848,9 @@ msgstr "Znovunactení SD" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/danish.lang b/Languages/danish.lang index cabf2fff..94695f1e 100644 --- a/Languages/danish.lang +++ b/Languages/danish.lang @@ -1848,6 +1848,9 @@ msgstr "Genindlæs SD" msgid "Reloading game list now, please wait..." msgstr "Genindlæser spil liste, Vent venligst..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Husk at låse op" diff --git a/Languages/dutch.lang b/Languages/dutch.lang index f39fb0df..590f8bb2 100644 --- a/Languages/dutch.lang +++ b/Languages/dutch.lang @@ -1848,6 +1848,9 @@ msgstr "SD herladen" msgid "Reloading game list now, please wait..." msgstr "Spellijst wordt herladen, een moment..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Unlock onthouden" diff --git a/Languages/english.lang b/Languages/english.lang index 731295f0..23fd6877 100644 --- a/Languages/english.lang +++ b/Languages/english.lang @@ -1848,6 +1848,9 @@ msgstr "" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/finnish.lang b/Languages/finnish.lang index 3377a502..98f45194 100644 --- a/Languages/finnish.lang +++ b/Languages/finnish.lang @@ -1848,6 +1848,9 @@ msgstr "Uudelleenlataa SD" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/french.lang b/Languages/french.lang index 2447a1c3..8c274322 100644 --- a/Languages/french.lang +++ b/Languages/french.lang @@ -1848,6 +1848,9 @@ msgstr "Recharger la SD" msgid "Reloading game list now, please wait..." msgstr "Rechargement de la liste des jeux, veuillez patienter..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Mémoriser le verrouillage" diff --git a/Languages/german.lang b/Languages/german.lang index f3767b47..f2533770 100644 --- a/Languages/german.lang +++ b/Languages/german.lang @@ -1848,6 +1848,9 @@ msgstr "SD Karte neuladen" msgid "Reloading game list now, please wait..." msgstr "Aktualisiere Spieleliste, bitte warten..." +msgid "Remember Last Game" +msgstr "Letztes Spiel merken" + msgid "Remember Unlock" msgstr "Entsperrung behalten" diff --git a/Languages/greek.lang b/Languages/greek.lang index 85335401..b5462bfa 100644 --- a/Languages/greek.lang +++ b/Languages/greek.lang @@ -1848,6 +1848,9 @@ msgstr "Επαναφόρτωση κάρτας SD" msgid "Reloading game list now, please wait..." msgstr "Επαναφόρτωση λίστας παιχνιδιών, παρακαλώ περιμένετε..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Μόνιμο ξεκλείδωμα" diff --git a/Languages/hungarian.lang b/Languages/hungarian.lang index c98cf87a..ad13a4e5 100644 --- a/Languages/hungarian.lang +++ b/Languages/hungarian.lang @@ -1848,6 +1848,9 @@ msgstr "SD Újratöltése" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/italian.lang b/Languages/italian.lang index 5d9c32fc..78767959 100644 --- a/Languages/italian.lang +++ b/Languages/italian.lang @@ -1848,6 +1848,9 @@ msgstr "Ricarica SD" msgid "Reloading game list now, please wait..." msgstr "Ricaricando la lista dei giochi, attendere prego..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Ricorda sblocco" diff --git a/Languages/japanese.lang b/Languages/japanese.lang index 651ef3d5..ca3b87d0 100644 --- a/Languages/japanese.lang +++ b/Languages/japanese.lang @@ -1848,6 +1848,9 @@ msgstr "SDを再読み込み" msgid "Reloading game list now, please wait..." msgstr "ゲームリストを再読み込み中、お待ちください..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "ロック解除を記憶" diff --git a/Languages/korean.lang b/Languages/korean.lang index 342e82ee..fd04e3dc 100644 --- a/Languages/korean.lang +++ b/Languages/korean.lang @@ -1848,6 +1848,9 @@ msgstr "SD 리로드" msgid "Reloading game list now, please wait..." msgstr "게임 목록을 다시 불러오고 있습니다. 잠시만 기다려주십시오..." +msgid "Remember Last Game" +msgstr "마지막 게임 기억하기" + msgid "Remember Unlock" msgstr "잠금 해제 기억" diff --git a/Languages/norwegian.lang b/Languages/norwegian.lang index 3e9e1651..59948703 100644 --- a/Languages/norwegian.lang +++ b/Languages/norwegian.lang @@ -1848,6 +1848,9 @@ msgstr "Les SD på nytt" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/polish.lang b/Languages/polish.lang index 96afb328..da757750 100644 --- a/Languages/polish.lang +++ b/Languages/polish.lang @@ -1848,6 +1848,9 @@ msgstr "Przeladuj SD" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/portuguese_br.lang b/Languages/portuguese_br.lang index f219de1d..14b1fc58 100644 --- a/Languages/portuguese_br.lang +++ b/Languages/portuguese_br.lang @@ -1848,6 +1848,9 @@ msgstr "Ler cartão SD" msgid "Reloading game list now, please wait..." msgstr "Recarregando lista de jogos..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Lembrar Desbloqueio" diff --git a/Languages/portuguese_pt.lang b/Languages/portuguese_pt.lang index 66c43be9..9dc9b7cf 100644 --- a/Languages/portuguese_pt.lang +++ b/Languages/portuguese_pt.lang @@ -1848,6 +1848,9 @@ msgstr "Ler cartão SD" msgid "Reloading game list now, please wait..." msgstr "A reler lista de jogos, pf aguarde..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Lembrar Desbloqueio" diff --git a/Languages/russian.lang b/Languages/russian.lang index 7423db65..ebab0487 100644 --- a/Languages/russian.lang +++ b/Languages/russian.lang @@ -1848,6 +1848,9 @@ msgstr "Перечитать SD карту" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/schinese.lang b/Languages/schinese.lang index 48bd5424..e0f4e1a2 100644 --- a/Languages/schinese.lang +++ b/Languages/schinese.lang @@ -1848,6 +1848,9 @@ msgstr "重新载入 SD 卡" msgid "Reloading game list now, please wait..." msgstr "正在重新加载游戏列表,请稍候..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "存储解锁" diff --git a/Languages/spanish.lang b/Languages/spanish.lang index 6286fb0e..f34d96b1 100644 --- a/Languages/spanish.lang +++ b/Languages/spanish.lang @@ -1848,6 +1848,9 @@ msgstr "Recargar SD" msgid "Reloading game list now, please wait..." msgstr "Recargando lista de juegos, espera..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "Recordar Bloqueo" diff --git a/Languages/swedish.lang b/Languages/swedish.lang index d420caca..a2505f3e 100644 --- a/Languages/swedish.lang +++ b/Languages/swedish.lang @@ -1848,6 +1848,9 @@ msgstr "Ladda om SD" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/tchinese.lang b/Languages/tchinese.lang index 1d3ea165..7567e84d 100644 --- a/Languages/tchinese.lang +++ b/Languages/tchinese.lang @@ -1848,6 +1848,9 @@ msgstr "重新載入 SD 卡" msgid "Reloading game list now, please wait..." msgstr "現在重新載入遊戲清單,請稍候..." +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "儲存解鎖" diff --git a/Languages/thai.lang b/Languages/thai.lang index 05c9226d..ab1fd458 100644 --- a/Languages/thai.lang +++ b/Languages/thai.lang @@ -1848,6 +1848,9 @@ msgstr "โหลด SD ใหม่" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/Languages/turkish.lang b/Languages/turkish.lang index 501537d8..2867a1d7 100644 --- a/Languages/turkish.lang +++ b/Languages/turkish.lang @@ -1848,6 +1848,9 @@ msgstr "SD'yi yeniden yükle" msgid "Reloading game list now, please wait..." msgstr "" +msgid "Remember Last Game" +msgstr "" + msgid "Remember Unlock" msgstr "" diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index 2094e00c..0cd5641c 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -642,8 +642,16 @@ void GameBrowseMenu::ReloadBrowser() } //! Check if the loaded setting is still in range - Settings.SelectedGame = LIMIT(Settings.SelectedGame, 0, gameList.size()-1); - Settings.GameListOffset = LIMIT(Settings.GameListOffset, 0, gameList.size()-1); + if (Settings.RememberLastGame) + { + Settings.SelectedGame = LIMIT(Settings.SelectedGame, 0, gameList.size()-1); + Settings.GameListOffset = LIMIT(Settings.GameListOffset, 0, gameList.size()-1); + } + else + { + Settings.SelectedGame = 0; + Settings.GameListOffset = 0; + } delete gameBrowser; delete searchBar; diff --git a/source/settings/CSettings.cpp b/source/settings/CSettings.cpp index e116b73d..48bc4261 100644 --- a/source/settings/CSettings.cpp +++ b/source/settings/CSettings.cpp @@ -162,6 +162,7 @@ void CSettings::SetDefault() Wiinnertag = OFF; SelectedGame = 0; GameListOffset = 0; + RememberLastGame = ON; sneekVideoPatch = OFF; NandEmuMode = OFF; NandEmuChanMode = 2; @@ -429,6 +430,7 @@ bool CSettings::Save() fprintf(file, "WiinnertagPath = %s\n", WiinnertagPath); fprintf(file, "SelectedGame = %d\n", SelectedGame); fprintf(file, "GameListOffset = %d\n", GameListOffset); + fprintf(file, "RememberLastGame = %d\n", RememberLastGame); fprintf(file, "sneekVideoPatch = %d\n", sneekVideoPatch); fprintf(file, "NandEmuMode = %d\n", NandEmuMode); fprintf(file, "NandEmuChanMode = %d\n", NandEmuChanMode); @@ -836,6 +838,10 @@ bool CSettings::SetSetting(char *name, char *value) { GameListOffset = atoi(value); } + else if(strcmp(name, "RememberLastGame") == 0) + { + RememberLastGame = atoi(value); + } else if(strcmp(name, "sneekVideoPatch") == 0) { sneekVideoPatch = atoi(value); diff --git a/source/settings/CSettings.h b/source/settings/CSettings.h index b16be127..5918103b 100644 --- a/source/settings/CSettings.h +++ b/source/settings/CSettings.h @@ -164,6 +164,7 @@ class CSettings short Wiinnertag; short SelectedGame; short GameListOffset; + short RememberLastGame; short sneekVideoPatch; std::vector EnabledCategories; std::vector RequiredCategories; diff --git a/source/settings/menus/GUISettingsMenu.cpp b/source/settings/menus/GUISettingsMenu.cpp index 5b30b346..61890c44 100644 --- a/source/settings/menus/GUISettingsMenu.cpp +++ b/source/settings/menus/GUISettingsMenu.cpp @@ -151,6 +151,7 @@ GuiSettingsMenu::GuiSettingsMenu() Options->SetName(Idx++, "%s", tr( "Full covers Download" )); Options->SetName(Idx++, "%s", tr( "Cover Action" )); Options->SetName(Idx++, "%s", tr( "Screensaver" )); + Options->SetName(Idx++, "%s", tr( "Remember Last Game" )); Options->SetName(Idx++, "%s", tr( "Mark new games" )); Options->SetName(Idx++, "%s", tr( "Show Play Count" )); Options->SetName(Idx++, "%s", tr( "Show Favorite on banner" )); @@ -228,6 +229,9 @@ void GuiSettingsMenu::SetOptionValues() //! Settings: Screensaver Options->SetValue(Idx++, "%s", tr( ScreensaverText[Settings.screensaver] )); + //! Settings: Remember Last Game + Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.RememberLastGame] )); + //! Settings: Mark new games Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.marknewtitles] )); @@ -419,6 +423,12 @@ int GuiSettingsMenu::GetMenuInternal() SetWPADTimeout(); } + //! Settings: Remember Last Game + else if (ret == ++Idx) + { + if (++Settings.RememberLastGame >= MAX_ON_OFF) Settings.RememberLastGame = 0; + } + //! Settings: Mark new games else if (ret == ++Idx) {