From a2ff89f0077dcccfe516d8ce42bebde790b31268 Mon Sep 17 00:00:00 2001
From: sphere <spherallic@gmail.com>
Date: Wed, 14 Oct 2020 17:39:23 +0200
Subject: [PATCH] Make record attack's quick retry more consistent.

---
 src/p_setup.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/p_setup.c b/src/p_setup.c
index 55840a0f2..7747f6462 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -4011,23 +4011,23 @@ boolean P_LoadLevel(boolean fromnetsave)
 	wipegamestate = FORCEWIPEOFF;
 	wipestyleflags = 0;
 
-	// Special stage fade to white
+	// Special stage & record attack retry fade to white
 	// This is handled BEFORE sounds are stopped.
-	if (modeattacking && !demoplayback && (pausedelay == INT32_MIN))
-		ranspecialwipe = 2;
+	if (G_GetModeAttackRetryFlag())
+	{
+		if (modeattacking && !demoplayback)
+		{
+			ranspecialwipe = 2;
+			wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE);
+		}
+		G_ClearModeAttackRetryFlag();
+	}
 	else if (rendermode != render_none && G_IsSpecialStage(gamemap))
 	{
 		P_RunSpecialStageWipe();
 		ranspecialwipe = 1;
 	}
 
-	if (G_GetModeAttackRetryFlag())
-	{
-		if (modeattacking)
-			wipestyleflags |= (WSF_FADEOUT|WSF_TOWHITE);
-		G_ClearModeAttackRetryFlag();
-	}
-
 	// Make sure all sounds are stopped before Z_FreeTags.
 	S_StopSounds();
 	S_ClearSfx();