diff --git a/src/d_main.c b/src/d_main.c index cef0c52c7..bbd209dc5 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -302,7 +302,7 @@ static void D_Display(void) if (rendermode != render_none) { // Fade to black first - if (gamestate != GS_LEVEL // fades to black on its own timing, always + if (!(gamestate == GS_LEVEL || (gamestate == GS_TITLESCREEN && titlemapinaction)) // fades to black on its own timing, always && wipedefs[wipedefindex] != UINT8_MAX) { F_WipeStartScreen(); diff --git a/src/f_finale.c b/src/f_finale.c index d164529bd..a107c785a 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -1427,6 +1427,7 @@ void F_StartTitleScreen(void) if (titlemap) { + gamestate_t prevwipegamestate = wipegamestate; titlemapinaction = true; gamemap = titlemap; @@ -1437,6 +1438,8 @@ void F_StartTitleScreen(void) players[displayplayer].playerstate = PST_DEAD; // Don't spawn the player in dummy (I'm still a filthy cheater) camera.subsector = NULL; // toast is filthy too //CON_ClearHUD(); + + wipegamestate = prevwipegamestate; } else {