From c1194da0d065457f6608533c1d774fdbcbf03838 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 27 Sep 2006 06:18:11 +0000 Subject: [PATCH] bind MultiPlayer --- stepmania/src/GameState.cpp | 2 +- stepmania/src/HoldJudgment.cpp | 2 +- stepmania/src/Judgment.cpp | 2 +- stepmania/src/PlayerNumber.cpp | 5 +++-- stepmania/src/PlayerNumber.h | 1 + 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index 0aa17c6824..32ef4b2ed7 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -1839,7 +1839,7 @@ public: } static int GetMultiPlayerState( T* p, lua_State *L ) { - MultiPlayer mp = (MultiPlayer)IArg(1); + MultiPlayer mp = Enum::Check(L, 1); p->m_pMultiPlayerState[mp]->PushSelf(L); return 1; } diff --git a/stepmania/src/HoldJudgment.cpp b/stepmania/src/HoldJudgment.cpp index 2fd6e39eff..2fe73839b5 100644 --- a/stepmania/src/HoldJudgment.cpp +++ b/stepmania/src/HoldJudgment.cpp @@ -98,7 +98,7 @@ class LunaHoldJudgment: public Luna public: LunaHoldJudgment() { LUA->Register( Register ); } - static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( (MultiPlayer)IArg(1) ); return 0; } + static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( Enum::Check(L, 1) ); return 0; } static void Register(lua_State *L) { diff --git a/stepmania/src/Judgment.cpp b/stepmania/src/Judgment.cpp index d15d3cd163..a77fc7744e 100644 --- a/stepmania/src/Judgment.cpp +++ b/stepmania/src/Judgment.cpp @@ -127,7 +127,7 @@ class LunaJudgment: public Luna public: LunaJudgment() { LUA->Register( Register ); } - static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( (MultiPlayer)IArg(1) ); return 0; } + static int LoadFromMultiPlayer( T* p, lua_State *L ) { p->LoadFromMultiPlayer( Enum::Check(L, 1) ); return 0; } static void Register(lua_State *L) { diff --git a/stepmania/src/PlayerNumber.cpp b/stepmania/src/PlayerNumber.cpp index 4cc3249193..4b94bf3f85 100644 --- a/stepmania/src/PlayerNumber.cpp +++ b/stepmania/src/PlayerNumber.cpp @@ -50,8 +50,9 @@ static const char *MultiPlayerNames[] = { }; XToString( MultiPlayer, NUM_MultiPlayer ); XToLocalizedString( MultiPlayer ); -LuaFunction( MultiPlayerToString, MultiPlayerToString((MultiPlayer) IArg(1)) ); -LuaFunction( MultiPlayerToLocalizedString, MultiPlayerToLocalizedString((MultiPlayer) IArg(1)) ); +LuaFunction( MultiPlayerToString, MultiPlayerToString(Enum::Check(L, 1)) ); +LuaFunction( MultiPlayerToLocalizedString, MultiPlayerToLocalizedString(Enum::Check(L, 1)) ); +LuaXType( MultiPlayer ); PlayerNumber GetNextHumanPlayer( PlayerNumber pn ) diff --git a/stepmania/src/PlayerNumber.h b/stepmania/src/PlayerNumber.h index aaa6bafbcd..3d58577465 100644 --- a/stepmania/src/PlayerNumber.h +++ b/stepmania/src/PlayerNumber.h @@ -74,6 +74,7 @@ enum MultiPlayer }; const RString& MultiPlayerToString( MultiPlayer mp ); const RString& MultiPlayerToLocalizedString( MultiPlayer mp ); +LuaDeclareType( MultiPlayer ); #define FOREACH_MultiPlayer( pn ) FOREACH_ENUM2( MultiPlayer, pn )