From: <au...@us...> - 2013-06-20 00:31:35
|
Revision: 12897 http://sourceforge.net/p/supertuxkart/code/12897 Author: auria Date: 2013-06-20 00:31:31 +0000 (Thu, 20 Jun 2013) Log Message: ----------- Fix assertion failure at end of challenges Modified Paths: -------------- main/trunk/src/challenges/challenge_data.hpp main/trunk/src/challenges/unlock_manager.cpp Modified: main/trunk/src/challenges/challenge_data.hpp =================================================================== --- main/trunk/src/challenges/challenge_data.hpp 2013-06-20 00:15:58 UTC (rev 12896) +++ main/trunk/src/challenges/challenge_data.hpp 2013-06-20 00:31:31 UTC (rev 12897) @@ -57,7 +57,6 @@ }; // UnlockableFeature // ------------------------------------------------------------------------ -private: /** The various types of challenges that we support, which esp. determine * when a challenge is tested if it is fulfilled. For now we have GP * (a GP challenge, tested at the end of a GP), Race (tested at the @@ -74,6 +73,9 @@ CM_ANY }; + +private: + /** The challenge mode of this challenge. */ ChallengeModeType m_mode; Modified: main/trunk/src/challenges/unlock_manager.cpp =================================================================== --- main/trunk/src/challenges/unlock_manager.cpp 2013-06-20 00:15:58 UTC (rev 12896) +++ main/trunk/src/challenges/unlock_manager.cpp 2013-06-20 00:31:31 UTC (rev 12897) @@ -434,12 +434,12 @@ if (c->getNumTrophies() > points_before && c->getNumTrophies() <= points_now ) { - if (c->getTrackId() != "") + if (c->getMode() == ChallengeData::CM_SINGLE_RACE && c->getTrackId() != "") { if (!getCurrentSlot()->isLocked(c->getTrackId())) tracks.push_back(c->getTrackId()); } - else if (c->getGPId() != "") + else if (c->getMode() == ChallengeData::CM_GRAND_PRIX && c->getGPId() != "") { if (!getCurrentSlot()->isLocked(c->getGPId())) gps.push_back(c->getGPId()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |