From a8b7ecab4d2489ae6dd125b96821eab17ade5cfb Mon Sep 17 00:00:00 2001
From: Monster Iestyn <iestynjealous@ntlworld.com>
Date: Wed, 7 Aug 2019 23:27:26 +0100
Subject: [PATCH] P_LineOpening: set int32 max/min as defaults for opentop,
 openbottom etc if a linedef you touched belongs to a polyobjetc. the only
 thing that really matters in this scenario is the polyobject itself after
 all!

(This is an untested fix for VAda's apparent collision with thin air below a polyobject in ACZ2 in beta 5)
---
 src/p_maputl.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/p_maputl.c b/src/p_maputl.c
index 740797fb0c..7779a119d0 100644
--- a/src/p_maputl.c
+++ b/src/p_maputl.c
@@ -519,7 +519,20 @@ void P_LineOpening(line_t *linedef, mobj_t *mobj)
 	I_Assert(back != NULL);
 
 	openfloorrover = openceilingrover = NULL;
-
+#ifdef POLYOBJECTS
+	if (linedef->polyobj)
+	{
+		// set these defaults so that polyobjects don't interfere with collision above or below them
+		opentop = INT32_MAX;
+		openbottom = INT32_MIN;
+		highceiling = INT32_MIN;
+		lowfloor = INT32_MAX;
+#ifdef ESLOPE
+		opentopslope = openbottomslope = NULL;
+#endif
+	}
+	else
+#endif
 	{ // Set open and high/low values here
 		fixed_t frontheight, backheight;
 
-- 
GitLab