diff --git a/src/d_netcmd.c b/src/d_netcmd.c index ae08f0e42..a1321b4dc 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -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) { diff --git a/src/g_game.c b/src/g_game.c index 9f273ca49..8c5be2de7 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -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)