From 7a3a1586a108c0d048b046e14fcb821a911369e8 Mon Sep 17 00:00:00 2001 From: GenericHeroGuy Date: Fri, 28 Mar 2025 23:32:11 +0100 Subject: [PATCH] Fix bad wipe timing for dedi servers on level load --- src/d_main.cpp | 2 +- src/p_setup.c | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/d_main.cpp b/src/d_main.cpp index 67f6f2e81..c40103d56 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -892,7 +892,7 @@ void D_WipeLoop(wipelooptype_t type, UINT8 wipetype, boolean drawMenu) } #endif - if (type == WIPELOOP_TITLECARD) + if (rendermode != render_none && type == WIPELOOP_TITLECARD) ST_preLevelTitleCardDrawer(); D_WipeDraw(drawMenu); diff --git a/src/p_setup.c b/src/p_setup.c index 5013b1d43..e833a0fb1 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -9012,12 +9012,14 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) levelloading = false; } - if (rendermode != render_none && reloadinggamestate == false) + if (reloadinggamestate == false) { - - R_ResetViewInterpolation(0); - R_ResetViewInterpolation(0); - R_UpdateMobjInterpolators(); + if (rendermode != render_none) + { + R_ResetViewInterpolation(0); + R_ResetViewInterpolation(0); + R_UpdateMobjInterpolators(); + } // Title card! G_StartTitleCard(); @@ -9026,6 +9028,10 @@ boolean P_LoadLevel(boolean fromnetsave, boolean reloadinggamestate) if (WipeStageTitle && ranspecialwipe != 2 && fromnetsave == false) { G_PreLevelTitleCard(); + + // don't do a fade-in if we ran the title card, it trips up dedis! + // normal clients never see the fade-in, and it causes a very brief lag spike + wipegamestate = gamestate; } }