- fix cutscene skipping (hopefully)

This commit is contained in:
Ilya Shurumov 2021-05-22 22:26:19 +06:00 committed by InspirationByte
parent 488b54c5c9
commit d3de296221
2 changed files with 10 additions and 16 deletions

View File

@ -183,12 +183,7 @@ void HandleInGameCutscene(void)
if (CutsceneLength-28 < CutsceneFrameCnt)
{
// disable cutscene skip when it's about to end
if (gSkipInGameCutscene)
{
FastForward = 0;
gSkipInGameCutscene = 0;
}
gSkipInGameCutscene = 0;
if (BlackBorderHeight > 0)
BlackBorderHeight--;
@ -203,8 +198,6 @@ void HandleInGameCutscene(void)
if (gSkipInGameCutscene)
{
// fast forward and stop XA
FastForward = 1;
StopXA();
UnprepareXA();
}

View File

@ -1289,7 +1289,7 @@ int FilterFrameTime()
static int frame = 0;
// always stay 30 FPS (2 vblanks)
if (!gSkipInGameCutscene && VSync(-1) - frame < 2)
if (VSync(-1) - frame < 2)
return 0;
frame = VSync(-1);
@ -1394,7 +1394,7 @@ void StepGame(void)
HandleExplosion();
if (FastForward == 0)
if (FastForward == 0 && gSkipInGameCutscene == 0)
ColourCycle();
combointensity = NightAmbient | NightAmbient << 8 | NightAmbient << 0x10;
@ -1621,6 +1621,13 @@ void State_GameLoop(void* param)
DrawGame();
#else
if (gSkipInGameCutscene)
{
StepGame();
ClearCurrentDrawBuffers();
return;
}
if (!FilterFrameTime())
return;
@ -1658,12 +1665,6 @@ int ObjectDrawnCounter = 0;
// [D] [T]
void DrawGame(void)
{
if (gSkipInGameCutscene)
{
ClearCurrentDrawBuffers();
return;
}
if (NumPlayers == 1 || NoPlayerControl)
{
ObjectDrawnValue = FrameCnt;