From c775662e4a82e299a5587cbbccc93dd7848ada55 Mon Sep 17 00:00:00 2001 From: unitraxx Date: Sat, 14 Sep 2013 22:52:21 +0000 Subject: [PATCH] fix rfc for achievements when no default profile is selected git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/branches/uni@13685 178a84e3-b1eb-0310-8ba1-8eac791a3b58 --- src/achievements/achievements_manager.cpp | 1 - src/challenges/unlock_manager.cpp | 10 ++++++++++ src/challenges/unlock_manager.hpp | 3 +-- src/main.cpp | 3 +-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/achievements/achievements_manager.cpp b/src/achievements/achievements_manager.cpp index 6a9eed156..cc81f3ee6 100644 --- a/src/achievements/achievements_manager.cpp +++ b/src/achievements/achievements_manager.cpp @@ -57,7 +57,6 @@ AchievementsManager::AchievementsManager() void AchievementsManager::init() { parseConfigFile(); - updateCurrentPlayer(); } // ============================================================================ diff --git a/src/challenges/unlock_manager.cpp b/src/challenges/unlock_manager.cpp index 5e388e836..eca7cf8cb 100644 --- a/src/challenges/unlock_manager.cpp +++ b/src/challenges/unlock_manager.cpp @@ -24,6 +24,7 @@ #include #include +#include "achievements/achievements_manager.hpp" #include "audio/sfx_base.hpp" #include "audio/sfx_manager.hpp" #include "config/player.hpp" @@ -421,6 +422,15 @@ void UnlockManager::updateActiveChallengeList() getCurrentSlot()->computeActive(); } + +//----------------------------------------------------------------------------- +void UnlockManager::setCurrentSlot(std::string slotid) +{ + m_current_game_slot = slotid; + AchievementsManager::get()->updateCurrentPlayer(); +} + + //----------------------------------------------------------------------------- void UnlockManager::findWhatWasUnlocked(int points_before, int points_now, diff --git a/src/challenges/unlock_manager.hpp b/src/challenges/unlock_manager.hpp index 7a56ade22..0dc1452ac 100644 --- a/src/challenges/unlock_manager.hpp +++ b/src/challenges/unlock_manager.hpp @@ -82,8 +82,7 @@ public: } /** \param slotid name of the player */ - void setCurrentSlot(std::string slotid) { m_current_game_slot = slotid; } - + void setCurrentSlot(std::string slotid); void findWhatWasUnlocked(int pointsBefore, int pointsNow, std::vector& tracks, std::vector& gps); diff --git a/src/main.cpp b/src/main.cpp index 68761a5da..158570605 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1192,6 +1192,7 @@ void initRest() // a race condition can be introduced resulting in a crash). INetworkHttp::get()->startNetworkThread(); Online::HTTPManager::get()->startNetworkThread(); + AchievementsManager::get()->init(); music_manager = new MusicManager(); sfx_manager = new SFXManager(); // The order here can be important, e.g. KartPropertiesManager needs @@ -1524,8 +1525,6 @@ int main(int argc, char *argv[] ) // Go straight to the race StateManager::get()->enterGameState(); } - AchievementsManager::get()->init(); - // If an important news message exists it is shown in a popup dialog. const core::stringw important_message =