From feceaf6d30144e19ef64e773705b637b242c7b05 Mon Sep 17 00:00:00 2001
From: Monster Iestyn <iestynjealous@ntlworld.com>
Date: Thu, 18 May 2017 17:23:19 +0100
Subject: [PATCH] Removed all code in Y_FollowIntermission that's already
 handled in G_AfterIntermission

Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
---
 src/g_game.c  |  4 ++--
 src/y_inter.c | 19 ++++---------------
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/g_game.c b/src/g_game.c
index d145fcbef6..b8df32f90e 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -2999,10 +2999,10 @@ static void G_DoContinued(void)
 
 //
 // G_EndGame (formerly Y_EndGame)
-// Franky this function fits better in g_game.c than it does in y_inter.c
+// Frankly this function fits better in g_game.c than it does in y_inter.c
 //
 // ...Gee, (why) end the game?
-// Because Y_FollowIntermission and F_EndCutscene would
+// Because G_AfterIntermission and F_EndCutscene would
 // both do this exact same thing *in different ways* otherwise,
 // which made it so that you could only unlock Ultimate mode
 // if you had a cutscene after the final level and crap like that.
diff --git a/src/y_inter.c b/src/y_inter.c
index 37c5973056..9d41caf361 100644
--- a/src/y_inter.c
+++ b/src/y_inter.c
@@ -1805,21 +1805,10 @@ static void Y_FollowIntermission(void)
 		return;
 	}
 
-	if (nextmap < 1100-1)
-	{
-		// normal level
-		G_AfterIntermission();
-		return;
-	}
-
-	// Start a custom cutscene if there is one.
-	if (mapheaderinfo[gamemap-1]->cutscenenum && !modeattacking)
-	{
-		F_StartCustomCutscene(mapheaderinfo[gamemap-1]->cutscenenum-1, false, false);
-		return;
-	}
-
-	G_EndGame();
+	// This handles whether to play a post-level cutscene, end the game,
+	// or simply go to the next level.
+	// No need to duplicate the code here!
+	G_AfterIntermission();
 }
 
 #define UNLOAD(x) Z_ChangeTag(x, PU_CACHE); x = NULL
-- 
GitLab