From 174f0c16fa5e7f35a41c51a93f2e05c301641295 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 14 Nov 2006 04:22:27 +0000 Subject: [PATCH] update bindings --- stepmania/src/Actor.cpp | 13 ++++++++++++- stepmania/src/MessageManager.cpp | 7 +++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/stepmania/src/Actor.cpp b/stepmania/src/Actor.cpp index 36d94a49bf..c71cfcd448 100644 --- a/stepmania/src/Actor.cpp +++ b/stepmania/src/Actor.cpp @@ -1381,7 +1381,18 @@ public: static int hidden( T* p, lua_State *L ) { p->SetHidden(BIArg(1)); return 0; } static int hibernate( T* p, lua_State *L ) { p->SetHibernate(FArg(1)); return 0; } static int draworder( T* p, lua_State *L ) { p->SetDrawOrder(IArg(1)); return 0; } - static int playcommand( T* p, lua_State *L ) { p->PlayCommand(SArg(1)); return 0; } + static int playcommand( T* p, lua_State *L ) + { + if( !lua_istable(L, 2) && !lua_isnoneornil(L, 2) ) + luaL_typerror( L, 2, "table or nil" ); + + LuaReference ParamTable; + lua_pushvalue( L, 2 ); + ParamTable.SetFromStack( L ); + + p->PlayCommand( SArg(1), &ParamTable ); + return 0; + } static int queuecommand( T* p, lua_State *L ) { p->QueueCommand(SArg(1)); return 0; } static int queuemessage( T* p, lua_State *L ) { p->QueueMessage(SArg(1)); return 0; } static int addcommand( T* p, lua_State *L ) diff --git a/stepmania/src/MessageManager.cpp b/stepmania/src/MessageManager.cpp index 1ec6a76a49..8dedcc1f61 100644 --- a/stepmania/src/MessageManager.cpp +++ b/stepmania/src/MessageManager.cpp @@ -286,6 +286,13 @@ class LunaMessageManager: public Luna public: static int Broadcast( T* p, lua_State *L ) { + if( !lua_istable(L, 2) && !lua_isnoneornil(L, 2) ) + luaL_typerror( L, 2, "table or nil" ); + + LuaReference ParamTable; + lua_pushvalue( L, 2 ); + ParamTable.SetFromStack( L ); + p->Broadcast( SArg(1) ); return 0; }