diff --git a/Package/Environment/Common/settings.conf b/Package/Environment/Common/settings.conf index 1ca11ac..0449473 100644 --- a/Package/Environment/Common/settings.conf +++ b/Package/Environment/Common/settings.conf @@ -41,6 +41,9 @@ exitOnFirstPageBack = yes # enter 0 attract mode, otherwise enter the number of seconds to wait before enabling attract mode attractModeTime = 45 +# remember the last highlighted menu when re-entering a menu +rememberMenu = no + ####################################### # Base folders of media and ROM files ####################################### diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 39e177b..74f16f7 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -393,6 +393,8 @@ RetroFE::RETROFE_STATE RetroFE::ProcessUserInput(Page *page) bool exit = false; RETROFE_STATE state = RETROFE_IDLE; if (SDL_PollEvent(&e) == 0) return state; + bool rememberMenu = false; + Config.GetProperty("rememberMenu", rememberMenu); if(e.type == SDL_KEYDOWN || e.type == SDL_KEYUP) { @@ -463,7 +465,7 @@ RetroFE::RETROFE_STATE RetroFE::ProcessUserInput(Page *page) mp.GetMenuItems(info); page->PushCollection(info); - if(LastMenuOffsets.find(NextPageItem->GetName()) != LastMenuOffsets.end()) + if(rememberMenu && LastMenuOffsets.find(NextPageItem->GetName()) != LastMenuOffsets.end()) { page->SetScrollOffsetIndex(LastMenuOffsets[NextPageItem->GetName()]); }