simpler Lua boilerplate

This commit is contained in:
Glenn Maynard
2006-09-27 19:53:05 +00:00
parent 4002071bea
commit ea7c05cee5
8 changed files with 30 additions and 45 deletions
+6 -10
View File
@@ -99,8 +99,6 @@ int CourseEntry::GetNumModChanges() const
class LunaCourseEntry: public Luna<CourseEntry>
{
public:
LunaCourseEntry() { LUA->Register( Register ); }
static int GetSong( T* p, lua_State *L )
{
if( p->pSong )
@@ -110,11 +108,11 @@ public:
return 1;
}
static void Register( lua_State *L )
LunaCourseEntry()
{
ADD_METHOD( GetSong );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( GetSong );
}
};
@@ -906,8 +904,6 @@ bool Course::Matches( RString sGroup, RString sCourse ) const
class LunaCourse: public Luna<Course>
{
public:
LunaCourse() { LUA->Register( Register ); }
static int GetPlayMode( T* p, lua_State *L ) { lua_pushnumber(L, p->GetPlayMode() ); return 1; }
static int GetDisplayFullTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayFullTitle() ); return 1; }
static int GetTranslitFullTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetTranslitFullTitle() ); return 1; }
@@ -935,8 +931,10 @@ public:
return 1;
}
static void Register(lua_State *L)
LunaCourse()
{
LUA->Register( Register );
ADD_METHOD( GetPlayMode );
ADD_METHOD( GetDisplayFullTitle );
ADD_METHOD( GetTranslitFullTitle );
@@ -948,8 +946,6 @@ public:
ADD_METHOD( IsAutogen );
ADD_METHOD( GetEstimatedNumStages );
ADD_METHOD( GetTotalSeconds );
Luna<T>::Register( L );
}
};
+5 -6
View File
@@ -114,14 +114,13 @@ TapNoteScore Game::MapTapNoteScore( TapNoteScore tns ) const
class LunaGame: public Luna<Game>
{
public:
LunaGame() { LUA->Register( Register ); }
static int GetName( T* p, lua_State *L ) { lua_pushstring( L, p->m_szName ); return 1; }
static void Register( Lua *L )
{
ADD_METHOD( GetName );
Luna<T>::Register( L );
LunaGame()
{
LUA->Register( Register );
ADD_METHOD( GetName );
}
};
+3 -5
View File
@@ -823,8 +823,6 @@ bool GameCommand::IsZero() const
class LunaGameCommand: public Luna<GameCommand>
{
public:
LunaGameCommand() { LUA->Register( Register ); }
static int GetName( T* p, lua_State *L ) { lua_pushstring(L, p->m_sName ); return 1; }
static int GetText( T* p, lua_State *L ) { lua_pushstring(L, p->m_sText ); return 1; }
static int GetIndex( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iIndex ); return 1; }
@@ -832,16 +830,16 @@ public:
static int GetProfileID( T* p, lua_State *L ) { lua_pushstring(L, p->m_sProfileID ); return 1; }
static int GetSong( T* p, lua_State *L ) { if(p->m_pSong==NULL) lua_pushnil(L); else p->m_pSong->PushSelf(L); return 1; }
static void Register(lua_State *L)
LunaGameCommand()
{
LUA->Register( Register );
ADD_METHOD( GetName );
ADD_METHOD( GetText );
ADD_METHOD( GetIndex );
ADD_METHOD( GetMultiPlayer );
ADD_METHOD( GetProfileID );
ADD_METHOD( GetSong );
Luna<T>::Register( L );
}
};
+3 -5
View File
@@ -380,17 +380,15 @@ void Screenshot::LoadFromNode( const XNode* pNode )
class LunaHighScore: public Luna<HighScore>
{
public:
LunaHighScore() { LUA->Register( Register ); }
static int GetName( T* p, lua_State *L ) { lua_pushstring(L, p->GetName() ); return 1; }
static int GetScore( T* p, lua_State *L ) { lua_pushnumber(L, p->GetScore() ); return 1; }
static void Register(lua_State *L)
LunaHighScore()
{
LUA->Register( Register );
ADD_METHOD( GetName );
ADD_METHOD( GetScore );
Luna<T>::Register( L );
}
};
+3 -5
View File
@@ -610,8 +610,6 @@ LuaFunction( GetGradeFromPercent, GetGradeFromPercent( FArg(1), false ) )
class LunaPlayerStageStats: public Luna<PlayerStageStats>
{
public:
LunaPlayerStageStats() { LUA->Register( Register ); }
DEFINE_METHOD( GetCaloriesBurned, fCaloriesBurned )
DEFINE_METHOD( GetLifeRemainingSeconds, fLifeRemainingSeconds )
DEFINE_METHOD( GetSurvivalSeconds, GetSurvivalSeconds() )
@@ -625,8 +623,10 @@ public:
DEFINE_METHOD( GetPerDifficultyAward, m_pdaToShow )
DEFINE_METHOD( GetPeakComboAward, m_pcaToShow )
static void Register(lua_State *L)
LunaPlayerStageStats()
{
LUA->Register( Register );
ADD_METHOD( GetCaloriesBurned );
ADD_METHOD( GetLifeRemainingSeconds );
ADD_METHOD( GetSurvivalSeconds );
@@ -639,8 +639,6 @@ public:
ADD_METHOD( GetMachineHighScoreIndex );
ADD_METHOD( GetPerDifficultyAward );
ADD_METHOD( GetPeakComboAward );
Luna<T>::Register( L );
}
};
+4 -4
View File
@@ -171,6 +171,7 @@ int PlayerState::GetSumOfActiveAttackLevels() const
class LunaPlayerState: public Luna<PlayerState>
{
public:
static int SetPlayerOptions( T* p, lua_State *L )
{
ModsLevel m = Enum::Check<ModsLevel>( L, 1 );
@@ -180,13 +181,12 @@ class LunaPlayerState: public Luna<PlayerState>
p->m_PlayerOptions.Assign( m, po );
return 0;
}
public:
LunaPlayerState() { LUA->Register( Register ); }
static void Register(lua_State *L)
LunaPlayerState()
{
LUA->Register( Register );
ADD_METHOD( SetPlayerOptions );
Luna<T>::Register( L );
}
};
+3 -5
View File
@@ -1908,8 +1908,6 @@ void Profile::MoveBackupToDir( RString sFromDir, RString sToDir )
class LunaProfile: public Luna<Profile>
{
public:
LunaProfile() { LUA->Register( Register ); }
static int GetDisplayName( T* p, lua_State *L ) { lua_pushstring(L, p->m_sDisplayName ); return 1; }
static int GetCharacter( T* p, lua_State *L ) { p->GetCharacter()->PushSelf(L); return 1; }
static int GetWeightPounds( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iWeightPounds ); return 1; }
@@ -1969,8 +1967,10 @@ public:
return 1;
}
static void Register(lua_State *L)
LunaProfile()
{
LUA->Register( Register );
ADD_METHOD( GetDisplayName );
ADD_METHOD( GetCharacter );
ADD_METHOD( GetWeightPounds );
@@ -2001,8 +2001,6 @@ public:
ADD_METHOD( GetMostPopularCourse );
ADD_METHOD( GetSongNumTimesPlayed );
ADD_METHOD( HasPassedAnyStepsInSong );
Luna<T>::Register( L );
}
};
+3 -5
View File
@@ -95,15 +95,13 @@ void RadarValues::FromString( RString sRadarValues )
class LunaRadarValues: public Luna<RadarValues>
{
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)
LunaRadarValues()
{
ADD_METHOD( GetValue );
LUA->Register( Register );
Luna<T>::Register( L );
ADD_METHOD( GetValue );
}
};