diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 5774cdf750..b8a477ef0e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania current development -------------------------------------------------------------------------------- +2013/10/03 +---------- +* [GameConstantsAndTypes] Declared RankingCategory as a type. [SSC] +* [Profile] Added GetCategoryHighScoreList(StepsType,RankingCategory) Lua + binding. [SSC] + 2013/09/23 ---------- * PIUIO: Fix default mapping for lights on five-panel setups. diff --git a/src/GameConstantsAndTypes.cpp b/src/GameConstantsAndTypes.cpp index 41c2e0b6e8..de12876bf9 100644 --- a/src/GameConstantsAndTypes.cpp +++ b/src/GameConstantsAndTypes.cpp @@ -101,6 +101,7 @@ static const char *RankingCategoryNames[] = { }; XToString( RankingCategory ); StringToX( RankingCategory ); +LuaXType( RankingCategory ); static const char *PlayerControllerNames[] = { diff --git a/src/GameConstantsAndTypes.h b/src/GameConstantsAndTypes.h index 11c94418ba..a3136a5b87 100644 --- a/src/GameConstantsAndTypes.h +++ b/src/GameConstantsAndTypes.h @@ -367,6 +367,7 @@ enum RankingCategory }; const RString& RankingCategoryToString( RankingCategory rc ); RankingCategory StringToRankingCategory( const RString& rc ); +LuaDeclareType( RankingCategory ); extern const vector RANKING_TO_FILL_IN_MARKER; inline bool IsRankingToFillIn( const RString& sName ) { return !sName.empty() && sName[0]=='#'; } diff --git a/src/Profile.cpp b/src/Profile.cpp index 26d73539c3..b28ca959be 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -2007,6 +2007,14 @@ public: luaL_typerror( L, 1, "Song or Course" ); return 0; } + static int GetCategoryHighScoreList( T* p, lua_State *L ) + { + StepsType pStepsType = Enum::Check(L, 1); + RankingCategory pRankCat = Enum::Check(L, 2); + HighScoreList &hsl = p->GetCategoryHighScoreList(pStepsType, pRankCat); + hsl.PushSelf( L ); + return 1; + } static int GetCharacter( T* p, lua_State *L ) { p->GetCharacter()->PushSelf(L); return 1; } static int SetCharacter( T* p, lua_State *L ) { p->SetCharacter(SArg(1)); return 0; } @@ -2102,6 +2110,7 @@ public: ADD_METHOD( GetDisplayName ); ADD_METHOD( GetLastUsedHighScoreName ); ADD_METHOD( GetHighScoreList ); + ADD_METHOD( GetCategoryHighScoreList ); ADD_METHOD( GetCharacter ); ADD_METHOD( SetCharacter ); ADD_METHOD( GetWeightPounds );