From f4975f1f547d6c421d4354892807ae2f82259d59 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 27 Sep 2006 20:30:29 +0000 Subject: [PATCH] simpler Lua boilerplate --- stepmania/src/Actor.cpp | 9 ++++----- stepmania/src/ActorFrame.cpp | 7 +++---- stepmania/src/ActorFrameTexture.cpp | 7 +++---- stepmania/src/ActorProxy.cpp | 8 +++----- stepmania/src/ActorScroller.cpp | 7 +++---- stepmania/src/ActorSound.cpp | 8 +++----- stepmania/src/BitmapText.cpp | 7 +++---- stepmania/src/CharacterManager.cpp | 8 +++----- stepmania/src/GameManager.cpp | 8 +++----- stepmania/src/GameSoundManager.cpp | 8 +++----- stepmania/src/MemoryCardManager.cpp | 8 +++----- stepmania/src/MessageManager.cpp | 8 +++----- stepmania/src/Model.cpp | 8 +++----- stepmania/src/NoteSkinManager.cpp | 8 +++----- stepmania/src/OptionIconRow.cpp | 7 +++---- stepmania/src/PrefsManager.cpp | 8 +++----- stepmania/src/RageInput.cpp | 8 +++----- stepmania/src/RollingNumbers.cpp | 6 +++--- stepmania/src/ScreenManager.cpp | 8 +++----- stepmania/src/SongManager.cpp | 8 +++----- stepmania/src/Sprite.cpp | 9 ++++----- stepmania/src/StageStats.cpp | 8 +++----- stepmania/src/StatsManager.cpp | 9 +++------ stepmania/src/ThemeManager.cpp | 8 +++----- stepmania/src/UnlockManager.cpp | 16 ++++++---------- 25 files changed, 80 insertions(+), 124 deletions(-) diff --git a/stepmania/src/Actor.cpp b/stepmania/src/Actor.cpp index 88da0e788c..7f807ff3a0 100644 --- a/stepmania/src/Actor.cpp +++ b/stepmania/src/Actor.cpp @@ -1305,8 +1305,6 @@ Actor::TweenInfo &Actor::TweenInfo::operator=( const TweenInfo &rhs ) class LunaActor : public Luna { public: - LunaActor() { LUA->Register( Register ); } - static int sleep( T* p, lua_State *L ) { p->Sleep(FArg(1)); return 0; } static int linear( T* p, lua_State *L ) { p->BeginTweening(FArg(1),TWEEN_LINEAR); return 0; } static int accelerate( T* p, lua_State *L ) { p->BeginTweening(FArg(1),TWEEN_ACCELERATE); return 0; } @@ -1480,7 +1478,10 @@ public: return 1; } - static void Register(lua_State *L) { + LunaActor() + { + LUA->Register( Register ); + ADD_METHOD( sleep ); ADD_METHOD( linear ); ADD_METHOD( accelerate ); @@ -1612,8 +1613,6 @@ public: ADD_METHOD( GetName ); ADD_METHOD( GetParent ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/ActorFrame.cpp b/stepmania/src/ActorFrame.cpp index f31b683749..5744ba3bf9 100644 --- a/stepmania/src/ActorFrame.cpp +++ b/stepmania/src/ActorFrame.cpp @@ -391,8 +391,6 @@ void ActorFrame::SetDrawByZPosition( bool b ) class LunaActorFrame : public Luna { public: - LunaActorFrame() { LUA->Register( Register ); } - static int playcommandonchildren( T* p, lua_State *L ) { p->PlayCommandOnChildren(SArg(1)); return 0; } static int playcommandonleaves( T* p, lua_State *L ) { p->PlayCommandOnLeaves(SArg(1)); return 0; } static int propagate( T* p, lua_State *L ) { p->SetPropagateCommands( !!IArg(1) ); return 0; } @@ -412,8 +410,10 @@ public: static int GetNumChildren( T* p, lua_State *L ) { lua_pushnumber( L, p->GetNumChildren() ); return 1; } static int SetDrawByZPosition( T* p, lua_State *L ) { p->SetDrawByZPosition( BArg(1) ); return 1; } - static void Register(lua_State *L) + LunaActorFrame() { + LUA->Register( Register ); + ADD_METHOD( playcommandonchildren ); ADD_METHOD( playcommandonleaves ); ADD_METHOD( propagate ); // deprecated @@ -424,7 +424,6 @@ public: ADD_METHOD( GetChild ); ADD_METHOD( GetNumChildren ); ADD_METHOD( SetDrawByZPosition ); - Luna::Register( L ); } }; diff --git a/stepmania/src/ActorFrameTexture.cpp b/stepmania/src/ActorFrameTexture.cpp index cd1e55c028..724c808fe1 100644 --- a/stepmania/src/ActorFrameTexture.cpp +++ b/stepmania/src/ActorFrameTexture.cpp @@ -58,22 +58,21 @@ void ActorFrameTexture::DrawPrimitives() class LunaActorFrameTexture : public Luna { public: - LunaActorFrameTexture() { LUA->Register( Register ); } - static int create( T* p, lua_State *L ) { p->Create(); return 0; } static int enabledepthbuffer( T* p, lua_State *L ) { p->EnableDepthBuffer(BArg(1)); return 0; } static int enablealphabuffer( T* p, lua_State *L ) { p->EnableAlphaBuffer(BArg(1)); return 0; } static int enablepreservetexture( T* p, lua_State *L ) { p->EnablePreserveTexture(BArg(1)); return 0; } static int settexturename( T* p, lua_State *L ) { p->SetTextureName(SArg(1)); return 0; } - static void Register(lua_State *L) + LunaActorFrameTexture() { + LUA->Register( Register ); + ADD_METHOD( create ); ADD_METHOD( enabledepthbuffer ); ADD_METHOD( enablealphabuffer ); ADD_METHOD( enablepreservetexture ); ADD_METHOD( settexturename ); - Luna::Register( L ); } }; diff --git a/stepmania/src/ActorProxy.cpp b/stepmania/src/ActorProxy.cpp index 9b570c2233..38e9a659e1 100644 --- a/stepmania/src/ActorProxy.cpp +++ b/stepmania/src/ActorProxy.cpp @@ -36,8 +36,6 @@ void ActorProxy::LoadFromNode( const RString& sDir, const XNode* pNode ) class LunaActorProxy: public Luna { public: - LunaActorProxy() { LUA->Register( Register ); } - static int SetTarget( T* p, lua_State *L ) { Actor *pTarget = Luna::check( L, 1 ); @@ -55,12 +53,12 @@ public: return 1; } - static void Register(lua_State *L) + LunaActorProxy() { + LUA->Register( Register ); + ADD_METHOD( SetTarget ); ADD_METHOD( GetTarget ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/ActorScroller.cpp b/stepmania/src/ActorScroller.cpp index 879a6e6a7c..12239001fd 100644 --- a/stepmania/src/ActorScroller.cpp +++ b/stepmania/src/ActorScroller.cpp @@ -294,8 +294,6 @@ void ActorScroller::PositionItemsAndDrawPrimitives( bool bDrawPrimitives ) class LunaActorScroller: public Luna { public: - LunaActorScroller() { LUA->Register( Register ); } - static int PositionItems( T* p, lua_State *L ) { p->PositionItems(); return 0; } static int SetTransformFromFunction( T* p, lua_State *L ) { @@ -313,8 +311,10 @@ public: static int scrollwithpadding( T* p, lua_State *L ) { p->ScrollWithPadding(FArg(1),FArg(2)); return 0; } static int setfastcatchup( T* p, lua_State *L ) { p->SetFastCatchup(BArg(1)); return 0; } - static void Register(lua_State *L) + LunaActorScroller() { + LUA->Register( Register ); + ADD_METHOD( PositionItems ); ADD_METHOD( SetTransformFromFunction ); ADD_METHOD( SetTransformFromHeight ); @@ -325,7 +325,6 @@ public: ADD_METHOD( scrollthroughallitems ); ADD_METHOD( scrollwithpadding ); ADD_METHOD( setfastcatchup ); - Luna::Register( L ); } }; diff --git a/stepmania/src/ActorSound.cpp b/stepmania/src/ActorSound.cpp index 8019dc04a9..5d2b1c046e 100644 --- a/stepmania/src/ActorSound.cpp +++ b/stepmania/src/ActorSound.cpp @@ -41,17 +41,15 @@ void ActorSound::LoadFromNode( const RString& sDir, const XNode* pNode ) class LunaActorSound: public Luna { public: - LunaActorSound() { LUA->Register( Register ); } - static int load( T* p, lua_State *L ) { p->Load(SArg(1)); return 0; } static int play( T* p, lua_State *L ) { p->Play(); return 0; } - static void Register(lua_State *L) + LunaActorSound() { + LUA->Register( Register ); + ADD_METHOD( load ); ADD_METHOD( play ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/BitmapText.cpp b/stepmania/src/BitmapText.cpp index 3a323ff442..2be7182fc2 100644 --- a/stepmania/src/BitmapText.cpp +++ b/stepmania/src/BitmapText.cpp @@ -852,8 +852,6 @@ void ColorBitmapText::SetMaxLines( int iNumLines, int iDirection ) class LunaBitmapText: public Luna { public: - LunaBitmapText() { LUA->Register( Register ); } - static int wrapwidthpixels( T* p, lua_State *L ) { p->SetWrapWidthPixels( IArg(1) ); return 0; } static int maxwidth( T* p, lua_State *L ) { p->SetMaxWidth( FArg(1) ); return 0; } static int maxheight( T* p, lua_State *L ) { p->SetMaxHeight( FArg(1) ); return 0; } @@ -873,15 +871,16 @@ public: } static int GetText( T* p, lua_State *L ) { lua_pushstring( L, p->GetText() ); return 1; } - static void Register(lua_State *L) + LunaBitmapText() { + LUA->Register( Register ); + ADD_METHOD( wrapwidthpixels ); ADD_METHOD( maxwidth ); ADD_METHOD( maxheight ); ADD_METHOD( vertspacing ); ADD_METHOD( settext ); ADD_METHOD( GetText ); - Luna::Register( L ); } }; diff --git a/stepmania/src/CharacterManager.cpp b/stepmania/src/CharacterManager.cpp index bdefc904a6..5dcaa71339 100644 --- a/stepmania/src/CharacterManager.cpp +++ b/stepmania/src/CharacterManager.cpp @@ -122,8 +122,6 @@ Character* CharacterManager::GetCharacterFromID( RString sCharacterID ) class LunaCharacterManager: public Luna { public: - LunaCharacterManager() { LUA->Register( Register ); } - static int GetCharacter( T* p, lua_State *L ) { Character *pCharacter = p->GetCharacterFromID(SArg(1)); @@ -135,11 +133,11 @@ public: return 1; } - static void Register(lua_State *L) + LunaCharacterManager() { - ADD_METHOD( GetCharacter ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( GetCharacter ); } }; diff --git a/stepmania/src/GameManager.cpp b/stepmania/src/GameManager.cpp index 65d9a03c4f..00289a7652 100644 --- a/stepmania/src/GameManager.cpp +++ b/stepmania/src/GameManager.cpp @@ -2906,8 +2906,6 @@ MenuButton GameManager::GetMenuButtonSecondaryFunction( const Game *pGame, GameB class LunaGameManager: public Luna { public: - LunaGameManager() { LUA->Register( Register ); } - static int StepsTypeToLocalizedString( T* p, lua_State *L ) { lua_pushstring(L, p->StepsTypeToLocalizedString(Enum::Check(L, 1)) ); return 1; } static int GetFirstStepsTypeForGame( T* p, lua_State *L ) { @@ -2921,12 +2919,12 @@ public: return 1; } - static void Register(lua_State *L) + LunaGameManager() { + LUA->Register( Register ); + ADD_METHOD( StepsTypeToLocalizedString ); ADD_METHOD( GetFirstStepsTypeForGame ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/GameSoundManager.cpp b/stepmania/src/GameSoundManager.cpp index eecf085a8c..717c19994b 100644 --- a/stepmania/src/GameSoundManager.cpp +++ b/stepmania/src/GameSoundManager.cpp @@ -740,8 +740,6 @@ void GameSoundManager::SetPlayerBalance( PlayerNumber pn, RageSoundParams ¶m class LunaGameSoundManager: public Luna { public: - LunaGameSoundManager() { LUA->Register( Register ); } - static int DimMusic( T* p, lua_State *L ) { float fVolume = FArg(1); @@ -751,12 +749,12 @@ public: } static int PlayOnce( T* p, lua_State *L ) { RString sPath = SArg(1); p->PlayOnce( sPath ); return 0; } - static void Register(lua_State *L) + LunaGameSoundManager() { + LUA->Register( Register ); + ADD_METHOD( DimMusic ); ADD_METHOD( PlayOnce ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/MemoryCardManager.cpp b/stepmania/src/MemoryCardManager.cpp index a6d80549d1..bb10add033 100644 --- a/stepmania/src/MemoryCardManager.cpp +++ b/stepmania/src/MemoryCardManager.cpp @@ -719,15 +719,13 @@ bool IsAnyPlayerUsingMemoryCard() class LunaMemoryCardManager: public Luna { public: - LunaMemoryCardManager() { LUA->Register( Register ); } - static int IsAnyPlayerUsingMemoryCard( T* p, lua_State *L ) { lua_pushboolean(L, ::IsAnyPlayerUsingMemoryCard() ); return 1; } - static void Register(lua_State *L) + LunaMemoryCardManager() { - ADD_METHOD( IsAnyPlayerUsingMemoryCard ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( IsAnyPlayerUsingMemoryCard ); } }; diff --git a/stepmania/src/MessageManager.cpp b/stepmania/src/MessageManager.cpp index 35f9cfc235..f93fcbb7d5 100644 --- a/stepmania/src/MessageManager.cpp +++ b/stepmania/src/MessageManager.cpp @@ -302,19 +302,17 @@ void MessageSubscriber::UnsubscribeAll() class LunaMessageManager: public Luna { public: - LunaMessageManager() { LUA->Register( Register ); } - static int Broadcast( T* p, lua_State *L ) { p->Broadcast( SArg(1) ); return 0; } - static void Register(lua_State *L) + LunaMessageManager() { - ADD_METHOD( Broadcast ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( Broadcast ); } }; diff --git a/stepmania/src/Model.cpp b/stepmania/src/Model.cpp index 9949b6c297..84b56f7a89 100644 --- a/stepmania/src/Model.cpp +++ b/stepmania/src/Model.cpp @@ -788,15 +788,13 @@ bool Model::MaterialsNeedNormals() const class LunaModel: public Luna { public: - LunaModel() { LUA->Register( Register ); } - static int playanimation( T* p, lua_State *L ) { p->PlayAnimation(SArg(1),FArg(2)); return 0; } - static void Register(lua_State *L) + LunaModel() { - ADD_METHOD( playanimation ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( playanimation ); } }; diff --git a/stepmania/src/NoteSkinManager.cpp b/stepmania/src/NoteSkinManager.cpp index f7d20bd9c9..9512264e26 100644 --- a/stepmania/src/NoteSkinManager.cpp +++ b/stepmania/src/NoteSkinManager.cpp @@ -320,19 +320,17 @@ RString NoteSkinManager::GetPathFromDirAndFile( const RString &sDir, const RStri class LunaNoteSkinManager: public Luna { public: - LunaNoteSkinManager() { LUA->Register( Register ); } - static int GetPath( T* p, lua_State *L ) { lua_pushstring(L, p->GetPath(SArg(1),SArg(2)) ); return 1; } static int GetMetricA( T* p, lua_State *L ) { p->GetMetricA(SArg(1),SArg(2))->PushSelf(L); return 1; } DEFINE_METHOD( GetGameBaseNoteSkinName, GAME_BASE_NOTESKIN_NAME.GetValue() ) - static void Register(lua_State *L) + LunaNoteSkinManager() { + LUA->Register( Register ); + ADD_METHOD( GetPath ); ADD_METHOD( GetMetricA ); ADD_METHOD( GetGameBaseNoteSkinName ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/OptionIconRow.cpp b/stepmania/src/OptionIconRow.cpp index ada5ec227a..2c705b3136 100644 --- a/stepmania/src/OptionIconRow.cpp +++ b/stepmania/src/OptionIconRow.cpp @@ -145,14 +145,13 @@ void OptionIconRow::SetFromGameState( PlayerNumber pn ) class LunaOptionIconRow: public Luna { public: - LunaOptionIconRow() { LUA->Register( Register ); } static int set( T* p, lua_State *L ) { p->SetFromGameState( Enum::Check(L, 1) ); return 0; } - static void Register(lua_State *L) + LunaOptionIconRow() { - ADD_METHOD( set ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( set ); } }; diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index f6b528706a..bb34191715 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -556,8 +556,6 @@ float PrefsManager::GetSoundVolume() class LunaPrefsManager: public Luna { public: - LunaPrefsManager() { LUA->Register( Register ); } - static int GetPreference( T* p, lua_State *L ) { RString sName = SArg(1); @@ -603,13 +601,13 @@ public: return 0; } - static void Register(lua_State *L) + LunaPrefsManager() { + LUA->Register( Register ); + ADD_METHOD( GetPreference ); ADD_METHOD( SetPreference ); ADD_METHOD( SetPreferenceToDefault ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/RageInput.cpp b/stepmania/src/RageInput.cpp index 093902b63f..92eb49360a 100644 --- a/stepmania/src/RageInput.cpp +++ b/stepmania/src/RageInput.cpp @@ -184,8 +184,6 @@ RString RageInput::GetDisplayDevicesString() const class LunaRageInput: public Luna { public: - LunaRageInput() { LUA->Register( Register ); } - static int GetDescriptions( T* p, lua_State *L ) { vector vDevices; @@ -197,11 +195,11 @@ public: return 1; } - static void Register(lua_State *L) + LunaRageInput() { - ADD_METHOD( GetDescriptions ); + LUA->Register( Register ); - Luna::Register( L ); + ADD_METHOD( GetDescriptions ); } }; diff --git a/stepmania/src/RollingNumbers.cpp b/stepmania/src/RollingNumbers.cpp index 36ba167c2f..274324f1f3 100644 --- a/stepmania/src/RollingNumbers.cpp +++ b/stepmania/src/RollingNumbers.cpp @@ -65,13 +65,13 @@ void RollingNumbers::UpdateText() class LunaRollingNumbers: public Luna { public: - LunaRollingNumbers() { LUA->Register( Register ); } static int targetnumber( T* p, lua_State *L ) { p->SetTargetNumber( FArg(1) ); return 0; } - static void Register(lua_State *L) + LunaRollingNumbers() { + LUA->Register( Register ); + ADD_METHOD( targetnumber ); - Luna::Register( L ); } }; diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 9ae73da094..ca2d176503 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -926,8 +926,6 @@ void ScreenManager::PlaySharedBackgroundOffCommand() class LunaScreenManager: public Luna { public: - LunaScreenManager() { LUA->Register( Register ); } - // Note: PrepareScreen binding is not allowed; loading data inside // Lua causes the Lua lock to be held for the duration of the load, // which blocks concurrent rendering @@ -945,15 +943,15 @@ public: static int ConcurrentlyPrepareScreen( T* p, lua_State *L ) { p->ConcurrentlyPrepareScreen( SArg(1) ); return 0; } static int ScreenIsPrepped( T* p, lua_State *L ) { lua_pushboolean( L, ScreenManagerUtil::ScreenIsPrepped( SArg(1) ) ); return 1; } - static void Register(lua_State *L) + LunaScreenManager() { + LUA->Register( Register ); + ADD_METHOD( SetNewScreen ); ADD_METHOD( GetTopScreen ); ADD_METHOD( SystemMessage ); ADD_METHOD( ConcurrentlyPrepareScreen ); ADD_METHOD( ScreenIsPrepped ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/SongManager.cpp b/stepmania/src/SongManager.cpp index 609948652a..fb4eb697c2 100644 --- a/stepmania/src/SongManager.cpp +++ b/stepmania/src/SongManager.cpp @@ -1804,8 +1804,6 @@ int FindCourseIndexOfSameMode( T begin, T end, const Course *p ) class LunaSongManager: public Luna { public: - LunaSongManager() { LUA->Register( Register ); } - static int GetAllSongs( T* p, lua_State *L ) { const vector &v = p->GetAllSongs(); @@ -1876,8 +1874,10 @@ public: return 4; } - static void Register(lua_State *L) + LunaSongManager() { + LUA->Register( Register ); + ADD_METHOD( GetAllSongs ); ADD_METHOD( GetAllCourses ); ADD_METHOD( FindSong ); @@ -1896,8 +1896,6 @@ public: ADD_METHOD( GetSongRank ); ADD_METHOD( GetCourseRank ); ADD_METHOD( GetExtraStageInfo ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/Sprite.cpp b/stepmania/src/Sprite.cpp index 98fefe5f05..995c1f1042 100644 --- a/stepmania/src/Sprite.cpp +++ b/stepmania/src/Sprite.cpp @@ -901,8 +901,6 @@ void Sprite::AddImageCoords( float fX, float fY ) class LunaSprite: public Luna { public: - LunaSprite() { LUA->Register( Register ); } - static int Load( T* p, lua_State *L ) { RageTextureID ID( SArg(1) ); @@ -941,7 +939,10 @@ public: return 1; } - static void Register(lua_State *L) { + LunaSprite() + { + LUA->Register( Register ); + ADD_METHOD( Load ); ADD_METHOD( LoadBanner ); ADD_METHOD( LoadBackground ); @@ -953,8 +954,6 @@ public: ADD_METHOD( setstate ); ADD_METHOD( GetAnimationLengthSeconds ); ADD_METHOD( GetTexture ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/StageStats.cpp b/stepmania/src/StageStats.cpp index 6afe0c1e73..b568baa8b7 100644 --- a/stepmania/src/StageStats.cpp +++ b/stepmania/src/StageStats.cpp @@ -277,23 +277,21 @@ void StageStats::CommitScores( bool bSummary ) class LunaStageStats: public Luna { public: - LunaStageStats() { LUA->Register( Register ); } - static int GetPlayerStageStats( T* p, lua_State *L ) { p->m_player[Enum::Check(L, 1)].PushSelf(L); return 1; } static int GetMultiPlayerStageStats( T* p, lua_State *L ) { p->m_multiPlayer[Enum::Check(L, 1)].PushSelf(L); return 1; } static int GetGameplaySeconds( T* p, lua_State *L ) { lua_pushnumber(L, p->fGameplaySeconds); return 1; } static int OnePassed( T* p, lua_State *L ) { lua_pushboolean(L, p->OnePassed()); return 1; } static int AllFailed( T* p, lua_State *L ) { lua_pushboolean(L, p->AllFailed()); return 1; } - static void Register(lua_State *L) + LunaStageStats() { + LUA->Register( Register ); + ADD_METHOD( GetPlayerStageStats ); ADD_METHOD( GetMultiPlayerStageStats ); ADD_METHOD( GetGameplaySeconds ); ADD_METHOD( OnePassed ); ADD_METHOD( AllFailed ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/StatsManager.cpp b/stepmania/src/StatsManager.cpp index 34da1f64d9..1530619339 100644 --- a/stepmania/src/StatsManager.cpp +++ b/stepmania/src/StatsManager.cpp @@ -217,8 +217,6 @@ void StatsManager::CommitStatsToProfiles() class LunaStatsManager: public Luna { public: - LunaStatsManager() { LUA->Register( Register ); } - static int GetCurStageStats( T* p, lua_State *L ) { p->m_CurStageStats.PushSelf(L); return 1; } static int GetAccumPlayedStageStats( T* p, lua_State *L ) { p->GetAccumPlayedStageStats().PushSelf(L); return 1; } static int Reset( T* p, lua_State *L ) { p->Reset(); return 0; } @@ -256,9 +254,10 @@ public: return 1; } - - static void Register(lua_State *L) + LunaStatsManager() { + LUA->Register( Register ); + ADD_METHOD( GetCurStageStats ); ADD_METHOD( GetAccumPlayedStageStats ); ADD_METHOD( Reset ); @@ -266,8 +265,6 @@ public: ADD_METHOD( GetStagesPlayed ); ADD_METHOD( GetBestGrade ); ADD_METHOD( GetWorstGrade ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index baf4a57228..d204ffb575 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -1157,8 +1157,6 @@ RString ThemeManager::GetBlankGraphicPath() class LunaThemeManager: public Luna { public: - LunaThemeManager() { LUA->Register( Register ); } - static int GetMetric( T* p, lua_State *L ) { p->PushMetric( L, SArg(1),SArg(2) ); return 1; } static int GetString( T* p, lua_State *L ) { lua_pushstring(L, p->GetString(SArg(1),SArg(2)) ); return 1; } static int GetPathG( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathG(SArg(1),SArg(2)) ); return 1; } @@ -1166,16 +1164,16 @@ public: static int GetPathS( T* p, lua_State *L ) { lua_pushstring(L, p->GetPathS(SArg(1),SArg(2)) ); return 1; } static int GetNumSelectableThemes( T* p, lua_State *L ) { lua_pushnumber(L, p->GetNumSelectableThemes() ); return 1; } - static void Register(lua_State *L) + LunaThemeManager() { + LUA->Register( Register ); + ADD_METHOD( GetMetric ); ADD_METHOD( GetString ); ADD_METHOD( GetPathG ); ADD_METHOD( GetPathB ); ADD_METHOD( GetPathS ); ADD_METHOD( GetNumSelectableThemes ); - - Luna::Register( L ); } }; diff --git a/stepmania/src/UnlockManager.cpp b/stepmania/src/UnlockManager.cpp index 4ee01cfbff..f4f26365a1 100644 --- a/stepmania/src/UnlockManager.cpp +++ b/stepmania/src/UnlockManager.cpp @@ -699,23 +699,21 @@ void UnlockManager::GetStepsUnlockedByEntryID( vector &apSongsOut, vecto class LunaUnlockEntry: public Luna { public: - LunaUnlockEntry() { LUA->Register( Register ); } - static int IsLocked( T* p, lua_State *L ) { lua_pushboolean(L, p->IsLocked() ); return 1; } static int GetDescription( T* p, lua_State *L ) { lua_pushstring(L, p->GetDescription() ); return 1; } static int GetUnlockRewardType( T* p, lua_State *L ) { lua_pushnumber(L, p->m_Type ); return 1; } static int GetRequirement( T* p, lua_State *L ) { UnlockRequirement i = Enum::Check( L, 1 ); lua_pushnumber(L, p->m_fRequirement[i] ); return 1; } static int GetRequirePassHardSteps( T* p, lua_State *L ){ lua_pushboolean(L, p->m_bRequirePassHardSteps); return 1; } - static void Register(lua_State *L) + LunaUnlockEntry() { + LUA->Register( Register ); + ADD_METHOD( IsLocked ); ADD_METHOD( GetDescription ); ADD_METHOD( GetUnlockRewardType ); ADD_METHOD( GetRequirement ); ADD_METHOD( GetRequirePassHardSteps ); - - Luna::Register( L ); } }; @@ -724,8 +722,6 @@ LUA_REGISTER_CLASS( UnlockEntry ) class LunaUnlockManager: public Luna { public: - LunaUnlockManager() { LUA->Register( Register ); } - static int FindEntryID( T* p, lua_State *L ) { RString sName = SArg(1); RString s = p->FindEntryID(sName); if( s.empty() ) lua_pushnil(L); else lua_pushstring(L, s); return 1; } static int UnlockEntryID( T* p, lua_State *L ) { RString sUnlockEntryID = SArg(1); p->UnlockEntryID(sUnlockEntryID); return 0; } static int UnlockEntryIndex( T* p, lua_State *L ) { int iUnlockEntryID = IArg(1); p->UnlockEntryIndex(iUnlockEntryID); return 0; } @@ -753,8 +749,10 @@ public: return 2; } - static void Register(lua_State *L) + LunaUnlockManager() { + LUA->Register( Register ); + ADD_METHOD( FindEntryID ); ADD_METHOD( UnlockEntryID ); ADD_METHOD( UnlockEntryIndex ); @@ -765,8 +763,6 @@ public: ADD_METHOD( GetUnlockEntry ); ADD_METHOD( GetSongsUnlockedByEntryID ); ADD_METHOD( GetStepsUnlockedByEntryID ); - - Luna::Register( L ); } };