From a41c6405591fd6ba8bd3f4081620be321f3dfc06 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Wed, 1 Jan 2020 15:10:41 +0100
Subject: [PATCH] Move shared parts of sidedef initialization into
 P_InitializeSidedef

---
 src/p_setup.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/p_setup.c b/src/p_setup.c
index c915000d9c..e2ae29cf7e 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -1074,6 +1074,19 @@ static void P_SetSidedefSector(size_t i, UINT16 sector_num)
 	sides[i].sector = &sectors[sector_num];
 }
 
+static void P_InitializeSidedef(side_t *sd)
+{
+	if (!sd->line)
+	{
+		CONS_Debug(DBG_SETUP, "P_LoadSidedefs: Sidedef %s is not used by any linedef\n", sizeu1(i));
+		sd->line = &lines[0];
+		sd->special = sd->line->special;
+	}
+
+	sd->text = NULL;
+	sd->colormap_data = NULL;
+}
+
 static void P_LoadSidedefs(UINT8 *data)
 {
 	mapsidedef_t *msd = (mapsidedef_t*)data;
@@ -1085,11 +1098,7 @@ static void P_LoadSidedefs(UINT8 *data)
 		INT16 textureoffset = SHORT(msd->textureoffset);
 		boolean isfrontside;
 
-		if (!sd->line)
-		{
-			CONS_Debug(DBG_SETUP, "P_LoadSidedefs: Sidedef %s is not used by any linedef\n", sizeu1(i));
-			sd->line = &lines[0];
-		}
+		P_InitializeSidedef(sd);
 
 		isfrontside = sd->line->sidenum[0] == i;
 
@@ -1109,8 +1118,6 @@ static void P_LoadSidedefs(UINT8 *data)
 
 		P_SetSidedefSector(i, SHORT(msd->sector));
 
-		sd->colormap_data = NULL;
-
 		// Special info stored in texture fields!
 		switch (sd->special)
 		{
@@ -1643,6 +1650,7 @@ static void P_LoadTextmap(void)
 			CONS_Debug(DBG_SETUP, "P_LoadTextmap: sidedef %s has no sector set; defaulting to 0\n", sizeu1(i));
 			sd->sector = &sectors[0];
 		}
+		P_InitializeSidedef(sd);
 	}
 
 	for (i = 0, mt = mapthings; i < nummapthings; i++, mt++)
-- 
GitLab