Remove useless story mode unlock code
This commit is contained in:
parent
e7a9219f1f
commit
67775fc1ea
@ -97,19 +97,6 @@ void StoryModeStatus::computeActive(bool first_call)
|
|||||||
// -----------------
|
// -----------------
|
||||||
if((i->second)->isSolvedAtAnyDifficulty())
|
if((i->second)->isSolvedAtAnyDifficulty())
|
||||||
{
|
{
|
||||||
// computeActive is called in createStoryModeStatus, which actually
|
|
||||||
// locks all features, so unlock the solved ones (and don't try to
|
|
||||||
// save the state, since we are currently reading it)
|
|
||||||
|
|
||||||
|
|
||||||
// Challenge-specific unlocked features don't depend on
|
|
||||||
// the difficulty at which the challenge has been solved.
|
|
||||||
if (i->second->isSolvedAtAnyDifficulty())
|
|
||||||
{
|
|
||||||
unlockFeature(i->second, RaceManager::DIFFICULTY_EASY,
|
|
||||||
/*save*/ false);
|
|
||||||
}
|
|
||||||
|
|
||||||
int gp_factor = i->second->isGrandPrix() ? GP_FACTOR : 1;
|
int gp_factor = i->second->isGrandPrix() ? GP_FACTOR : 1;
|
||||||
|
|
||||||
if (i->second->isSolved(RaceManager::DIFFICULTY_BEST) && !i->second->isUnlockList())
|
if (i->second->isSolved(RaceManager::DIFFICULTY_BEST) && !i->second->isUnlockList())
|
||||||
@ -242,6 +229,8 @@ void StoryModeStatus::lockFeature(ChallengeStatus *challenge_status)
|
|||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
/** Unlocks a feature.
|
/** Unlocks a feature.
|
||||||
|
* ComputeActive resets the locked feature list, so no special code
|
||||||
|
* is required in order to update m_locked_features.
|
||||||
* \param c The challenge that was fulfilled.
|
* \param c The challenge that was fulfilled.
|
||||||
* \param d Difficulty at which the challenge was solved.
|
* \param d Difficulty at which the challenge was solved.
|
||||||
* \param do_save If true update the challenge file on disk.
|
* \param do_save If true update the challenge file on disk.
|
||||||
@ -249,24 +238,6 @@ void StoryModeStatus::lockFeature(ChallengeStatus *challenge_status)
|
|||||||
void StoryModeStatus::unlockFeature(ChallengeStatus* c, RaceManager::Difficulty d,
|
void StoryModeStatus::unlockFeature(ChallengeStatus* c, RaceManager::Difficulty d,
|
||||||
bool do_save)
|
bool do_save)
|
||||||
{
|
{
|
||||||
// Special challenge-specific features are only unlocked once.
|
|
||||||
if(!c->isSolvedAtAnyDifficulty())
|
|
||||||
{
|
|
||||||
const unsigned int amount=(unsigned int)c->getData()->getFeatures().size();
|
|
||||||
for (unsigned int n=0; n<amount; n++)
|
|
||||||
{
|
|
||||||
std::string feature = c->getData()->getFeatures()[n].m_name;
|
|
||||||
std::map<std::string,bool>::iterator p=m_locked_features.find(feature);
|
|
||||||
if (p == m_locked_features.end())
|
|
||||||
{
|
|
||||||
c->setSolved(d);
|
|
||||||
if(do_save) PlayerManager::get()->save();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m_locked_features.erase(p);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add to list of recently unlocked features
|
// Add to list of recently unlocked features
|
||||||
// if the challenge is newly completed at the current difficulty
|
// if the challenge is newly completed at the current difficulty
|
||||||
if (!c->isSolved(d))
|
if (!c->isSolved(d))
|
||||||
|
Loading…
Reference in New Issue
Block a user