From d6cafea571cab556c89ff31343af0242a797378b Mon Sep 17 00:00:00 2001 From: spherallic Date: Fri, 28 Apr 2023 15:30:02 +0200 Subject: [PATCH] Don't force FLS to false after a pre-map cutscene --- src/f_finale.c | 13 +++++++------ src/f_finale.h | 2 +- src/g_game.c | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/f_finale.c b/src/f_finale.c index fe94b924c..6560c24f1 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -337,7 +337,7 @@ static tic_t introscenetime[NUMINTROSCENES] = }; // custom intros -void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer); +void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer, boolean FLS); void F_StartIntro(void) { @@ -349,7 +349,7 @@ void F_StartIntro(void) if (!cutscenes[introtoplay - 1]) D_StartTitle(); else - F_StartCustomCutscene(introtoplay - 1, false, false); + F_StartCustomCutscene(introtoplay - 1, false, false, false); return; } @@ -1257,7 +1257,7 @@ void F_StartCredits(void) if (creditscutscene) { - F_StartCustomCutscene(creditscutscene - 1, false, false); + F_StartCustomCutscene(creditscutscene - 1, false, false, false); return; } @@ -3859,7 +3859,7 @@ static INT32 scenenum, cutnum; static INT32 picxpos, picypos, picnum, pictime, picmode, numpics, pictoloop; static INT32 textxpos, textypos; static boolean cutsceneover = false; -static boolean runningprecutscene = false, precutresetplayer = false; +static boolean runningprecutscene = false, precutresetplayer = false, precutFLS = false; static void F_AdvanceToNextScene(void) { @@ -3928,7 +3928,7 @@ void F_EndCutScene(void) if (runningprecutscene) { if (server) - D_MapChange(gamemap, gametype, ultimatemode, precutresetplayer, 0, true, false); + D_MapChange(gamemap, gametype, ultimatemode, precutresetplayer, 0, true, precutFLS); } else { @@ -3943,7 +3943,7 @@ void F_EndCutScene(void) } } -void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer) +void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer, boolean FLS) { if (!cutscenes[cutscenenum]) return; @@ -3962,6 +3962,7 @@ void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean reset cutsceneover = false; runningprecutscene = precutscene; precutresetplayer = resetplayer; + precutFLS = FLS; scenenum = picnum = 0; cutnum = cutscenenum; diff --git a/src/f_finale.h b/src/f_finale.h index e37b45253..6ea1b5537 100644 --- a/src/f_finale.h +++ b/src/f_finale.h @@ -52,7 +52,7 @@ void F_EndingDrawer(void); void F_CreditTicker(void); void F_CreditDrawer(void); -void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer); +void F_StartCustomCutscene(INT32 cutscenenum, boolean precutscene, boolean resetplayer, boolean FLS); void F_CutsceneDrawer(void); void F_EndCutScene(void); diff --git a/src/g_game.c b/src/g_game.c index b7f3eb24a..0d5181b07 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -4108,7 +4108,7 @@ void G_AfterIntermission(void) && stagefailed == false) { // Start a custom cutscene. - F_StartCustomCutscene(mapheaderinfo[gamemap-1]->cutscenenum-1, false, false); + F_StartCustomCutscene(mapheaderinfo[gamemap-1]->cutscenenum-1, false, false, false); } else { @@ -4958,7 +4958,7 @@ void G_InitNew(UINT8 pultmode, const char *mapname, boolean resetplayer, boolean imcontinuing = false; if ((gametyperules & GTR_CUTSCENES) && !skipprecutscene && mapheaderinfo[gamemap-1]->precutscenenum && !modeattacking && !(marathonmode & MA_NOCUTSCENES)) // Start a custom cutscene. - F_StartCustomCutscene(mapheaderinfo[gamemap-1]->precutscenenum-1, true, resetplayer); + F_StartCustomCutscene(mapheaderinfo[gamemap-1]->precutscenenum-1, true, resetplayer, FLS); else G_DoLoadLevel(resetplayer);