Lock gnu and nolok until the last challenge is solved

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11525 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
auria 2012-08-29 23:53:44 +00:00
parent 7e2b9abc6e
commit e211de77b6
3 changed files with 22 additions and 8 deletions

View File

@ -16,4 +16,7 @@
<karts number="2"/>
<requirements position="1"/>
</easy>
<unlock-kart value="gnu"/>
<unlock-kart value="nolok"/>
</challenge>

View File

@ -188,16 +188,27 @@ ChallengeData::ChallengeData(const std::string& filename)
if (grand_prix_manager->getGrandPrix(m_gp_id) == NULL) error("gp");
}
*/
std::vector<XMLNode*> unlocks;
root->getNodes("unlock-kart", unlocks);
for (unsigned int n = 0; n < unlocks.size(); n++)
{
getUnlocks(unlocks[n], "unlock-kart", ChallengeData::UNLOCK_KART);
}
/*
const XMLNode* unlock_node = root->getNode("unlock");
if (unlock_node != NULL)
{
getUnlocks(root.get(), "unlock-track", ChallengeData::UNLOCK_TRACK);
getUnlocks(root.get(), "unlock-gp", ChallengeData::UNLOCK_GP );
getUnlocks(root.get(), "unlock-mode", ChallengeData::UNLOCK_MODE );
getUnlocks(root.get(), "unlock-difficulty", ChallengeData::UNLOCK_DIFFICULTY);
getUnlocks(root.get(), "unlock-kart", ChallengeData::UNLOCK_KART);
getUnlocks(unlock_node, "unlock-track", ChallengeData::UNLOCK_TRACK);
getUnlocks(unlock_node, "unlock-gp", ChallengeData::UNLOCK_GP );
getUnlocks(unlock_node, "unlock-mode", ChallengeData::UNLOCK_MODE );
getUnlocks(unlock_node, "unlock-difficulty", ChallengeData::UNLOCK_DIFFICULTY);
getUnlocks(unlock_node, "unlock-kart", ChallengeData::UNLOCK_KART);
}
*/
core::stringw description;
//I18N: number of laps to race in a challenge
@ -283,7 +294,7 @@ void ChallengeData::getUnlocks(const XMLNode *root, const std:: string &type,
REWARD_TYPE reward)
{
std:: string attrib;
root->get(type, &attrib);
root->get("value", &attrib);
if (attrib . empty()) return;

View File

@ -197,7 +197,7 @@ void MainMenuScreen::eventCallback(Widget* widget, const std::string& name,
race_manager->setNumKarts( 0 );
race_manager->setNumPlayers(0);
race_manager->setNumLocalPlayers(0);
race_manager->startSingleRace("introcutscene", 999, false);
race_manager->startSingleRace("endcutscene", 999, false);
std::vector<std::string> parts;
parts.push_back("introcutscene");