- properly deal with 'gototitle'.

This commit is contained in:
Christoph Oelckers 2022-04-23 18:52:50 +02:00
commit 7b59293995
3 changed files with 20 additions and 10 deletions

View file

@ -942,6 +942,13 @@ DIntermissionController* FLevelLocals::CreateIntermission()
void RunIntermission(DIntermissionController* intermissionScreen, DObject* statusScreen, std::function<void(bool)> completionf)
{
D_StartTitle();
if (!intermissionScreen && !statusScreen)
{
completionf(false);
return;
}
runner = CreateRunner(false);
GC::WriteBarrier(runner);
completion = std::move(completionf);
@ -1010,9 +1017,9 @@ void G_DoCompleted (void)
bool endgame = intermissionScreen && intermissionScreen->mEndGame;
intermissionScreen = primaryLevel->CreateIntermission();
RunIntermission(intermissionScreen, statusScreen, [=](bool)
{
{
if (!endgame) primaryLevel->WorldDone();
else if (!intermissionScreen) D_StartTitle();
});
}