diff --git a/stepmania/src/PlayerNumber.cpp b/stepmania/src/PlayerNumber.cpp index a1f579c3af..4cc3249193 100644 --- a/stepmania/src/PlayerNumber.cpp +++ b/stepmania/src/PlayerNumber.cpp @@ -11,16 +11,8 @@ static const char *PlayerNumberNames[] = { }; XToString( PlayerNumber, NUM_PlayerNumber ); XToLocalizedString( PlayerNumber ); -LuaFunction( PlayerNumberToString, PlayerNumberToString((PlayerNumber) IArg(1)) ); - -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 ); - +LuaFunction( PlayerNumberToString, PlayerNumberToString(Enum::Check(L, 1)) ); +LuaXType( PlayerNumber ); static const char *MultiPlayerNames[] = { "P1", diff --git a/stepmania/src/PlayerNumber.h b/stepmania/src/PlayerNumber.h index af2c75e05b..1e095655bc 100644 --- a/stepmania/src/PlayerNumber.h +++ b/stepmania/src/PlayerNumber.h @@ -19,6 +19,7 @@ enum PlayerNumber const int NUM_PLAYERS = NUM_PlayerNumber; const RString& PlayerNumberToString( PlayerNumber pn ); const RString& PlayerNumberToLocalizedString( PlayerNumber pn ); +LuaDeclareType( PlayerNumber ); #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) )