Special stage access-related fixes

- Fix GPEVENT_SPECIAL forcing via rank restriction in round queue
- Re-implements gamedata->everseenspecial
This commit is contained in:
toaster 2023-04-10 13:35:59 +01:00
parent a08683e819
commit 5751ecdcd1
2 changed files with 11 additions and 0 deletions

View file

@ -3135,6 +3135,14 @@ static void Got_Mapcmd(UINT8 **cp, INT32 playernum)
|| (gametyperules & (GTR_BOSS|GTR_CATCHER))) // Conventional rules.
{
grandprixinfo.eventmode = GPEVENT_SPECIAL;
if (pforcespecialstage == true && gamedata->everseenspecial == false)
{
gamedata->everseenspecial = true;
// No need to do anything else here -- P_LoadLevel will get this for us!
//M_UpdateUnlockablesAndExtraEmblems(true, true);
//gamedata->deferredsave = true;
}
}
else if (gametype != GT_RACE)
{

View file

@ -4139,6 +4139,9 @@ static void G_GetNextMap(void)
D_GameTypeChanged(lastgametype);
}
// Is this special..?
forcespecialstage = roundqueue.entries[roundqueue.position].rankrestricted;
// On entering roundqueue mode, kill the non-PWR between-round scores.
// This makes it viable as a future tournament mode base.
if (roundqueue.position == 0)