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 GetTotalSeconds( T* p, lua_State *L )
{
StepsType st = (StepsType) IArg(1);
StepsType st = Enum::Check<StepsType>(L, 1);
float fTotalSeconds;
if( !p->GetTotalSeconds(st, fTotalSeconds) )
lua_pushnil( L );
+2 -2
View File
@@ -130,7 +130,7 @@ static void Lua##X(lua_State* L) \
lua_newtable( L ); \
FOREACH_ENUM2( X, i ) \
{ \
RString s = X##Names[i]; \
RString s = X##ToString( i ); \
lua_pushstring( L, (#X "_")+s ); \
lua_rawseti( L, -2, i+1 ); /* 1-based */ \
} \
@@ -141,7 +141,7 @@ static void Lua##X(lua_State* L) \
lua_newtable( L ); \
FOREACH_ENUM2( X, i ) \
{ \
RString s = X##Names[i]; \
RString s = X##ToString( i ); \
lua_pushstring( L, (#X "_")+s ); \
lua_pushnumber( L, i ); /* 0-based */ \
lua_rawset( L, -3 ); \
+11 -8
View File
@@ -34,18 +34,21 @@ XToLocalizedString( RadarCategory );
LuaFunction( RadarCategoryToLocalizedString, RadarCategoryToLocalizedString(Enum::Check<RadarCategory>(L, 1)) );
LuaXType( RadarCategory );
static void LuaStepsType(lua_State* L)
RString StepsTypeToString( Stage s );
RString StepsTypeToString( StepsType st )
{
FOREACH_StepsType( st )
RString s = GAMEMAN->StepsTypeToString( st );
/* steps-type -> StepsType */
s.Replace('-','_');
for( size_t i = 0; i < s.size(); ++i )
{
RString s = GAMEMAN->StepsTypeToString( st );
s.MakeUpper();
s.Replace('-','_');
LUA->SetGlobal( "STEPS_TYPE_"+s, st );
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[] = {
+1
View File
@@ -73,6 +73,7 @@ enum StepsType
StepsType_Invalid,
};
#define FOREACH_StepsType( st ) FOREACH_ENUM2( StepsType, st )
LuaDeclareType( StepsType );
//
// Play mode stuff
+1 -1
View File
@@ -2908,7 +2908,7 @@ class LunaGameManager: public Luna<GameManager>
public:
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 )
{
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 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 GetSongsActual( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsActual((StepsType)IArg(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 GetSongsPossible( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPossible((StepsType)IArg(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 GetSongsPercentComplete( T* p, lua_State *L ) { lua_pushnumber(L, p->GetSongsPercentComplete((StepsType)IArg(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 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 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 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(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(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(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(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(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(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(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 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 GetDisplayTotalCaloriesBurned( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayTotalCaloriesBurned() ); return 1; }
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 )
{
StepsType st = (StepsType)IArg(1);
StepsType st = Enum::Check<StepsType>(L, 1);
const vector<Steps*> &v = p->GetStepsByStepsType( st );
LuaHelpers::CreateTableFromArray<Steps*>( v, L );
return 1;
@@ -1264,7 +1264,7 @@ public:
static int IsMarathon( T* p, lua_State *L ) { lua_pushboolean(L, p->IsMarathon()); return 1; }
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 );