diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 856b20796f..2e5c24cbc8 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -109,7 +109,7 @@ ThemeManager::ThemeManager() /* We don't have any theme loaded until SwitchThemeAndLanguage is called. */ m_sCurThemeName = ""; - m_bPseudoLocalilze = false; + m_bPseudoLocalize = false; vector arrayThemeNames; GetThemeNames( arrayThemeNames ); @@ -275,7 +275,7 @@ RString ThemeManager::GetDefaultLanguage() return sLangCode; } -void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RString &sLanguage_ ) +void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RString &sLanguage_, bool bPseudoLocalize ) { RString sThemeName = sThemeName_; RString sLanguage = sLanguage_; @@ -289,9 +289,12 @@ void ThemeManager::SwitchThemeAndLanguage( const RString &sThemeName_, const RSt LOG->Trace("ThemeManager::SwitchThemeAndLanguage: \"%s\", \"%s\"", sThemeName.c_str(), sLanguage.c_str() ); - if( sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage ) + bool bNothingChanging = sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage && m_bPseudoLocalize == bPseudoLocalize; + if( bNothingChanging ) return; + m_bPseudoLocalize = bPseudoLocalize; + // Load theme metrics. If only the language is changing, this is all // we need to reload. bool bThemeChanging = (sThemeName != m_sCurThemeName); @@ -853,7 +856,7 @@ void ThemeManager::NextTheme() if( as[i].CompareNoCase(m_sCurThemeName)==0 ) break; int iNewIndex = (i+1)%as.size(); - SwitchThemeAndLanguage( as[iNewIndex], m_sCurLanguage ); + SwitchThemeAndLanguage( as[iNewIndex], m_sCurLanguage, m_bPseudoLocalize ); } void ThemeManager::GetLanguagesForTheme( const RString &sThemeName, vector& asLanguagesOut ) @@ -902,11 +905,6 @@ void ThemeManager::GetMetric( const RString &sClassName, const RString &sValueNa valueOut.SetFromExpression( "function(self) " + sValue + "end" ); } -void ThemeManager::SetPseudoLocalilze( bool b ) -{ - m_bPseudoLocalilze = b; -} - RString ThemeManager::GetString( const RString &sClassName, const RString &sValueName_ ) { RString sValueName = sValueName_; @@ -933,7 +931,7 @@ RString ThemeManager::GetString( const RString &sClassName, const RString &sValu s.Replace( "\\n", "\n" ); - if( m_bPseudoLocalilze ) + if( m_bPseudoLocalize ) { s.Replace( "a", "àá" ); s.Replace( "A", "ÀÀ" ); diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index b04487852e..447c4eb1f0 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -41,7 +41,7 @@ public: bool DoesThemeExist( const RString &sThemeName ); void GetLanguages( vector& AddTo ); bool DoesLanguageExist( const RString &sLanguage ); - void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage ); + void SwitchThemeAndLanguage( const RString &sThemeName, const RString &sLanguage, bool bPseudoLocalize ); void UpdateLuaGlobals(); RString GetCurThemeName() const { return m_sCurThemeName; }; bool IsThemeLoaded() const { return !m_sCurThemeName.empty(); }; @@ -89,8 +89,8 @@ public: #endif // Languages - void SetPseudoLocalilze( bool b ); - RString GetString( const RString &sClassName, const RString &sValueName ); + RString GetString( const RString &sClassName, const RString &sValueName ); + void GetString( const RString &sClassName, const RString &sValueName, RString &valueOut ) { valueOut = GetString( sClassName, sValueName ); } void GetMetricsThatBeginWith( const RString &sClassName, const RString &sValueName, set &vsValueNamesOut ); @@ -120,7 +120,7 @@ protected: RString m_sCurThemeName; RString m_sCurLanguage; - bool m_bPseudoLocalilze; + bool m_bPseudoLocalize; }; extern ThemeManager* THEME; // global and accessable from anywhere in our program