bind StepsType

This commit is contained in:
Glenn Maynard
2006-09-27 06:09:52 +00:00
parent 1c8188cf21
commit 982228b7e6
7 changed files with 27 additions and 23 deletions
+1 -1
View File
@@ -926,7 +926,7 @@ public:
static int GetEstimatedNumStages( T* p, lua_State *L ) { lua_pushnumber(L, p->GetEstimatedNumStages() ); return 1; } static int GetEstimatedNumStages( T* p, lua_State *L ) { lua_pushnumber(L, p->GetEstimatedNumStages() ); return 1; }
static int GetTotalSeconds( T* p, lua_State *L ) static int GetTotalSeconds( T* p, lua_State *L )
{ {
StepsType st = (StepsType) IArg(1); StepsType st = Enum::Check<StepsType>(L, 1);
float fTotalSeconds; float fTotalSeconds;
if( !p->GetTotalSeconds(st, fTotalSeconds) ) if( !p->GetTotalSeconds(st, fTotalSeconds) )
lua_pushnil( L ); lua_pushnil( L );
+2 -2
View File
@@ -130,7 +130,7 @@ static void Lua##X(lua_State* L) \
lua_newtable( L ); \ lua_newtable( L ); \
FOREACH_ENUM2( X, i ) \ FOREACH_ENUM2( X, i ) \
{ \ { \
RString s = X##Names[i]; \ RString s = X##ToString( i ); \
lua_pushstring( L, (#X "_")+s ); \ lua_pushstring( L, (#X "_")+s ); \
lua_rawseti( L, -2, i+1 ); /* 1-based */ \ lua_rawseti( L, -2, i+1 ); /* 1-based */ \
} \ } \
@@ -141,7 +141,7 @@ static void Lua##X(lua_State* L) \
lua_newtable( L ); \ lua_newtable( L ); \
FOREACH_ENUM2( X, i ) \ FOREACH_ENUM2( X, i ) \
{ \ { \
RString s = X##Names[i]; \ RString s = X##ToString( i ); \
lua_pushstring( L, (#X "_")+s ); \ lua_pushstring( L, (#X "_")+s ); \
lua_pushnumber( L, i ); /* 0-based */ \ lua_pushnumber( L, i ); /* 0-based */ \
lua_rawset( L, -3 ); \ lua_rawset( L, -3 ); \
+10 -7
View File
@@ -34,18 +34,21 @@ XToLocalizedString( RadarCategory );
LuaFunction( RadarCategoryToLocalizedString, RadarCategoryToLocalizedString(Enum::Check<RadarCategory>(L, 1)) ); LuaFunction( RadarCategoryToLocalizedString, RadarCategoryToLocalizedString(Enum::Check<RadarCategory>(L, 1)) );
LuaXType( RadarCategory ); LuaXType( RadarCategory );
static void LuaStepsType(lua_State* L) RString StepsTypeToString( Stage s );
{ RString StepsTypeToString( StepsType st )
FOREACH_StepsType( st )
{ {
RString s = GAMEMAN->StepsTypeToString( st ); RString s = GAMEMAN->StepsTypeToString( st );
s.MakeUpper(); /* steps-type -> StepsType */
s.Replace('-','_'); s.Replace('-','_');
LUA->SetGlobal( "STEPS_TYPE_"+s, st ); for( size_t i = 0; i < s.size(); ++i )
{
if( i == 0 || (i > 0 && s[i-1] == '_') )
s[i-1] = toupper( s[i-1] );
} }
LUA->SetGlobal( "STEPS_TYPE_INVALID", StepsType_Invalid ); return "StepsType_"+s;
} }
REGISTER_WITH_LUA_FUNCTION( LuaStepsType );
LuaXType( StepsType );
static const char *PlayModeNames[] = { static const char *PlayModeNames[] = {
+1
View File
@@ -73,6 +73,7 @@ enum StepsType
StepsType_Invalid, StepsType_Invalid,
}; };
#define FOREACH_StepsType( st ) FOREACH_ENUM2( StepsType, st ) #define FOREACH_StepsType( st ) FOREACH_ENUM2( StepsType, st )
LuaDeclareType( StepsType );
// //
// Play mode stuff // Play mode stuff
+1 -1
View File
@@ -2908,7 +2908,7 @@ class LunaGameManager: public Luna<GameManager>
public: public:
LunaGameManager() { LUA->Register( Register ); } LunaGameManager() { LUA->Register( Register ); }
static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString((StepsType)IArg(1)) ); return 1; } static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString(Enum::Check<StepsType>(L, 1)) ); return 1; }
static int GetFirstStepsTypeForGame( T* p, lua_State *L ) static int GetFirstStepsTypeForGame( T* p, lua_State *L )
{ {
Game *pGame = Luna<Game>::check( L, 1 ); Game *pGame = Luna<Game>::check( L, 1 );
+9 -9
View File
@@ -1923,17 +1923,17 @@ public:
static int GetCaloriesBurnedToday( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCaloriesBurnedToday() ); return 1; } static int GetCaloriesBurnedToday( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCaloriesBurnedToday() ); return 1; }
static int GetTotalNumSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; } static int GetTotalNumSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; }
static int IsCodeUnlocked( T* p, lua_State *L ) { lua_pushboolean(L, p->IsCodeUnlocked(SArg(1)) ); return 1; } static int IsCodeUnlocked( T* p, lua_State *L ) { lua_pushboolean(L, p->IsCodeUnlocked(SArg(1)) ); return 1; }
static int GetSongsActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsActual((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetSongsActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsActual(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetCoursesActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesActual((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetCoursesActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesActual(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetSongsPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPossible((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetSongsPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPossible(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetCoursesPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPossible((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetCoursesPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPossible(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetSongsPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPercentComplete((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetSongsPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPercentComplete(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetCoursesPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPercentComplete((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2)) ); return 1; } static int GetCoursesPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetCoursesPercentComplete(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2)) ); return 1; }
static int GetTotalStepsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalStepsWithTopGrade((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; } static int GetTotalStepsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalStepsWithTopGrade(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
static int GetTotalTrailsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalTrailsWithTopGrade((StepsType)IArg(1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; } static int GetTotalTrailsWithTopGrade( T* p, lua_State *L ) { lua_pushnumber(L, p->GetTotalTrailsWithTopGrade(Enum::Check<StepsType>(L, 1),Enum::Check<Difficulty>(L, 2),Enum::Check<Grade>(L, 3)) ); return 1; }
static int GetNumTotalSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; } static int GetNumTotalSongsPlayed( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iNumTotalSongsPlayed ); return 1; }
static int GetLastPlayedStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLastPlayedStepsType() ); return 1; } static int GetLastPlayedStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->GetLastPlayedStepsType() ); return 1; }
static int GetSongsAndCoursesPercentCompleteAllDifficulties( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsAndCoursesPercentCompleteAllDifficulties((StepsType)IArg(1)) ); return 1; } static int GetSongsAndCoursesPercentCompleteAllDifficulties( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsAndCoursesPercentCompleteAllDifficulties(Enum::Check<StepsType>(L, 1)) ); return 1; }
static int GetTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushnumber(L, p->m_fTotalCaloriesBurned ); return 1; } static int GetTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushnumber(L, p->m_fTotalCaloriesBurned ); return 1; }
static int GetDisplayTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayTotalCaloriesBurned() ); return 1; } static int GetDisplayTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayTotalCaloriesBurned() ); return 1; }
static int GetMostPopularSong( T* p, lua_State *L ) static int GetMostPopularSong( T* p, lua_State *L )
+2 -2
View File
@@ -1249,7 +1249,7 @@ public:
} }
static int GetStepsByStepsType( T* p, lua_State *L ) static int GetStepsByStepsType( T* p, lua_State *L )
{ {
StepsType st = (StepsType)IArg(1); StepsType st = Enum::Check<StepsType>(L, 1);
const vector<Steps*> &v = p->GetStepsByStepsType( st ); const vector<Steps*> &v = p->GetStepsByStepsType( st );
LuaHelpers::CreateTableFromArray<Steps*>( v, L ); LuaHelpers::CreateTableFromArray<Steps*>( v, L );
return 1; return 1;
@@ -1264,7 +1264,7 @@ public:
static int IsMarathon( T* p, lua_State *L ) { lua_pushboolean(L, p->IsMarathon()); return 1; } static int IsMarathon( T* p, lua_State *L ) { lua_pushboolean(L, p->IsMarathon()); return 1; }
static int HasStepsTypeAndDifficulty( T* p, lua_State *L ) static int HasStepsTypeAndDifficulty( T* p, lua_State *L )
{ {
StepsType st = (StepsType)IArg(1); StepsType st = Enum::Check<StepsType>(L, 1);
Difficulty dc = Enum::Check<Difficulty>( L, 2 ); Difficulty dc = Enum::Check<Difficulty>( L, 2 );