From 9c189e5d4b659e7550fe637db778bc3a3fd1ba82 Mon Sep 17 00:00:00 2001 From: Rachael Alexanderson Date: Tue, 9 Jan 2018 15:30:45 -0500 Subject: [PATCH] - expose a monster's 'friendlyseeblocks' to UDMF --- src/doomdata.h | 1 + src/namedef.h | 1 + src/p_mobj.cpp | 1 + src/p_setup.cpp | 1 + src/p_udmf.cpp | 5 +++++ 5 files changed, 9 insertions(+) diff --git a/src/doomdata.h b/src/doomdata.h index 5f681fa76e..ce9939d682 100644 --- a/src/doomdata.h +++ b/src/doomdata.h @@ -371,6 +371,7 @@ struct FMapThing int16_t roll; uint32_t RenderStyle; int FloatbobPhase; + int friendlyseeblocks; }; diff --git a/src/namedef.h b/src/namedef.h index 054c53e492..ace456a691 100644 --- a/src/namedef.h +++ b/src/namedef.h @@ -502,6 +502,7 @@ xx(Roll) xx(Scale) xx(ScaleX) xx(ScaleY) +xx(FriendlySeeBlocks) xx(Floatbobphase) xx(Floatbobstrength) xx(Target) diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 03f1e47508..5398971b9d 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -6029,6 +6029,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position) mobj->SpawnPoint = mthing->pos; mobj->SpawnAngle = mthing->angle; mobj->SpawnFlags = mthing->flags; + mobj->friendlyseeblocks = mthing->friendlyseeblocks; if (mthing->FloatbobPhase >= 0 && mthing->FloatbobPhase < 64) mobj->FloatBobPhase = mthing->FloatbobPhase; if (mthing->Gravity < 0) mobj->Gravity = -mthing->Gravity; else if (mthing->Gravity > 0) mobj->Gravity *= mthing->Gravity; diff --git a/src/p_setup.cpp b/src/p_setup.cpp index a0d0f1842b..f7db67c2ec 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -1831,6 +1831,7 @@ void P_LoadThings2 (MapData * map) mti[i].Alpha = -1; mti[i].Health = 1; mti[i].FloatbobPhase = -1; + mti[i].friendlyseeblocks = 10; } delete[] mtp; } diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index 24257dbcd0..0f3eb58757 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -799,6 +799,11 @@ public: th->Scale.X = th->Scale.Y = CheckFloat(key); break; + case NAME_FriendlySeeBlocks: + CHECK_N(Zd | Zdt) + th->friendlyseeblocks = CheckInt(key); + break; + default: CHECK_N(Zd | Zdt) if (0 == strnicmp("user_", key.GetChars(), 5))