From de02b9c978397967c2a07d4cdca3def75efbb5a2 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 21 Jul 2004 23:42:52 +0000 Subject: [PATCH] don't waste time reading the default theme metrics twice --- stepmania/src/ThemeManager.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index a2087823b9..3a78ba6ee5 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -167,17 +167,22 @@ void ThemeManager::SwitchThemeAndLanguage( CString sThemeName, CString sLanguage m_uHashForCurThemeCurLanguage = GetHashForFile( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) ); // read new metrics. First read base metrics, then read cur theme's metrics, overriding base theme - m_pIniCurMetrics->Reset(); m_pIniBaseMetrics->Reset(); m_pIniBaseMetrics->ReadFile( GetMetricsIniPath(FALLBACK_THEME_NAME) ); m_pIniBaseMetrics->ReadFile( GetMetricsIniPath(BASE_THEME_NAME) ); - m_pIniCurMetrics->ReadFile( GetMetricsIniPath(m_sCurThemeName) ); m_pIniBaseMetrics->ReadFile( GetLanguageIniPath(FALLBACK_THEME_NAME,BASE_LANGUAGE) ); m_pIniBaseMetrics->ReadFile( GetLanguageIniPath(BASE_THEME_NAME,BASE_LANGUAGE) ); - m_pIniCurMetrics->ReadFile( GetLanguageIniPath(m_sCurThemeName,BASE_LANGUAGE) ); m_pIniBaseMetrics->ReadFile( GetLanguageIniPath(FALLBACK_THEME_NAME,m_sCurLanguage) ); m_pIniBaseMetrics->ReadFile( GetLanguageIniPath(BASE_THEME_NAME,m_sCurLanguage) ); - m_pIniCurMetrics->ReadFile( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) ); + + /* Don't bother loading m_pIniCurMetrics if it'll be the same data as BASE_THEME_NAME. */ + m_pIniCurMetrics->Reset(); + if( m_sCurThemeName.CompareNoCase(BASE_THEME_NAME) ) + { + m_pIniCurMetrics->ReadFile( GetMetricsIniPath(m_sCurThemeName) ); + m_pIniCurMetrics->ReadFile( GetLanguageIniPath(m_sCurThemeName,BASE_LANGUAGE) ); + m_pIniCurMetrics->ReadFile( GetLanguageIniPath(m_sCurThemeName,m_sCurLanguage) ); + } CString sMetric; for( i = 0; GetCommandlineArgument( "metric", &sMetric, i ); ++i )