From c048e7598c52b78c09d3c0be9fdc1d99f2632947 Mon Sep 17 00:00:00 2001 From: Marcio Barrientos Date: Thu, 28 Apr 2011 18:40:02 -0600 Subject: [PATCH] Add a lua function to open the optionslist in ScreenSelectMusic without the select button, OpenOptionsList(pn) --- src/ScreenSelectMusic.cpp | 11 +++++++++++ src/ScreenSelectMusic.h | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index d8b3611cfb..103d9a08fd 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -1858,6 +1858,14 @@ void ScreenSelectMusic::AfterMusicChange() AfterStepsOrTrailChange( vpns ); } +void ScreenSelectMusic::OpenOptionsList(PlayerNumber pn) +{ + + if( pn != PLAYER_INVALID ) + { + m_OptionsList[pn].Open(); + } +} // lua start #include "LuaBinding.h" @@ -1865,6 +1873,8 @@ void ScreenSelectMusic::AfterMusicChange() class LunaScreenSelectMusic: public Luna { public: + static int OpenOptionsList( T* p, lua_State *L ) { PlayerNumber pn = Enum::Check(L, 1); p->OpenOptionsList(pn); return 0; } + static int GetGoToOptions( T* p, lua_State *L ) { lua_pushboolean( L, p->GetGoToOptions() ); return 1; } static int GetMusicWheel( T* p, lua_State *L ) { p->GetMusicWheel()->PushSelf(L); @@ -1875,6 +1885,7 @@ public: { ADD_METHOD( GetGoToOptions ); ADD_METHOD( GetMusicWheel ); + ADD_METHOD( OpenOptionsList ); } }; diff --git a/src/ScreenSelectMusic.h b/src/ScreenSelectMusic.h index 1531aa80c8..ad117bce74 100644 --- a/src/ScreenSelectMusic.h +++ b/src/ScreenSelectMusic.h @@ -47,6 +47,8 @@ public: bool GetGoToOptions() const { return m_bGoToOptions; } MusicWheel *GetMusicWheel() { return &m_MusicWheel; } + void OpenOptionsList( PlayerNumber pn ); + // Lua virtual void PushSelf( lua_State *L ); @@ -60,7 +62,7 @@ protected: void SwitchToPreferredDifficulty(); void AfterMusicChange(); - void CheckBackgroundRequests( bool bForce ); + void CheckBackgroundRequests( bool bForce ); bool DetectCodes( const InputEventPlus &input ); vector m_vpSteps;