Allow command line options --kart and --track to select locked tracks.

This will allow reviewers to post screenshot of new tracks.
This commit is contained in:
hiker
2014-12-19 16:08:35 +11:00
parent 99f49fbd42
commit deb8672446

View File

@@ -730,41 +730,26 @@ int handleCmdLine()
if(CommandLine::has("--kart", &s))
{
const PlayerProfile *player = PlayerManager::getCurrentPlayer();
if(player && !player->isLocked(s))
const KartProperties *prop = kart_properties_manager->getKart(s);
if (prop)
{
const KartProperties *prop =
kart_properties_manager->getKart(s);
if(prop)
{
UserConfigParams::m_default_kart = s;
UserConfigParams::m_default_kart = s;
// if a player was added with -N, change its kart.
// Otherwise, nothing to do, kart choice will be picked
// up upon player creation.
if (StateManager::get()->activePlayerCount() > 0)
{
race_manager->setLocalKartInfo(0, s);
}
Log::verbose("main", "You chose to use kart '%s'.",
s.c_str() ) ;
}
else
// if a player was added with -N, change its kart.
// Otherwise, nothing to do, kart choice will be picked
// up upon player creation.
if (StateManager::get()->activePlayerCount() > 0)
{
Log::warn("main", "Kart '%s' not found, ignored.",
s.c_str());
race_manager->setLocalKartInfo(0, s);
}
Log::verbose("main", "You chose to use kart '%s'.",
s.c_str());
}
else // kart locked
else
{
if (player)
Log::warn("main", "Kart '%s' has not been unlocked yet.",
s.c_str());
else
Log::warn("main",
"A default player must exist in order to use --kart.");
} // if kart locked
Log::warn("main", "Kart '%s' not found, ignored.",
s.c_str());
}
} // if --kart
if(CommandLine::has("--ai", &s))
@@ -802,49 +787,35 @@ int handleCmdLine()
if(CommandLine::has("--track", &s) || CommandLine::has("-t", &s))
{
const PlayerProfile *player = PlayerManager::getCurrentPlayer();
if (player && !player->isLocked(s))
{
race_manager->setTrack(s);
Log::verbose("main", "You choose to start in track '%s'.",
s.c_str());
race_manager->setTrack(s);
Log::verbose("main", "You choose to start in track '%s'.",
s.c_str());
Track* t = track_manager->getTrack(s);
if (!t)
{
Log::warn("main", "Can't find track named '%s'.", s.c_str());
}
else if (t->isArena())
{
//if it's arena, don't create ai karts
const std::vector<std::string> l;
race_manager->setDefaultAIKartList(l);
// Add 1 for the player kart
race_manager->setNumKarts(1);
race_manager->setMinorMode(RaceManager::MINOR_MODE_3_STRIKES);
}
else if(t->isSoccer())
{
//if it's soccer, don't create ai karts
const std::vector<std::string> l;
race_manager->setDefaultAIKartList(l);
// Add 1 for the player kart
race_manager->setNumKarts(1);
race_manager->setMinorMode(RaceManager::MINOR_MODE_SOCCER);
}
}
else
Track* t = track_manager->getTrack(s);
if (!t)
{
if (player)
Log::warn("main", "Track '%s' has not been unlocked yet.",
s.c_str());
else
Log::warn("main",
"A default player must exist in order to use --track.");
Log::warn("main", "Can't find track named '%s'.", s.c_str());
}
else if (t->isArena())
{
//if it's arena, don't create ai karts
const std::vector<std::string> l;
race_manager->setDefaultAIKartList(l);
// Add 1 for the player kart
race_manager->setNumKarts(1);
race_manager->setMinorMode(RaceManager::MINOR_MODE_3_STRIKES);
}
else if (t->isSoccer())
{
//if it's soccer, don't create ai karts
const std::vector<std::string> l;
race_manager->setDefaultAIKartList(l);
// Add 1 for the player kart
race_manager->setNumKarts(1);
race_manager->setMinorMode(RaceManager::MINOR_MODE_SOCCER);
}
} // --track
if(CommandLine::has("--gp", &s))
{
race_manager->setMajorMode(RaceManager::MAJOR_MODE_GRAND_PRIX);