From 9b9c2cbcb6441748f53453e94ae34d267e16c9d4 Mon Sep 17 00:00:00 2001 From: toaster Date: Mon, 4 Mar 2024 17:34:54 +0000 Subject: [PATCH] M_EndModeAttackRun: Fix recursivity issue that resulted in natural ends to replays losing track of restoreMenu --- src/menus/transient/pause-replay.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/menus/transient/pause-replay.c b/src/menus/transient/pause-replay.c index 9c0c777a7..abb0e89cf 100644 --- a/src/menus/transient/pause-replay.c +++ b/src/menus/transient/pause-replay.c @@ -54,15 +54,22 @@ menu_t PAUSE_PlaybackMenuDef = { void M_EndModeAttackRun(void) { - G_CheckDemoStatus(); // Cancel recording + if (demo.playback) + { + G_CheckDemoStatus(); // Cancel recording + return; + } Command_ExitGame_f(); // Clear a bunch of state + if (!modeattacking) + return; + modeattacking = ATTACKING_NONE; // Kept until now because of Command_ExitGame_f if (demo.attract == DEMO_ATTRACT_TITLE) { - D_StartTitle(); + D_SetDeferredStartTitle(true); } else if (demo.attract == DEMO_ATTRACT_CREDITS) {