From d947558576fb35486ebbf0f43edcb0a44088d493 Mon Sep 17 00:00:00 2001
From: MascaraSnake <jonassauer27@gmail.com>
Date: Sat, 25 Jan 2020 10:26:38 +0100
Subject: [PATCH] Use tag instead of angle for skyboxes

---
 src/p_mobj.c  | 10 ++++++++--
 src/p_setup.c |  3 +++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/p_mobj.c b/src/p_mobj.c
index a8599ceb5d..107a568183 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -12643,10 +12643,16 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
 		break;
 	}
 	case MT_SKYBOX:
+		if (mthing->tag < 0 || mthing->tag > 15)
+		{
+			CONS_Debug(DBG_GAMELOGIC, "P_SetupSpawnedMapThing: Skybox ID %d of mapthing %s is not between 0 and 15!\n", mthing->tag, sizeu1((size_t)(mthing - mapthings)));
+			break;
+		}
+
 		if (mthing->options & MTF_OBJECTSPECIAL)
-			skyboxcenterpnts[mthing->extrainfo] = mobj;
+			skyboxcenterpnts[mthing->tag % 16] = mobj;
 		else
-			skyboxviewpnts[mthing->extrainfo] = mobj;
+			skyboxviewpnts[mthing->tag % 16] = mobj;
 		break;
 	case MT_EGGSTATUE:
 		if (mthing->options & MTF_EXTRA)
diff --git a/src/p_setup.c b/src/p_setup.c
index d79bd328ac..75923051b2 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -2781,6 +2781,9 @@ static void P_ConvertBinaryMap(void)
 		case 762:
 			mapthings[i].tag = mapthings[i].angle;
 			break;
+		case 780:
+			mapthings[i].tag = mapthings[i].extrainfo;
+			break;
 		default:
 			break;
 		}
-- 
GitLab