From 51e06fdc2be2733dbaf55387b0c738b00f3e06dc Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 1 Nov 2005 18:04:59 +0000 Subject: [PATCH] pass the language to LoadThemeRecursive and rename to LoadThemeMetrics --- stepmania/src/ThemeManager.cpp | 15 ++++++++------- stepmania/src/ThemeManager.h | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index fdc6ec359a..7dc5a98e87 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -166,13 +166,17 @@ bool ThemeManager::DoesLanguageExist( const CString &sLanguage ) return false; } -void ThemeManager::LoadThemeRecursive( deque &theme, const CString &sThemeName_ ) +void ThemeManager::LoadThemeMetrics( deque &theme, const CString &sThemeName_, const CString &sLanguage_ ) { for( unsigned i = 0; i < g_vThemes.size(); ++i ) delete g_vThemes[i].iniMetrics; g_vThemes.clear(); CString sThemeName(sThemeName_); + CString sLanguage(sLanguage_); + + m_sCurThemeName = sThemeName; + m_sCurLanguage = sLanguage; bool bLoadedBase = false; while(1) @@ -185,8 +189,8 @@ void ThemeManager::LoadThemeRecursive( deque &theme, const CString &sThem t.sThemeName = sThemeName; t.iniMetrics->ReadFile( GetMetricsIniPath(sThemeName) ); t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,BASE_LANGUAGE) ); - if( m_sCurLanguage.CompareNoCase(BASE_LANGUAGE) ) - t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,m_sCurLanguage) ); + if( sLanguage.CompareNoCase(BASE_LANGUAGE) ) + t.iniMetrics->ReadFile( GetLanguageIniPath(sThemeName,sLanguage) ); bool bIsBaseTheme = !sThemeName.CompareNoCase(BASE_THEME_NAME); t.iniMetrics->GetValue( "Global", "IsBaseTheme", bIsBaseTheme ); @@ -250,15 +254,12 @@ void ThemeManager::SwitchThemeAndLanguage( const CString &sThemeName_, const CSt if( sThemeName == m_sCurThemeName && sLanguage == m_sCurLanguage ) return; - m_sCurThemeName = sThemeName; - m_sCurLanguage = sLanguage; - // clear theme path cache for( int i = 0; i < NUM_ElementCategory; ++i ) g_ThemePathCache[i].clear(); // load current theme - LoadThemeRecursive( g_vThemes, m_sCurThemeName ); + LoadThemeMetrics( g_vThemes, sThemeName, sLanguage ); LOG->MapLog( "theme", "Theme: %s", sThemeName.c_str() ); LOG->MapLog( "language", "Language: %s", sLanguage.c_str() ); diff --git a/stepmania/src/ThemeManager.h b/stepmania/src/ThemeManager.h index 4a9d085873..05bbf93163 100644 --- a/stepmania/src/ThemeManager.h +++ b/stepmania/src/ThemeManager.h @@ -98,7 +98,7 @@ public: protected: void RunLuaScripts( const CString &sMask ); - void LoadThemeRecursive( deque &theme, const CString &sThemeName ); + void LoadThemeMetrics( deque &theme, const CString &sThemeName, const CString &sLanguage_ ); bool GetMetricRawRecursive( const CString &sClassName, const CString &sValueName, CString &sRet ); CString GetPathToAndFallback( ElementCategory category, const CString &sClassName, const CString &sFile ); CString GetPathToRaw( const CString &sThemeName, ElementCategory category, const CString &sClassName, const CString &sFile );