diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 0df5ebe053..e71279ea1e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -14,6 +14,8 @@ StepMania 5.0 $next | 2011???? GetSongGroupBannerPath(songGroup), GetCourseGroupBannerPath(courseGroup), DoesSongGroupExist(songGroup), DoesCourseGroupExist(courseGroup) and GetPopularSongs() Lua bindings. [AJ] +* [SongManager] Added GetPreferredSortSongs(), GetPreferredSortCourses(courseType,bIncludeAutogen), + and GetPopularCourses(courseType) Lua bindings. [AJ] 2011/08/23 ---------- diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 34eb36ad46..1b021dfcca 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -1863,6 +1863,23 @@ public: LuaHelpers::CreateTableFromArray( v, L ); return 1; } + + static int GetPreferredSortSongs( T* p, lua_State *L ) + { + vector v; + p->GetPreferredSortSongs(v); + LuaHelpers::CreateTableFromArray( v, L ); + return 1; + } + static int GetPreferredSortCourses( T* p, lua_State *L ) + { + vector v; + CourseType ct = Enum::Check(L,1); + p->GetPreferredSortCourses( ct, v, BArg(2) ); + LuaHelpers::CreateTableFromArray( v, L ); + return 1; + } + static int FindSong( T* p, lua_State *L ) { Song *pS = p->FindSong(SArg(1)); if(pS) pS->PushSelf(L); else lua_pushnil(L); return 1; } static int FindCourse( T* p, lua_State *L ) { Course *pC = p->FindCourse(SArg(1)); if(pC) pC->PushSelf(L); else lua_pushnil(L); return 1; } static int GetRandomSong( T* p, lua_State *L ) { Song *pS = p->GetRandomSong(); if(pS) pS->PushSelf(L); else lua_pushnil(L); return 1; } @@ -1963,6 +1980,13 @@ public: LuaHelpers::CreateTableFromArray( v, L ); return 1; } + static int GetPopularCourses( T* p, lua_State *L ) + { + CourseType ct = Enum::Check(L,1); + const vector &v = p->GetPopularCourses(ct); + LuaHelpers::CreateTableFromArray( v, L ); + return 1; + } LunaSongManager() { @@ -1993,14 +2017,14 @@ public: ADD_METHOD( ShortenGroupName ); ADD_METHOD( SetPreferredSongs ); ADD_METHOD( SetPreferredCourses ); - //ADD_METHOD( GetPreferredSortCourses ); + ADD_METHOD( GetPreferredSortSongs ); + ADD_METHOD( GetPreferredSortCourses ); ADD_METHOD( GetSongGroupBannerPath ); ADD_METHOD( GetCourseGroupBannerPath ); ADD_METHOD( DoesSongGroupExist ); ADD_METHOD( DoesCourseGroupExist ); - //ADD_METHOD( GetSongsFromGroup ); ADD_METHOD( GetPopularSongs ); - //ADD_METHOD( GetPopularCourses ); + ADD_METHOD( GetPopularCourses ); //ADD_METHOD( GetSongsOfCurrentGame ); //ADD_METHOD( GetAllSongsOfCurrentGame ); //ADD_METHOD( SongToPreferredSortSectionName );