Merge branch 'precutfls' into 'next'

Don't force fromlevelselect to be false after a pre-map cutscene

Closes #1003

See merge request STJr/SRB2!1972
This commit is contained in:
sphere 2023-05-01 21:20:24 +00:00
commit ae0afe0361
3 changed files with 10 additions and 9 deletions

View file

@ -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;

View file

@ -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);

View file

@ -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);