Fix not being able to use map command to go to SS

This commit is contained in:
Sally Coolatta 2022-12-18 02:43:31 -05:00
parent a6e1731538
commit 526a2b7de1

View file

@ -2881,7 +2881,7 @@ static void Command_Map_f(void)
if (mapheaderinfo[newmapnum-1]) if (mapheaderinfo[newmapnum-1])
{ {
// Let's just guess so we don't have to specify the gametype EVERY time... // Let's just guess so we don't have to specify the gametype EVERY time...
newgametype = (mapheaderinfo[newmapnum-1]->typeoflevel & TOL_RACE) ? GT_RACE : GT_BATTLE; newgametype = (mapheaderinfo[newmapnum-1]->typeoflevel & TOL_BATTLE) ? GT_BATTLE : GT_RACE;
} }
} }
@ -2929,32 +2929,6 @@ static void Command_Map_f(void)
} }
if (!(netgame || multiplayer)) if (!(netgame || multiplayer))
{
if (newgametype == GT_BATTLE)
{
grandprixinfo.gp = false;
specialStage.active = false;
K_ResetBossInfo();
if (mapheaderinfo[newmapnum-1] &&
mapheaderinfo[newmapnum-1]->typeoflevel & TOL_BOSS)
{
bossinfo.boss = true;
bossinfo.encore = newencoremode;
}
}
else
{
if (mapheaderinfo[newmapnum-1] &&
mapheaderinfo[newmapnum-1]->typeoflevel & TOL_SPECIAL) // Special Stage
{
grandprixinfo.gp = false;
bossinfo.boss = false;
specialStage.active = true;
specialStage.encore = newencoremode;
}
else // default GP
{ {
grandprixinfo.gamespeed = (cv_kartspeed.value == KARTSPEED_AUTO ? KARTSPEED_NORMAL : cv_kartspeed.value); grandprixinfo.gamespeed = (cv_kartspeed.value == KARTSPEED_AUTO ? KARTSPEED_NORMAL : cv_kartspeed.value);
grandprixinfo.masterbots = false; grandprixinfo.masterbots = false;
@ -3002,11 +2976,38 @@ static void Command_Map_f(void)
grandprixinfo.roundnum = 0; grandprixinfo.roundnum = 0;
grandprixinfo.cup = NULL; grandprixinfo.cup = NULL;
grandprixinfo.wonround = false; grandprixinfo.wonround = false;
bossinfo.boss = false;
specialStage.active = false;
grandprixinfo.initalize = true; grandprixinfo.initalize = true;
grandprixinfo.eventmode = GPEVENT_NONE;
if (newgametype == GT_BATTLE)
{
grandprixinfo.eventmode = GPEVENT_BONUS;
if (mapheaderinfo[newmapnum-1] &&
mapheaderinfo[newmapnum-1]->typeoflevel & TOL_BOSS)
{
bossinfo.boss = true;
bossinfo.encore = newencoremode;
}
else
{
bossinfo.boss = false;
K_ResetBossInfo();
}
}
else
{
if (mapheaderinfo[newmapnum-1] &&
mapheaderinfo[newmapnum-1]->typeoflevel & TOL_SPECIAL) // Special Stage
{
specialStage.active = true;
specialStage.encore = newencoremode;
grandprixinfo.eventmode = GPEVENT_SPECIAL;
}
else
{
specialStage.active = false;
} }
} }
} }