Path: blob/master/RSDKv5/RSDK/User/Dummy/DummyAchievements.cpp
1168 views
#if RETRO_REV021void DummyAchievements::TryUnlockAchievement(AchievementID *id)2{3if (enabled) {4PrintLog(PRINT_NORMAL, "DUMMY TryUnlockAchievement(%s)", id->identifier);56int32 i = 0;7for (; i < (int32)achievementList.size(); ++i) {8if (achievementList[i].identifier == id->identifier) {9if (!achievementList[i].achieved) {10achievementStack.push_back(i);11PrintLog(PRINT_NORMAL, "Unlocked Achievement: (%s, %d)", id->identifier, i);12achievementList[i].achieved = true;13SaveUserData();14}15break;16}17}1819if (i == achievementList.size())20PrintLog(PRINT_NORMAL, "Failed to Unlock Achievement: (%s)", id->identifier);21}22else {23std::string str = __FILE__;24str += ": TryUnlockAchievement() # Tried to unlock achievement, but achievements are disabled. \r\n";25PrintLog(PRINT_NORMAL, str.c_str());26}27}2829void DummyAchievements::SetAchievementNames(String **names, int32 count)30{31if (count <= 0)32return;3334char nameBuffer[0x40];35GetCString(nameBuffer, names[0]);36achievementText = nameBuffer;3738for (int32 i = 1; i < count && i < (int32)achievementList.size(); ++i) {39GetCString(nameBuffer, names[i]);40achievementList[i].name = nameBuffer;41}42}4344String *DummyAchievements::GetAchievementString(String *string)45{46InitString(string, "Achievement!", 0);47return string;48}49String *DummyAchievements::GetAchievementName(String *name, uint32 id)50{51#if !RETRO_VER_EGS52id--;53#endif54if (id <= achievementList.size())55InitString(name, achievementList[id].name.c_str(), 0);56return name;57}5859int32 DummyAchievements::GetNextAchievementID()60{61if (achievementStack.size() > 0)62return achievementStack[0] + 1;63else64return 0;65}6667void DummyAchievements::RemoveLastAchievementID()68{69if (achievementStack.size() > 0)70achievementStack.erase(achievementStack.begin());71}72#endif7374