Mini-rewrite of input mapping, theme support, and added KSF reader.
This commit is contained in:
@@ -14,7 +14,8 @@
|
||||
#include "RageLog.h"
|
||||
#include "PrefsManager.h"
|
||||
#include "RageException.h"
|
||||
|
||||
#include "GameState.h"
|
||||
#include "GameDef.h"
|
||||
|
||||
|
||||
ThemeManager* THEME = NULL; // global object accessable from anywhere in the program
|
||||
@@ -28,15 +29,13 @@ ThemeManager::ThemeManager()
|
||||
m_sCurThemeName = BASE_THEME_NAME; // Use te base theme for now. It's up to PrefsManager to change this.
|
||||
|
||||
CStringArray arrayThemeNames;
|
||||
GetThemeNames( arrayThemeNames );
|
||||
GetAllThemeNames( arrayThemeNames );
|
||||
|
||||
#ifdef _DEBUG
|
||||
for( int i=0; i<arrayThemeNames.GetSize(); i++ )
|
||||
AssertThemeIsComplete( arrayThemeNames[i] );
|
||||
#endif
|
||||
}
|
||||
|
||||
void ThemeManager::GetThemeNames( CStringArray& AddTo )
|
||||
void ThemeManager::GetAllThemeNames( CStringArray& AddTo )
|
||||
{
|
||||
GetDirListing( THEMES_DIR+"\\*", AddTo, true );
|
||||
|
||||
@@ -46,10 +45,26 @@ void ThemeManager::GetThemeNames( CStringArray& AddTo )
|
||||
AddTo.RemoveAt(i);
|
||||
}
|
||||
|
||||
void ThemeManager::GetThemeNamesForCurGame( CStringArray& AddTo )
|
||||
{
|
||||
GetAllThemeNames( AddTo );
|
||||
|
||||
// strip out announcers that don't have the current game name in them
|
||||
CString sGameName = GAMESTATE->GetCurrentGameDef()->m_szName;
|
||||
sGameName.MakeLower();
|
||||
for( int i=AddTo.GetSize()-1; i>=0; i-- )
|
||||
{
|
||||
CString sLowercaseVer = AddTo[i];
|
||||
sLowercaseVer.MakeLower();
|
||||
if( sLowercaseVer.Find(sGameName)==-1 )
|
||||
AddTo.RemoveAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
bool ThemeManager::DoesThemeExist( CString sThemeName )
|
||||
{
|
||||
CStringArray asThemeNames;
|
||||
GetThemeNames( asThemeNames );
|
||||
GetAllThemeNames( asThemeNames );
|
||||
for( int i=0; i<asThemeNames.GetSize(); i++ )
|
||||
{
|
||||
if( 0==stricmp(sThemeName, asThemeNames[i]) )
|
||||
@@ -67,8 +82,8 @@ void ThemeManager::AssertThemeIsComplete( CString sThemeName )
|
||||
|
||||
void ThemeManager::SwitchTheme( CString sThemeName )
|
||||
{
|
||||
if( m_sCurThemeName == "" )
|
||||
m_sCurThemeName = BASE_THEME_NAME;
|
||||
if( 0==stricmp(BASE_THEME_NAME, sThemeName) )
|
||||
m_sCurThemeName = ""; // can't select the base theme
|
||||
else if( !DoesThemeExist(sThemeName) )
|
||||
m_sCurThemeName = BASE_THEME_NAME;
|
||||
else
|
||||
@@ -130,6 +145,8 @@ CString ThemeManager::GetPathTo( ThemeElement te, CString sThemeName )
|
||||
case GRAPHIC_GAMEPLAY_ONI_GAMEOVER: sAssetPrefix = "Graphics\\gameplay oni gameover"; break;
|
||||
case GRAPHIC_LOADING: sAssetPrefix = "Graphics\\loading"; break;
|
||||
case GRAPHIC_KEEP_ALIVE: sAssetPrefix = "Graphics\\keep alive"; break;
|
||||
case GRAPHIC_MAP_CONTROLLERS_BACKGROUND: sAssetPrefix = "Graphics\\map controllers background"; break;
|
||||
case GRAPHIC_MAP_CONTROLLERS_TOP_EDGE: sAssetPrefix = "Graphics\\map controllers top edge"; break;
|
||||
case GRAPHIC_MENU_BOTTOM_EDGE: sAssetPrefix = "Graphics\\menu bottom edge"; break;
|
||||
case GRAPHIC_MENU_STYLE_ICONS: sAssetPrefix = "Graphics\\menu style icons"; break;
|
||||
case GRAPHIC_MUSIC_SCROLL_BACKGROUND: sAssetPrefix = "Graphics\\music scroll background"; break;
|
||||
@@ -201,22 +218,18 @@ CString ThemeManager::GetPathTo( ThemeElement te, CString sThemeName )
|
||||
case GRAPHIC_SELECT_STYLE_EXPLANATION: sAssetPrefix = "Graphics\\select Style explanation"; break;
|
||||
case GRAPHIC_SELECT_STYLE_TOP_EDGE: sAssetPrefix = "Graphics\\select Style top edge"; break;
|
||||
case GRAPHIC_SELECT_STYLE_ICONS: sAssetPrefix = "Graphics\\select Style icons"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_0: sAssetPrefix = "Graphics\\select style info game 0 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_1: sAssetPrefix = "Graphics\\select style info game 0 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_2: sAssetPrefix = "Graphics\\select style info game 0 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_3: sAssetPrefix = "Graphics\\select style info game 0 style 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_4: sAssetPrefix = "Graphics\\select style info game 0 style 4"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_INFO_GAME_CONTROLLER_1_STYLE_0: sAssetPrefix = "Graphics\\select style info game 1 style 0"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_INFO_GAME_CONTROLLER_1_STYLE_1: sAssetPrefix = "Graphics\\select style info game 1 style 1"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_INFO_GAME_CONTROLLER_1_STYLE_2: sAssetPrefix = "Graphics\\select style info game 1 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_0: sAssetPrefix = "Graphics\\select style preview game 0 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_1: sAssetPrefix = "Graphics\\select style preview game 0 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_2: sAssetPrefix = "Graphics\\select style preview game 0 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_3: sAssetPrefix = "Graphics\\select style preview game 0 style 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_4: sAssetPrefix = "Graphics\\select style preview game 0 style 4"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_CONTROLLER_1_STYLE_0: sAssetPrefix = "Graphics\\select style preview game 1 style 0"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_CONTROLLER_1_STYLE_1: sAssetPrefix = "Graphics\\select style preview game 1 style 1"; break;
|
||||
// case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_CONTROLLER_1_STYLE_2: sAssetPrefix = "Graphics\\select style preview game 1 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_0: sAssetPrefix = "Graphics\\select style info 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_1: sAssetPrefix = "Graphics\\select style info 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_2: sAssetPrefix = "Graphics\\select style info 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_3: sAssetPrefix = "Graphics\\select style info 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_4: sAssetPrefix = "Graphics\\select style info 4"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_5: sAssetPrefix = "Graphics\\select style info 5"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_0: sAssetPrefix = "Graphics\\select style preview 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_1: sAssetPrefix = "Graphics\\select style preview 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_2: sAssetPrefix = "Graphics\\select style preview 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_3: sAssetPrefix = "Graphics\\select style preview 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_4: sAssetPrefix = "Graphics\\select style preview 4"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_5: sAssetPrefix = "Graphics\\select style preview 5"; break;
|
||||
case GRAPHIC_SONG_OPTIONS_BACKGROUND: sAssetPrefix = "Graphics\\song options background"; break;
|
||||
case GRAPHIC_SONG_OPTIONS_TOP_EDGE: sAssetPrefix = "Graphics\\song options top edge"; break;
|
||||
case GRAPHIC_TITLE_MENU_BACKGROUND: sAssetPrefix = "Graphics\\title menu background"; break;
|
||||
|
||||
Reference in New Issue
Block a user