themable player number

This commit is contained in:
Chris Danford
2005-12-27 17:16:02 +00:00
parent 17e3661755
commit f99b179a5b
5 changed files with 18 additions and 14 deletions
+3 -2
View File
@@ -79,7 +79,7 @@ LuaFunction( X##ToString, X##ToString( (X) IArg(1) ) );
#define LuaStringToX(X) \ #define LuaStringToX(X) \
LuaFunction( StringTo##X, (X) StringTo##X( SArg(1) ) ); 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) \ static void Lua##X(lua_State* L) \
{ \ { \
FOREACH_ENUM( X, CNT, i ) \ FOREACH_ENUM( X, CNT, i ) \
@@ -89,7 +89,8 @@ static void Lua##X(lua_State* L) \
LUA->SetGlobal( Prefix+s, i ); \ LUA->SetGlobal( Prefix+s, i ); \
} \ } \
CString sType = "NUM" #X "S" ; \ CString sType = "NUM" #X "S" ; \
sType.MakeUpper(); \ if( bCapitalize ) \
sType.MakeUpper(); \
LUA->SetGlobal( sType, CNT ); \ LUA->SetGlobal( sType, CNT ); \
LUA->SetGlobal( Prefix "INVALID", CNT+1 ); \ LUA->SetGlobal( Prefix "INVALID", CNT+1 ); \
} \ } \
+1 -1
View File
@@ -69,7 +69,7 @@ XToThemedString( PlayMode, NUM_PLAY_MODES );
StringToX( PlayMode ); StringToX( PlayMode );
LuaXToString( PlayMode ); LuaXToString( PlayMode );
LuaFunction( PlayModeToThemedString, PlayModeToThemedString((PlayMode) IArg(1)) ); 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 ) RankingCategory AverageMeterToRankingCategory( int iAverageMeter )
{ {
+1 -1
View File
@@ -28,7 +28,7 @@ static const CString NoteTypeNames[] = {
}; };
XToString( NoteType, NUM_NOTE_TYPES ); XToString( NoteType, NUM_NOTE_TYPES );
LuaXToString( NoteType ) LuaXToString( NoteType )
LuaXType( NoteType, NUM_NOTE_TYPES , "NOTE_TYPE_" ) LuaXType( NoteType, NUM_NOTE_TYPES , "NOTE_TYPE_", true )
float NoteTypeToBeat( NoteType nt ) float NoteTypeToBeat( NoteType nt )
{ {
+11 -10
View File
@@ -2,12 +2,22 @@
#include "PlayerNumber.h" #include "PlayerNumber.h"
#include "GameState.h" #include "GameState.h"
#include "LuaManager.h" #include "LuaManager.h"
#include "ThemeMetric.h"
static const CString PlayerNumberNames[] = { static const CString PlayerNumberNames[] = {
"P1", "P1",
"P2", "P2",
}; };
XToString( PlayerNumber, NUM_PLAYERS ); 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[] = { static const CString MultiPlayerNames[] = {
@@ -21,6 +31,7 @@ static const CString MultiPlayerNames[] = {
"P8", "P8",
}; };
XToString( MultiPlayer, NUM_MultiPlayer ); XToString( MultiPlayer, NUM_MultiPlayer );
XToThemedString( MultiPlayer, NUM_MultiPlayer );
PlayerNumber GetNextHumanPlayer( PlayerNumber pn ) PlayerNumber GetNextHumanPlayer( PlayerNumber pn )
@@ -73,16 +84,6 @@ MultiPlayer GetNextEnabledMultiPlayer( MultiPlayer mp )
return MultiPlayer_INVALID; 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 * (c) 2001-2004 Chris Danford, Chris Gomez
* All rights reserved. * All rights reserved.
+2
View File
@@ -17,6 +17,7 @@ enum PlayerNumber
PLAYER_INVALID PLAYER_INVALID
}; };
const CString& PlayerNumberToString( PlayerNumber pn ); const CString& PlayerNumberToString( PlayerNumber pn );
const CString& PlayerNumberToThemedString( PlayerNumber pn );
#define FOREACH_PlayerNumber( pn ) FOREACH_ENUM( PlayerNumber, NUM_PLAYERS, 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) ) #define FOREACH_HumanPlayer( pn ) for( PlayerNumber pn=GetNextHumanPlayer((PlayerNumber)-1); pn!=PLAYER_INVALID; pn=GetNextHumanPlayer(pn) )
@@ -46,6 +47,7 @@ enum MultiPlayer
MultiPlayer_INVALID MultiPlayer_INVALID
}; };
const CString& MultiPlayerToString( MultiPlayer mp ); const CString& MultiPlayerToString( MultiPlayer mp );
const CString& MultiPlayerToThemedString( MultiPlayer mp );
#define FOREACH_MultiPlayer( pn ) FOREACH_ENUM( MultiPlayer, NUM_MultiPlayer, pn ) #define FOREACH_MultiPlayer( pn ) FOREACH_ENUM( MultiPlayer, NUM_MultiPlayer, pn )