diff --git a/stepmania/src/GameState.cpp b/stepmania/src/GameState.cpp index e25b26d23a..fe023663c5 100644 --- a/stepmania/src/GameState.cpp +++ b/stepmania/src/GameState.cpp @@ -1572,6 +1572,18 @@ void GameState::GetRankingFeats( PlayerNumber pn, vector &asFeatsOu } } +bool GameState::AnyPlayerHasRankingFeats() const +{ + vector vFeats; + FOREACH_PlayerNumber( p ) + { + GetRankingFeats( p, vFeats ); + if( !vFeats.empty() ) + return true; + } + return false; +} + /*bool GameState::IsNameBlacklisted( CString name ) { @@ -1855,6 +1867,7 @@ public: return 1; } static int GetPreferredDifficulty( T* p, lua_State *L ) { lua_pushnumber(L, p->m_PreferredDifficulty[IArg(1)] ); return 1; } + static int AnyPlayerHasRankingFeats( T* p, lua_State *L ) { lua_pushboolean(L, p->AnyPlayerHasRankingFeats() ); return 1; } static void Register(lua_State *L) { @@ -1875,6 +1888,7 @@ public: ADD_METHOD( GetEnv ) ADD_METHOD( GetEditSourceSteps ) ADD_METHOD( GetPreferredDifficulty ) + ADD_METHOD( AnyPlayerHasRankingFeats ) Luna::Register( L ); // Add global singleton if constructed already. If it's not constructed yet, diff --git a/stepmania/src/GameState.h b/stepmania/src/GameState.h index c7a006ea17..28e18d4ce6 100644 --- a/stepmania/src/GameState.h +++ b/stepmania/src/GameState.h @@ -244,6 +244,7 @@ public: }; void GetRankingFeats( PlayerNumber pn, vector &vFeatsOut ) const; + bool AnyPlayerHasRankingFeats() const; void StoreRankingName( PlayerNumber pn, CString name ); // Called by name entry screens vector m_vpsNamesThatWereFilled; // filled on StoreRankingName,