diff --git a/src/p_mobj.c b/src/p_mobj.c index a8599ceb5dc93d0e8cd07944d5b31803d8ae7ec1..107a568183ad71210a0a6d2b3730cad2325e66da 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 d79bd328acc03e3c9e71ad532a46a61f7c1e15e9..75923051b2bb86d62fbc042a22d2e1a95dc9b5fc 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; }