From f0618d5780240ab2b26743c0143aa9e888c0ee82 Mon Sep 17 00:00:00 2001 From: toaster Date: Fri, 15 Jun 2018 21:42:36 +0100 Subject: [PATCH] Correct some minor deficiencies in the hold-for-retry system in record attack. --- src/g_game.c | 4 +++- src/p_setup.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/g_game.c b/src/g_game.c index 2ee798cda..4e3e5f0c7 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1831,7 +1831,6 @@ boolean G_Responder(event_t *ev) pausedelay = 1+(NEWTICRATE/2); else if (++pausedelay > 1+(NEWTICRATE/2)+(NEWTICRATE/3)) { - pausedelay = INT32_MIN; G_SetRetryFlag(); return true; } @@ -1908,7 +1907,10 @@ void G_Ticker(boolean run) G_ClearRetryFlag(); if (modeattacking) + { + pausedelay = INT32_MIN; M_ModeAttackRetry(0); + } else { // Costs a life to retry ... unless the player in question is dead already. diff --git a/src/p_setup.c b/src/p_setup.c index 43da5275b..673541c84 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -2734,7 +2734,7 @@ boolean P_SetupLevel(boolean skipprecip) // Special stage fade to white // This is handled BEFORE sounds are stopped. - if (modeattacking && pausedelay == INT32_MIN) + if (modeattacking && !demoplayback && (pausedelay == INT32_MIN)) ranspecialwipe = 2; else if (rendermode != render_none && G_IsSpecialStage(gamemap)) { @@ -2788,7 +2788,7 @@ boolean P_SetupLevel(boolean skipprecip) if (ranspecialwipe == 2) { - pausedelay = -NEWTICRATE; + pausedelay = -3; // preticker plus one S_StartSound(NULL, sfx_s3k73); }