diff --git a/stepmania/src/RadarValues.cpp b/stepmania/src/RadarValues.cpp index 5b9000ed42..364cffe7f5 100644 --- a/stepmania/src/RadarValues.cpp +++ b/stepmania/src/RadarValues.cpp @@ -89,6 +89,27 @@ void RadarValues::FromString( RString sRadarValues ) } +// lua start +#include "LuaBinding.h" + +class LunaRadarValues: public Luna +{ +public: + LunaRadarValues() { LUA->Register( Register ); } + + static int GetValue( T* p, lua_State *L ) { lua_pushnumber( L, (*p)[IArg(1)] ); return 1; } + + static void Register(lua_State *L) + { + ADD_METHOD( GetValue ); + + Luna::Register( L ); + } +}; + +LUA_REGISTER_CLASS( RadarValues ) +// lua end + /* * (c) 2001-2004 Chris Danford * All rights reserved. diff --git a/stepmania/src/RadarValues.h b/stepmania/src/RadarValues.h index 779f5ac140..cba2a01ab3 100644 --- a/stepmania/src/RadarValues.h +++ b/stepmania/src/RadarValues.h @@ -8,6 +8,7 @@ #define RADAR_VAL_UNKNOWN -1 class XNode; +struct lua_State; struct RadarValues { @@ -63,6 +64,9 @@ struct RadarValues RString ToString( int iMaxValues = -1 ) const; // default = all void FromString( RString sValues ); + + // Lua + void PushSelf( lua_State *L ); };