bind StepsType
This commit is contained in:
@@ -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 );
|
||||||
|
|||||||
@@ -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 ); \
|
||||||
|
|||||||
@@ -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[] = {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|||||||
@@ -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 )
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user