diff --git a/src/g_game.c b/src/g_game.c index 4463f55ce..2ee798cda 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1827,7 +1827,9 @@ boolean G_Responder(event_t *ev) if (menuactive || pausedelay < 0 || leveltime < 2) return true; - if (++pausedelay > (NEWTICRATE/3)) + if (pausedelay < 1+(NEWTICRATE/2)) + pausedelay = 1+(NEWTICRATE/2); + else if (++pausedelay > 1+(NEWTICRATE/2)+(NEWTICRATE/3)) { pausedelay = INT32_MIN; G_SetRetryFlag(); diff --git a/src/hu_stuff.c b/src/hu_stuff.c index f4730005e..7f66ade34 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1121,16 +1121,11 @@ void HU_Drawer(void) V_DrawCenteredString(BASEVIDWIDTH/2, 180, V_YELLOWMAP | V_ALLOWLOWERCASE, resynch_text); } - if (modeattacking && pausedelay > 1) + if (modeattacking && pausedelay > 0) { - UINT8 strength = (pausedelay*10)/(NEWTICRATE/3); + INT32 strength = ((pausedelay - 1 - NEWTICRATE/2)*10)/(NEWTICRATE/3); INT32 y = hudinfo[HUD_LIVES].y - 13; - if (strength > 9) - V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0); - else if (strength) - V_DrawFadeScreen(0, strength); - if (players[consoleplayer].powers[pw_carry] == CR_NIGHTSMODE) y -= 16; else @@ -1141,7 +1136,14 @@ void HU_Drawer(void) y -= 8; } - V_DrawThinString(hudinfo[HUD_LIVES].x-2, y, hudinfo[HUD_LIVES].f|((leveltime & 2) ? V_SKYMAP : V_BLUEMAP), "RETRYING..."); + V_DrawThinString(hudinfo[HUD_LIVES].x-2, y, + hudinfo[HUD_LIVES].f|((leveltime & 4) ? V_SKYMAP : V_BLUEMAP), + "HOLD TO RETRY..."); + + if (strength > 9) + V_DrawFill(0, 0, BASEVIDWIDTH, BASEVIDHEIGHT, 0); + else if (strength > 0) + V_DrawFadeScreen(0, strength); } }