diff --git a/stepmania/src/EnumHelper.h b/stepmania/src/EnumHelper.h index 4e2b7e0f83..1fceb1e16e 100644 --- a/stepmania/src/EnumHelper.h +++ b/stepmania/src/EnumHelper.h @@ -79,7 +79,7 @@ LuaFunction( X##ToString, X##ToString( (X) IArg(1) ) ); #define LuaStringToX(X) \ LuaFunction( StringTo##X, (X) StringTo##X( SArg(1) ) ); -#define LuaXType(X, CNT, Prefix) \ +#define LuaXType(X, CNT, Prefix, bCapitalize) \ static void Lua##X(lua_State* L) \ { \ FOREACH_ENUM( X, CNT, i ) \ @@ -89,7 +89,8 @@ static void Lua##X(lua_State* L) \ LUA->SetGlobal( Prefix+s, i ); \ } \ CString sType = "NUM" #X "S" ; \ - sType.MakeUpper(); \ + if( bCapitalize ) \ + sType.MakeUpper(); \ LUA->SetGlobal( sType, CNT ); \ LUA->SetGlobal( Prefix "INVALID", CNT+1 ); \ } \ diff --git a/stepmania/src/GameConstantsAndTypes.cpp b/stepmania/src/GameConstantsAndTypes.cpp index 3185b403ca..0f47eee600 100644 --- a/stepmania/src/GameConstantsAndTypes.cpp +++ b/stepmania/src/GameConstantsAndTypes.cpp @@ -69,7 +69,7 @@ XToThemedString( PlayMode, NUM_PLAY_MODES ); StringToX( PlayMode ); LuaXToString( PlayMode ); LuaFunction( PlayModeToThemedString, PlayModeToThemedString((PlayMode) IArg(1)) ); -LuaXType( PlayMode, NUM_PLAY_MODES, "PLAY_MODE_" ) +LuaXType( PlayMode, NUM_PLAY_MODES, "PLAY_MODE_", true ) RankingCategory AverageMeterToRankingCategory( int iAverageMeter ) { diff --git a/stepmania/src/NoteTypes.cpp b/stepmania/src/NoteTypes.cpp index df01daea51..9123867cc8 100644 --- a/stepmania/src/NoteTypes.cpp +++ b/stepmania/src/NoteTypes.cpp @@ -28,7 +28,7 @@ static const CString NoteTypeNames[] = { }; XToString( NoteType, NUM_NOTE_TYPES ); LuaXToString( NoteType ) -LuaXType( NoteType, NUM_NOTE_TYPES , "NOTE_TYPE_" ) +LuaXType( NoteType, NUM_NOTE_TYPES , "NOTE_TYPE_", true ) float NoteTypeToBeat( NoteType nt ) { diff --git a/stepmania/src/PlayerNumber.cpp b/stepmania/src/PlayerNumber.cpp index 16905b6d0b..6f2623f274 100644 --- a/stepmania/src/PlayerNumber.cpp +++ b/stepmania/src/PlayerNumber.cpp @@ -2,12 +2,22 @@ #include "PlayerNumber.h" #include "GameState.h" #include "LuaManager.h" +#include "ThemeMetric.h" static const CString PlayerNumberNames[] = { "P1", "P2", }; XToString( PlayerNumber, NUM_PLAYERS ); +XToThemedString( PlayerNumber, NUM_PLAYERS ); + +void LuaPlayerNumber(lua_State* L) +{ + FOREACH_PlayerNumber( pn ) + LUA->SetGlobal( ssprintf("PLAYER_%d",pn+1), pn ); + LUA->SetGlobal( "NUM_PLAYERS", NUM_PLAYERS ); +} +REGISTER_WITH_LUA_FUNCTION( LuaPlayerNumber ); static const CString MultiPlayerNames[] = { @@ -21,6 +31,7 @@ static const CString MultiPlayerNames[] = { "P8", }; XToString( MultiPlayer, NUM_MultiPlayer ); +XToThemedString( MultiPlayer, NUM_MultiPlayer ); PlayerNumber GetNextHumanPlayer( PlayerNumber pn ) @@ -73,16 +84,6 @@ MultiPlayer GetNextEnabledMultiPlayer( MultiPlayer mp ) return MultiPlayer_INVALID; } - -void LuaPlayerNumber(lua_State* L) -{ - FOREACH_PlayerNumber( pn ) - LUA->SetGlobal( ssprintf("PLAYER_%d",pn+1), pn ); - LUA->SetGlobal( "NUM_PLAYERS", NUM_PLAYERS ); -} -REGISTER_WITH_LUA_FUNCTION( LuaPlayerNumber ); - - /* * (c) 2001-2004 Chris Danford, Chris Gomez * All rights reserved. diff --git a/stepmania/src/PlayerNumber.h b/stepmania/src/PlayerNumber.h index 1cb5695055..d29e5ee5fa 100644 --- a/stepmania/src/PlayerNumber.h +++ b/stepmania/src/PlayerNumber.h @@ -17,6 +17,7 @@ enum PlayerNumber PLAYER_INVALID }; const CString& PlayerNumberToString( PlayerNumber pn ); +const CString& PlayerNumberToThemedString( PlayerNumber pn ); #define FOREACH_PlayerNumber( pn ) FOREACH_ENUM( PlayerNumber, NUM_PLAYERS, pn ) #define FOREACH_HumanPlayer( pn ) for( PlayerNumber pn=GetNextHumanPlayer((PlayerNumber)-1); pn!=PLAYER_INVALID; pn=GetNextHumanPlayer(pn) ) @@ -46,6 +47,7 @@ enum MultiPlayer MultiPlayer_INVALID }; const CString& MultiPlayerToString( MultiPlayer mp ); +const CString& MultiPlayerToThemedString( MultiPlayer mp ); #define FOREACH_MultiPlayer( pn ) FOREACH_ENUM( MultiPlayer, NUM_MultiPlayer, pn )