diff --git a/src/p_mobj.c b/src/p_mobj.c index a8599ceb5..107a56818 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 d79bd328a..75923051b 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; }