- block manual advancing of intermission screens when already fading out.

This seems to cause some serious stability issues with how they handle the 2D drawer.
This commit is contained in:
Christoph Oelckers 2021-04-08 18:01:42 +02:00
parent 793d2d99ef
commit 51c4c47183
1 changed files with 3 additions and 2 deletions

View File

@ -840,7 +840,7 @@ public:
clock += now - lastTime; clock += now - lastTime;
if (clock == 0) clock = 1; if (clock == 0) clock = 1;
} }
bool skiprequest = clock > 100'000'000 && inputState.CheckAllInput() && !processed; bool skiprequest = clock > 100'000'000 && inputState.CheckAllInput() && !processed && job.job->fadestate != DScreenJob::fadeout;
lastTime = now; lastTime = now;
if (screenfade < 1.f && !M_Active()) if (screenfade < 1.f && !M_Active())
@ -848,7 +848,8 @@ public:
float ms = (clock / 1'000'000) / job.job->fadetime; float ms = (clock / 1'000'000) / job.job->fadetime;
screenfade = clamp(ms, 0.f, 1.f); screenfade = clamp(ms, 0.f, 1.f);
twod->SetScreenFade(screenfade); twod->SetScreenFade(screenfade);
job.job->fadestate = DScreenJob::fadein; if (job.job->fadestate != DScreenJob::fadeout)
job.job->fadestate = DScreenJob::fadein;
} }
else else
{ {