simpler Lua boilerplate

This commit is contained in:
Glenn Maynard
2006-09-27 20:03:31 +00:00
parent ea7c05cee5
commit 153bcedd40
19 changed files with 64 additions and 96 deletions
+5 -6
View File
@@ -239,14 +239,13 @@ void BPMDisplay::SetFromGameState()
class LunaBPMDisplay: public Luna<BPMDisplay> class LunaBPMDisplay: public Luna<BPMDisplay>
{ {
public: public:
LunaBPMDisplay() { LUA->Register( Register ); }
static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; } static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; }
static void Register(lua_State *L)
{
ADD_METHOD( SetFromGameState );
Luna<T>::Register( L ); LunaBPMDisplay()
{
LUA->Register( Register );
ADD_METHOD( SetFromGameState );
} }
}; };
+3 -5
View File
@@ -191,8 +191,6 @@ void Banner::LoadRandom()
class LunaBanner: public Luna<Banner> class LunaBanner: public Luna<Banner>
{ {
public: public:
LunaBanner() { LUA->Register( Register ); }
static int scaletoclipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; } static int scaletoclipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
static int ScaleToClipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; } static int ScaleToClipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
static int LoadFromSong( T* p, lua_State *L ) static int LoadFromSong( T* p, lua_State *L )
@@ -232,8 +230,10 @@ public:
return 0; return 0;
} }
static void Register(lua_State *L) LunaBanner()
{ {
LUA->Register( Register );
ADD_METHOD( scaletoclipped ); ADD_METHOD( scaletoclipped );
ADD_METHOD( ScaleToClipped ); ADD_METHOD( ScaleToClipped );
ADD_METHOD( LoadFromSong ); ADD_METHOD( LoadFromSong );
@@ -242,8 +242,6 @@ public:
ADD_METHOD( LoadCardFromCharacter ); ADD_METHOD( LoadCardFromCharacter );
ADD_METHOD( LoadBannerFromUnlockEntry ); ADD_METHOD( LoadBannerFromUnlockEntry );
ADD_METHOD( LoadBackgroundFromUnlockEntry ); ADD_METHOD( LoadBackgroundFromUnlockEntry );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -110,8 +110,6 @@ void ComboGraph::Load( const StageStats &s, const PlayerStageStats &pss )
class LunaComboGraph: public Luna<ComboGraph> class LunaComboGraph: public Luna<ComboGraph>
{ {
public: public:
LunaComboGraph() { LUA->Register( Register ); }
static int LoadFromStats( T* p, lua_State *L ) static int LoadFromStats( T* p, lua_State *L )
{ {
StageStats *pStageStats = Luna<StageStats>::check( L, 1 ); StageStats *pStageStats = Luna<StageStats>::check( L, 1 );
@@ -120,11 +118,11 @@ public:
return 0; return 0;
} }
static void Register(lua_State *L) LunaComboGraph()
{ {
ADD_METHOD( LoadFromStats ); LUA->Register( Register );
Luna<T>::Register( L ); ADD_METHOD( LoadFromStats );
} }
}; };
+3 -5
View File
@@ -95,15 +95,13 @@ void CourseContentsList::SetFromGameState()
class LunaCourseContentsList: public Luna<CourseContentsList> class LunaCourseContentsList: public Luna<CourseContentsList>
{ {
public: public:
LunaCourseContentsList() { LUA->Register( Register ); }
static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; } static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(); return 0; }
static void Register(lua_State *L) LunaCourseContentsList()
{ {
ADD_METHOD( SetFromGameState ); LUA->Register( Register );
Luna<T>::Register( L ); ADD_METHOD( SetFromGameState );
} }
}; };
+3 -5
View File
@@ -192,15 +192,13 @@ void CourseEntryDisplay::SetFromGameState( int iCourseEntryIndex )
class LunaCourseEntryDisplay: public Luna<CourseEntryDisplay> class LunaCourseEntryDisplay: public Luna<CourseEntryDisplay>
{ {
public: public:
LunaCourseEntryDisplay() { LUA->Register( Register ); }
static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(IArg(1)); return 0; } static int SetFromGameState( T* p, lua_State *L ) { p->SetFromGameState(IArg(1)); return 0; }
static void Register(lua_State *L) LunaCourseEntryDisplay()
{ {
ADD_METHOD( SetFromGameState ); LUA->Register( Register );
Luna<T>::Register( L ); ADD_METHOD( SetFromGameState );
} }
}; };
+3 -5
View File
@@ -105,8 +105,6 @@ void DifficultyIcon::SetFromDifficulty( Difficulty dc )
class LunaDifficultyIcon: public Luna<DifficultyIcon> class LunaDifficultyIcon: public Luna<DifficultyIcon>
{ {
public: public:
LunaDifficultyIcon() { LUA->Register( Register ); }
static int SetFromSteps( T* p, lua_State *L ) static int SetFromSteps( T* p, lua_State *L )
{ {
if( lua_isnil(L,1) ) if( lua_isnil(L,1) )
@@ -137,15 +135,15 @@ public:
static int SetPlayer( T* p, lua_State *L ) { p->SetPlayer( Enum::Check<PlayerNumber>(L, 1) ); return 0; } static int SetPlayer( T* p, lua_State *L ) { p->SetPlayer( Enum::Check<PlayerNumber>(L, 1) ); return 0; }
static int SetFromDifficulty( T* p, lua_State *L ) { p->SetFromDifficulty( Enum::Check<Difficulty>(L, 1) ); return 0; } static int SetFromDifficulty( T* p, lua_State *L ) { p->SetFromDifficulty( Enum::Check<Difficulty>(L, 1) ); return 0; }
static void Register(lua_State *L) LunaDifficultyIcon()
{ {
LUA->Register( Register );
ADD_METHOD( Unset ); ADD_METHOD( Unset );
ADD_METHOD( SetPlayer ); ADD_METHOD( SetPlayer );
ADD_METHOD( SetFromSteps ); ADD_METHOD( SetFromSteps );
ADD_METHOD( SetFromTrail ); ADD_METHOD( SetFromTrail );
ADD_METHOD( SetFromDifficulty ); ADD_METHOD( SetFromDifficulty );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -379,15 +379,13 @@ void DifficultyList::Hide()
class LunaDifficultyList: public Luna<DifficultyList> class LunaDifficultyList: public Luna<DifficultyList>
{ {
public: public:
LunaDifficultyList() { LUA->Register( Register ); }
static int setfromgamestate( T* p, lua_State *L ) { p->SetFromGameState(); return 0; } static int setfromgamestate( T* p, lua_State *L ) { p->SetFromGameState(); return 0; }
static void Register(lua_State *L) LunaDifficultyList()
{ {
ADD_METHOD( setfromgamestate ); LUA->Register( Register );
Luna<T>::Register( L ); ADD_METHOD( setfromgamestate );
} }
}; };
+3 -5
View File
@@ -257,8 +257,6 @@ void DifficultyMeter::SetInternal( int iMeter, Difficulty dc, const RString &sDi
class LunaDifficultyMeter: public Luna<DifficultyMeter> class LunaDifficultyMeter: public Luna<DifficultyMeter>
{ {
public: public:
LunaDifficultyMeter() { LUA->Register( Register ); }
static int Load( T* p, lua_State *L ) { p->Load( SArg(1) ); return 0; } static int Load( T* p, lua_State *L ) { p->Load( SArg(1) ); return 0; }
static int SetFromMeterAndDifficulty( T* p, lua_State *L ) { p->SetFromMeterAndDifficulty( IArg(1), Enum::Check<Difficulty>(L, 2) ); return 0; } static int SetFromMeterAndDifficulty( T* p, lua_State *L ) { p->SetFromMeterAndDifficulty( IArg(1), Enum::Check<Difficulty>(L, 2) ); return 0; }
static int SetFromSteps( T* p, lua_State *L ) static int SetFromSteps( T* p, lua_State *L )
@@ -294,15 +292,15 @@ public:
return 0; return 0;
} }
static void Register(lua_State *L) LunaDifficultyMeter()
{ {
LUA->Register( Register );
ADD_METHOD( Load ); ADD_METHOD( Load );
ADD_METHOD( SetFromMeterAndDifficulty ); ADD_METHOD( SetFromMeterAndDifficulty );
ADD_METHOD( SetFromSteps ); ADD_METHOD( SetFromSteps );
ADD_METHOD( SetFromTrail ); ADD_METHOD( SetFromTrail );
ADD_METHOD( SetFromGameState ); ADD_METHOD( SetFromGameState );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -245,8 +245,6 @@ void FadingBanner::LoadCourseFallback()
class LunaFadingBanner: public Luna<FadingBanner> class LunaFadingBanner: public Luna<FadingBanner>
{ {
public: public:
LunaFadingBanner() { LUA->Register( Register ); }
static int scaletoclipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; } static int scaletoclipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
static int ScaleToClipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; } static int ScaleToClipped( T* p, lua_State *L ) { p->ScaleToClipped(FArg(1),FArg(2)); return 0; }
static int LoadFromSong( T* p, lua_State *L ) static int LoadFromSong( T* p, lua_State *L )
@@ -274,16 +272,16 @@ public:
return 0; return 0;
} }
static void Register(lua_State *L) LunaFadingBanner()
{ {
LUA->Register( Register );
ADD_METHOD( scaletoclipped ); ADD_METHOD( scaletoclipped );
ADD_METHOD( ScaleToClipped ); ADD_METHOD( ScaleToClipped );
ADD_METHOD( LoadFromSong ); ADD_METHOD( LoadFromSong );
ADD_METHOD( LoadFromCourse ); ADD_METHOD( LoadFromCourse );
ADD_METHOD( LoadIconFromCharacter ); ADD_METHOD( LoadIconFromCharacter );
ADD_METHOD( LoadCardFromCharacter ); ADD_METHOD( LoadCardFromCharacter );
Luna<T>::Register( L );
} }
}; };
+5 -5
View File
@@ -179,13 +179,13 @@ void GradeDisplay::SettleQuickly()
class LunaGradeDisplay: public Luna<GradeDisplay> class LunaGradeDisplay: public Luna<GradeDisplay>
{ {
public: public:
LunaGradeDisplay() { LUA->Register( Register ); }
static int scroll( T* p, lua_State *L ) { p->Scroll(); return 0; } static int scroll( T* p, lua_State *L ) { p->Scroll(); return 0; }
static void Register(lua_State *L) {
ADD_METHOD( scroll );
Luna<T>::Register( L ); LunaGradeDisplay()
{
LUA->Register( Register );
ADD_METHOD( scroll );
} }
}; };
+3 -5
View File
@@ -275,8 +275,6 @@ void GraphDisplay::UpdateVerts()
class LunaGraphDisplay: public Luna<GraphDisplay> class LunaGraphDisplay: public Luna<GraphDisplay>
{ {
public: public:
LunaGraphDisplay() { LUA->Register( Register ); }
static int LoadFromStats( T* p, lua_State *L ) static int LoadFromStats( T* p, lua_State *L )
{ {
StageStats *pStageStats = Luna<StageStats>::check( L, 1 ); StageStats *pStageStats = Luna<StageStats>::check( L, 1 );
@@ -285,11 +283,11 @@ public:
return 0; return 0;
} }
static void Register(lua_State *L) LunaGraphDisplay()
{ {
ADD_METHOD( LoadFromStats ); LUA->Register( Register );
Luna<T>::Register( L ); ADD_METHOD( LoadFromStats );
} }
}; };
+3 -5
View File
@@ -223,8 +223,6 @@ void GrooveRadar::GrooveRadarValueMap::DrawPrimitives()
class LunaGrooveRadar: public Luna<GrooveRadar> class LunaGrooveRadar: public Luna<GrooveRadar>
{ {
public: public:
LunaGrooveRadar() { LUA->Register( Register ); }
static int SetFromRadarValues( T* p, lua_State *L ) static int SetFromRadarValues( T* p, lua_State *L )
{ {
PlayerNumber pn = Enum::Check<PlayerNumber>(L, 1); PlayerNumber pn = Enum::Check<PlayerNumber>(L, 1);
@@ -243,14 +241,14 @@ public:
static int tweenonscreen( T* p, lua_State *L ) { p->TweenOnScreen(); return 0; } static int tweenonscreen( T* p, lua_State *L ) { p->TweenOnScreen(); return 0; }
static int tweenoffscreen( T* p, lua_State *L ) { p->TweenOffScreen(); return 0; } static int tweenoffscreen( T* p, lua_State *L ) { p->TweenOffScreen(); return 0; }
static void Register(lua_State *L) LunaGrooveRadar()
{ {
LUA->Register( Register );
ADD_METHOD( SetFromRadarValues ); ADD_METHOD( SetFromRadarValues );
ADD_METHOD( SetEmpty ); ADD_METHOD( SetEmpty );
ADD_METHOD( tweenonscreen ); ADD_METHOD( tweenonscreen );
ADD_METHOD( tweenoffscreen ); ADD_METHOD( tweenoffscreen );
Luna<T>::Register( L );
} }
}; };
+4 -5
View File
@@ -64,8 +64,6 @@ void HelpDisplay::Update( float fDeltaTime )
class LunaHelpDisplay: public Luna<HelpDisplay> class LunaHelpDisplay: public Luna<HelpDisplay>
{ {
public: public:
LunaHelpDisplay() { LUA->Register( Register ); }
static int settips( T* p, lua_State *L ) static int settips( T* p, lua_State *L )
{ {
luaL_checktype( L, 1, LUA_TTABLE ); luaL_checktype( L, 1, LUA_TTABLE );
@@ -104,13 +102,14 @@ public:
return 2; return 2;
} }
static int setsecsbetweenswitches( T* p, lua_State *L ) { p->SetSecsBetweenSwitches( FArg(1) ); return 0; } static int setsecsbetweenswitches( T* p, lua_State *L ) { p->SetSecsBetweenSwitches( FArg(1) ); return 0; }
static void Register(lua_State *L)
LunaHelpDisplay()
{ {
LUA->Register( Register );
ADD_METHOD( settips ); ADD_METHOD( settips );
ADD_METHOD( gettips ); ADD_METHOD( gettips );
ADD_METHOD( setsecsbetweenswitches ); ADD_METHOD( setsecsbetweenswitches );
Luna<T>::Register( L );
} }
}; };
+5 -5
View File
@@ -184,15 +184,15 @@ void MenuTimer::SetText( float fSeconds )
class LunaMenuTimer: public Luna<MenuTimer> class LunaMenuTimer: public Luna<MenuTimer>
{ {
public: public:
LunaMenuTimer() { LUA->Register( Register ); }
static int setseconds( T* p, lua_State *L ) { p->SetSeconds(FArg(1)); return 0; } static int setseconds( T* p, lua_State *L ) { p->SetSeconds(FArg(1)); return 0; }
static int pause( T* p, lua_State *L ) { p->Pause(); return 0; } static int pause( T* p, lua_State *L ) { p->Pause(); return 0; }
static void Register(lua_State *L) {
LunaMenuTimer()
{
LUA->Register( Register );
ADD_METHOD( setseconds ); ADD_METHOD( setseconds );
ADD_METHOD( pause ); ADD_METHOD( pause );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -1232,8 +1232,6 @@ bool Song::IsMarathon() const
class LunaSong: public Luna<Song> class LunaSong: public Luna<Song>
{ {
public: public:
LunaSong() { LUA->Register( Register ); }
static int GetDisplayFullTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayFullTitle() ); 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; } static int GetTranslitFullTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetTranslitFullTitle() ); return 1; }
static int GetDisplayMainTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayMainTitle() ); return 1; } static int GetDisplayMainTitle( T* p, lua_State *L ) { lua_pushstring(L, p->GetDisplayMainTitle() ); return 1; }
@@ -1272,8 +1270,10 @@ public:
return 1; return 1;
} }
static void Register(lua_State *L) LunaSong()
{ {
LUA->Register( Register );
ADD_METHOD( GetDisplayFullTitle ); ADD_METHOD( GetDisplayFullTitle );
ADD_METHOD( GetTranslitFullTitle ); ADD_METHOD( GetTranslitFullTitle );
ADD_METHOD( GetDisplayMainTitle ); ADD_METHOD( GetDisplayMainTitle );
@@ -1292,8 +1292,6 @@ public:
ADD_METHOD( IsLong ); ADD_METHOD( IsLong );
ADD_METHOD( IsMarathon ); ADD_METHOD( IsMarathon );
ADD_METHOD( HasStepsTypeAndDifficulty ); ADD_METHOD( HasStepsTypeAndDifficulty );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -398,8 +398,6 @@ void Steps::SetCachedRadarValues( const RadarValues v[NUM_PLAYERS] )
class LunaSteps: public Luna<Steps> class LunaSteps: public Luna<Steps>
{ {
public: public:
LunaSteps() { LUA->Register( Register ); }
DEFINE_METHOD( GetStepsType, m_StepsType ) DEFINE_METHOD( GetStepsType, m_StepsType )
DEFINE_METHOD( GetDifficulty, GetDifficulty() ) DEFINE_METHOD( GetDifficulty, GetDifficulty() )
DEFINE_METHOD( GetDescription, GetDescription() ) DEFINE_METHOD( GetDescription, GetDescription() )
@@ -415,8 +413,10 @@ public:
return 1; return 1;
} }
static void Register( lua_State *L ) LunaSteps()
{ {
LUA->Register( Register );
ADD_METHOD( GetStepsType ); ADD_METHOD( GetStepsType );
ADD_METHOD( GetDifficulty ); ADD_METHOD( GetDifficulty );
ADD_METHOD( GetDescription ); ADD_METHOD( GetDescription );
@@ -424,8 +424,6 @@ public:
ADD_METHOD( GetFilename ); ADD_METHOD( GetFilename );
ADD_METHOD( GetRadarValues ); ADD_METHOD( GetRadarValues );
ADD_METHOD( IsAutogen ); ADD_METHOD( IsAutogen );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -101,17 +101,15 @@ void Style::GetMinAndMaxColX( PlayerNumber pn, float& fMixXOut, float& fMaxXOut
class LunaStyle: public Luna<Style> class LunaStyle: public Luna<Style>
{ {
public: public:
LunaStyle() { LUA->Register( Register ); }
DEFINE_METHOD( GetStyleType, m_StyleType ) DEFINE_METHOD( GetStyleType, m_StyleType )
DEFINE_METHOD( GetStepsType, m_StepsType ) DEFINE_METHOD( GetStepsType, m_StepsType )
static void Register(lua_State *L) LunaStyle()
{ {
LUA->Register( Register );
ADD_METHOD( GetStyleType ); ADD_METHOD( GetStyleType );
ADD_METHOD( GetStepsType ); ADD_METHOD( GetStepsType );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -191,8 +191,6 @@ bool Trail::ContainsSong( Song* pSong ) const
class LunaTrail: public Luna<Trail> class LunaTrail: public Luna<Trail>
{ {
public: public:
LunaTrail() { LUA->Register( Register ); }
static int GetDifficulty( T* p, lua_State *L ) { lua_pushnumber(L, p->m_CourseDifficulty ); return 1; } static int GetDifficulty( T* p, lua_State *L ) { lua_pushnumber(L, p->m_CourseDifficulty ); return 1; }
static int GetCourseDifficulty( T* p, lua_State *L ) { lua_pushnumber(L, p->m_CourseDifficulty ); return 1; } // deprecated static int GetCourseDifficulty( T* p, lua_State *L ) { lua_pushnumber(L, p->m_CourseDifficulty ); return 1; } // deprecated
static int GetStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_StepsType ); return 1; } static int GetStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_StepsType ); return 1; }
@@ -232,15 +230,15 @@ public:
return 2; return 2;
} }
static void Register(lua_State *L) LunaTrail()
{ {
LUA->Register( Register );
ADD_METHOD( GetDifficulty ); ADD_METHOD( GetDifficulty );
ADD_METHOD( GetCourseDifficulty ); ADD_METHOD( GetCourseDifficulty );
ADD_METHOD( GetStepsType ); ADD_METHOD( GetStepsType );
ADD_METHOD( GetRadarValues ); ADD_METHOD( GetRadarValues );
ADD_METHOD( GetArtists ); ADD_METHOD( GetArtists );
Luna<T>::Register( L );
} }
}; };
+3 -5
View File
@@ -224,21 +224,19 @@ bool Workout::SaveToFile( RString sFile )
class LunaWorkout: public Luna<Workout> class LunaWorkout: public Luna<Workout>
{ {
public: public:
LunaWorkout() { LUA->Register( Register ); }
static int GetName( T* p, lua_State *L ) { lua_pushstring(L, p->m_sName ); return 1; } static int GetName( T* p, lua_State *L ) { lua_pushstring(L, p->m_sName ); return 1; }
static int GetMinutes( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iMinutes ); return 1; } static int GetMinutes( T* p, lua_State *L ) { lua_pushnumber(L, p->m_iMinutes ); return 1; }
static int GetEstimatedNumSongs( T* p, lua_State *L ) { lua_pushnumber(L, p->GetEstimatedNumSongs() ); return 1; } static int GetEstimatedNumSongs( T* p, lua_State *L ) { lua_pushnumber(L, p->GetEstimatedNumSongs() ); return 1; }
static int GetWorkoutStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_WorkoutStepsType ); return 1; } static int GetWorkoutStepsType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_WorkoutStepsType ); return 1; }
static void Register(lua_State *L) LunaWorkout()
{ {
LUA->Register( Register );
ADD_METHOD( GetName ); ADD_METHOD( GetName );
ADD_METHOD( GetMinutes ); ADD_METHOD( GetMinutes );
ADD_METHOD( GetEstimatedNumSongs ); ADD_METHOD( GetEstimatedNumSongs );
ADD_METHOD( GetWorkoutStepsType ); ADD_METHOD( GetWorkoutStepsType );
Luna<T>::Register( L );
} }
}; };