Y_DetermineIntermissionType: Make this function the sole authority on whether an intermission occours or not.

A return to cleanliness in G_DoCompleted.
This commit is contained in:
toaster 2023-06-02 20:51:48 +01:00
parent 82b60cc585
commit 0bec8317f3
2 changed files with 6 additions and 4 deletions

View file

@ -4520,9 +4520,7 @@ static void G_DoCompleted(void)
// If the current gametype has no intermission screen set, then don't start it.
Y_DetermineIntermissionType();
if ((skipstats && !modeattacking)
|| (modeattacking && (players[consoleplayer].pflags & PF_NOCONTEST))
|| (intertype == int_none))
if (intertype == int_none)
{
G_UpdateVisited();
G_AfterIntermission();

View file

@ -1589,7 +1589,11 @@ void Y_Ticker(void)
void Y_DetermineIntermissionType(void)
{
// no intermission for GP events
if (grandprixinfo.gp == true && grandprixinfo.eventmode != GPEVENT_NONE)
if ((grandprixinfo.gp == true && grandprixinfo.eventmode != GPEVENT_NONE)
// or for failing in time attack mode
|| (modeattacking && (players[consoleplayer].pflags & PF_NOCONTEST))
// or for explicit requested skip (outside of modeattacking)
|| (modeattacking == ATTACKING_NONE && skipstats != 0))
{
intertype = int_none;
return;