From 0bec8317f3f59a6262c82909a5e012e0decdced9 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 2 Jun 2023 20:51:48 +0100 Subject: [PATCH] Y_DetermineIntermissionType: Make this function the sole authority on whether an intermission occours or not. A return to cleanliness in G_DoCompleted. --- src/g_game.c | 4 +--- src/y_inter.c | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index d940cbb46..4c6ce067b 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -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(); diff --git a/src/y_inter.c b/src/y_inter.c index 70ae5e7fb..0d276928f 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -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;