Path: blob/master/RSDKv5/RSDK/User/Dummy/DummyLeaderboards.hpp
1187 views
#if RETRO_REV0212struct DummyLeaderboardCallback {3uint8 type;4int32 loadTime;5bool32 isUser;6LeaderboardLoadInfo *info;7int32 trackScore;8int32 trackRank;9void (*trackCB)(bool32 success, int32 rank);10};1112// This is the "dummy" struct, it serves as the base in the event a suitable API isn't loaded (such as in this decomp)13// This struct should never be removed, other structs such as "SteamLeaderboards" would be added and "leaderboards" would be set to that instead14struct DummyLeaderboards : UserLeaderboards {15void FrameInit()16{17UserLeaderboards::FrameInit();1819for (int32 i = callbackList.Count() - 1; i >= 0; --i) {20DummyLeaderboardCallback *item = callbackList.At(i);2122if (item) {23if (item->loadTime) {24item->loadTime--;25}26else {27switch (item->type) {28case 0: FinishLeaderboardFetch(item); break;29case 1: FinishLeaderboardLoad(item); break;30case 2:31if (item->trackCB)32item->trackCB(true, item->trackRank);33break;34}3536callbackList.Remove(i);37}38}39}40}4142void FetchLeaderboard(LeaderboardID *leaderboard, bool32 isUser);43void LoadLeaderboards(LeaderboardLoadInfo *info);44void TrackScore(LeaderboardID *leaderboard, int32 score, void (*callback)(bool32 success, int32 rank));4546void FillLeaderboardEntries(LeaderboardLoadInfo *info);47void FinishLeaderboardFetch(DummyLeaderboardCallback *callback);48void FinishLeaderboardLoad(DummyLeaderboardCallback *callback);4950List<DummyLeaderboardCallback> callbackList;51};52#endif535455