Mini-rewrite of input mapping, theme support, and added KSF reader.

This commit is contained in:
Chris Danford
2002-07-31 19:40:40 +00:00
parent 488798fef6
commit 4ec08edf2d
88 changed files with 1444 additions and 851 deletions
+37 -24
View File
@@ -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;