From 12e983ba51e9edb3ae7e2cf1c917f5710c3aad39 Mon Sep 17 00:00:00 2001 From: RhythmLunatic Date: Tue, 26 May 2020 22:36:53 -0500 Subject: [PATCH] add GetCurrentSections --- src/MusicWheel.cpp | 18 ++++++++++++++++++ src/MusicWheel.h | 1 + 2 files changed, 19 insertions(+) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 5a94cf75fb..ce7a8f3324 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -1468,6 +1468,16 @@ void MusicWheel::SetOpenSection( RString group ) RebuildWheelItems(); } +void MusicWheel::GetCurrentSections(vector §ions) +{ + vector &wiWheelItems = getWheelItemsData(GAMESTATE->m_SortOrder); + for( unsigned i = 0; i < wiWheelItems.size(); i++ ) + { + if ( wiWheelItems[i]->m_Type == WheelItemDataType_Section && !wiWheelItems[i]->m_sText.empty()) + sections.push_back(wiWheelItems[i]->m_sText); + } +} + // sm-ssc additions: jump to group RString MusicWheel::JumpToNextGroup() { @@ -1693,6 +1703,13 @@ public: return 1; } DEFINE_METHOD(GetSelectedSection, GetSelectedSection()); + static int GetCurrentSections( T* p, lua_State *L ) + { + vector v; + p->GetCurrentSections(v); + LuaHelpers::CreateTableFromArray( v, L ); + return 1; + } static int IsRouletting( T* p, lua_State *L ){ lua_pushboolean( L, p->IsRouletting() ); return 1; } static int SelectSong( T* p, lua_State *L ) { @@ -1733,6 +1750,7 @@ public: ADD_METHOD( SelectSong ); ADD_METHOD( SelectCourse ); ADD_METHOD( Move ); + ADD_METHOD( GetCurrentSections ); } }; diff --git a/src/MusicWheel.h b/src/MusicWheel.h index e894820066..232e8bd9da 100644 --- a/src/MusicWheel.h +++ b/src/MusicWheel.h @@ -52,6 +52,7 @@ public: virtual void ReloadSongList(); + void GetCurrentSections(vector §ions); // Lua void PushSelf( lua_State *L );