#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: ThemeManager Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "ThemeManager.h" #include "RageLog.h" ThemeManager* THEME = NULL; // global object accessable from anywhere in the program const CString DEFAULT_THEME_NAME = "default"; const CString THEME_BASE_DIR = "Themes\\"; ThemeManager::ThemeManager() { CStringArray arrayThemeNames; GetThemeNames( arrayThemeNames ); for( int i=0; i=0; i-- ) { if( 0 == stricmp( AddTo[i], "cvs" ) ) AddTo.RemoveAt(i); } } void ThemeManager::SwitchTheme( CString sThemeName ) { m_sCurThemeName = sThemeName; CString sThemeDir = GetThemeDirFromName(m_sCurThemeName); if( !DoesFileExist( sThemeDir ) ) throw RageException( "Error loading the theme in diretory '%s'.", sThemeDir ); } void ThemeManager::AssertThemeIsComplete( CString sAnnouncerName ) { CString sOriginalThemeName = m_sCurThemeName; CStringArray asThemeNames; GetThemeNames( asThemeNames ); for( int t=0; t 0 ) return asPossibleElementFilePaths[0]; else throw RageException( "Theme element '%s' could not be found in '%s' or '%s'.", sDefaultThemeDir + sAssetPrefix, GetThemeDirFromName(m_sCurThemeName), GetThemeDirFromName(DEFAULT_THEME_NAME) ); return ""; }