From da48e917544db164e76325c3708d6f023451a8fa Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 24 Feb 2024 23:41:42 -0600 Subject: [PATCH 1/5] Set deferredtitle false when starting title Oops --- src/d_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index 074897dae..793c14013 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -1128,7 +1128,7 @@ void D_StartTitle(void) D_ClearState(); F_StartTitleScreen(); M_ClearMenus(false); - g_deferredtitle = true; + g_deferredtitle = false; } void D_SetDeferredStartTitle(boolean deferred) From 5ddab935797b87f1a756f4d3ecce521a090e828e Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 24 Feb 2024 23:42:00 -0600 Subject: [PATCH 2/5] Add DeferredStartTitle in P_Ticker --- src/p_tick.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/p_tick.c b/src/p_tick.c index 2815f16b7..1d273e328 100644 --- a/src/p_tick.c +++ b/src/p_tick.c @@ -12,6 +12,7 @@ /// \brief Archiving: SaveGame I/O, Thinker, Ticker #include "doomstat.h" +#include "d_main.h" #include "g_game.h" #include "g_input.h" #include "p_local.h" @@ -1252,5 +1253,10 @@ void P_Ticker(boolean run) { G_CopyTiccmd(&players[i].oldcmd, &players[i].cmd, 1); } + + if (D_IsDeferredStartTitle()) + { + D_StartTitle(); + } // Z_CheckMemCleanup(); } From 012b82bd9c886bb37a0c6409872ff99b62ec69b6 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 24 Feb 2024 23:42:20 -0600 Subject: [PATCH 3/5] Defer StartTitle after demo conclusion Fixes KartKrew/Kart#1055 --- src/g_demo.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/g_demo.cpp b/src/g_demo.cpp index 4c089acec..fea181a6a 100644 --- a/src/g_demo.cpp +++ b/src/g_demo.cpp @@ -3920,11 +3920,9 @@ boolean G_CheckDemoStatus(void) else if (demo.attract == DEMO_ATTRACT_CREDITS) F_ContinueCredits(); else - D_StartTitle(); + D_SetDeferredStartTitle(true); } - demo.attract = DEMO_ATTRACT_OFF; - return true; } From 7bf5d6413c43cdea287e83e8f5dc0c0984a71c32 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Sat, 24 Feb 2024 23:45:52 -0600 Subject: [PATCH 4/5] Clear console hud on init credits slide Fixes KartKrew/Kart#1056 --- src/k_credits.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/k_credits.cpp b/src/k_credits.cpp index fc09f04e1..76037fd3b 100644 --- a/src/k_credits.cpp +++ b/src/k_credits.cpp @@ -366,6 +366,9 @@ static void F_InitCreditsSlide(void) } } #endif + + // Clear the console hud just to avoid anything getting in the way. + CON_ClearHUD(); } void F_StartCredits(void) From 6ac53d8eed3c5bbbcb48b31bf56a19a13c6c1632 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Tue, 27 Feb 2024 20:32:43 -0600 Subject: [PATCH 5/5] Ensure deferred title start at the end of tic --- src/d_clisrv.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index ead340d51..f5d4ab0a6 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -6090,6 +6090,11 @@ boolean TryRunTics(tic_t realtics) ps_tictime = I_GetPreciseTime() - ps_tictime; + if (D_IsDeferredStartTitle()) + { + D_StartTitle(); + } + // Leave a certain amount of tics present in the net buffer as long as we've ran at least one tic this frame. if (client && gamestate == GS_LEVEL && leveltime > 1 && neededtic <= gametic + cv_netticbuffer.value) {