From 3a8de19aa45bae61fe5034346e51c98738a20ecf Mon Sep 17 00:00:00 2001 From: toaster Date: Thu, 2 May 2024 20:28:15 +0100 Subject: [PATCH] TryRunTics: Handle deferred title/credits continue outside inner tic loop, don't bail outside of level gamestate Fixes netxcmds not being processed locally in time to init rivals properly --- src/d_clisrv.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 354d2d5c6..f2a8cd1cb 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -6150,27 +6150,21 @@ boolean TryRunTics(tic_t realtics) ps_tictime = I_GetPreciseTime() - ps_tictime; - if (F_IsDeferredContinueCredits()) - { - F_ContinueCredits(); - } - - 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) { break; } + } - // if we're no longer in a level state, just exit - if (!G_GamestateUsesLevel()) - { - break; - } + if (F_IsDeferredContinueCredits()) + { + F_ContinueCredits(); + } + + if (D_IsDeferredStartTitle()) + { + D_StartTitle(); } } else