diff --git a/src/g_game.c b/src/g_game.c index f7e7ae75a..79c09f6b1 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -1653,6 +1653,7 @@ void G_DoLoadLevel(boolean resetplayer) } INT32 pausedelay = 0; +boolean pausebreakkey = false; static INT32 camtoggledelay, camtoggledelay2 = 0; // @@ -1805,6 +1806,7 @@ boolean G_Responder(event_t *ev) { if (modeattacking && !demoplayback && (gamestate == GS_LEVEL)) { + pausebreakkey = (ev->data1 == KEY_PAUSE); if (menuactive || pausedelay < 0 || leveltime < 2) return true; diff --git a/src/g_game.h b/src/g_game.h index dc0c3619d..1e30831d8 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -54,6 +54,7 @@ extern INT32 gameovertics; extern tic_t timeinmap; // Ticker for time spent in level (used for levelcard display) extern INT16 rw_maximums[NUM_WEAPONS]; extern INT32 pausedelay; +extern boolean pausebreakkey; // used in game menu extern consvar_t cv_tutorialprompt; diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 26e50885a..6e17b939d 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1132,7 +1132,7 @@ void HU_Drawer(void) V_DrawCenteredString(BASEVIDWIDTH/2, 180, V_YELLOWMAP | V_ALLOWLOWERCASE, resynch_text); } - if (modeattacking && pausedelay > 0) + if (modeattacking && pausedelay > 0 && !pausebreakkey) { INT32 strength = ((pausedelay - 1 - NEWTICRATE/2)*10)/(NEWTICRATE/3); INT32 y = hudinfo[HUD_LIVES].y - 13;