From 8553581d806517f23535caaa100bd21290639f11 Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 26 Jul 2023 15:51:39 +0100 Subject: [PATCH] Improved behaviour for skipping second half of intermission in offline games Instead of tying it directly to the number of players, instead base it on whether the points are important to keep track of. - Match Race or Time Attack - No next map override, since points will persist to that one - No maps queued, so points aren't relevant - OR maps are queued but you haven't started them yet, so the points will be discarded --- src/y_inter.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/y_inter.c b/src/y_inter.c index 524c84fd9..64801bd1c 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -1786,9 +1786,22 @@ void Y_StartIntermission(void) // Prevent a weird bug timer = 1; } - else if (nump < 2 && !netgame) + else if ( + ( // Match Race or Time Attack + netgame == false + && grandprixinfo.gp == false + ) + && ( + modeattacking != ATTACKING_NONE // Definitely never another map + || ( // Any level sequence? + roundqueue.size == 0 // No maps queued, points aren't relevant + || roundqueue.position == 0 // OR points from this round will be discarded + ) + ) + ) { // No PWR/global score, skip it + // (the above is influenced by G_GetNextMap) timer /= 2; } else