diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index be59895e9c..bcfbc92fcf 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -74,7 +74,7 @@ void ScreenTitleMenu::Input( const InputEventPlus &input ) if( CodeDetector::EnteredCode(input.GameI.controller,CODE_NEXT_THEME) || CodeDetector::EnteredCode(input.GameI.controller,CODE_NEXT_THEME2) ) { - THEME->NextTheme(); + THEME->SwitchThemeAndLanguage( THEME->GetNextTheme(), THEME->GetCurLanguage(), PREFSMAN->m_bPseudoLocalize ); StepMania::ApplyGraphicOptions(); // update window title and icon SCREENMAN->SystemMessage( THEME_.GetValue()+": "+THEME->GetCurThemeName() ); SCREENMAN->SetNewScreen( m_sName ); diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 5cf00a17ce..d99ea71e3c 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -952,7 +952,7 @@ apActorCommands ThemeManager::GetMetricA( const RString &sClassName, const RStri } #endif -void ThemeManager::NextTheme() +RString ThemeManager::GetNextTheme() { vector as; GetThemeNames( as ); @@ -961,7 +961,7 @@ void ThemeManager::NextTheme() if( as[i].CompareNoCase(m_sCurThemeName)==0 ) break; int iNewIndex = (i+1)%as.size(); - SwitchThemeAndLanguage( as[iNewIndex], m_sCurLanguage, m_bPseudoLocalize ); + return as[iNewIndex]; } void ThemeManager::GetLanguagesForTheme( const RString &sThemeName, vector& asLanguagesOut ) diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index 55bfad6462..e9773e48f5 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -50,7 +50,7 @@ public: bool IsThemeLoaded() const { return !m_sCurThemeName.empty(); }; RString GetCurLanguage() const { return m_sCurLanguage; }; RString GetCurThemeDir() const { return GetThemeDirFromName(m_sCurThemeName); }; - void NextTheme(); + RString GetNextTheme(); void ReloadMetrics(); void ReloadSubscribers(); void ClearSubscribers();