From 7e026824a4a4db5e4072d82bb200c9d1253ef537 Mon Sep 17 00:00:00 2001
From: fickleheart <fickle@tinted.red>
Date: Fri, 11 Jan 2019 20:45:59 -0600
Subject: [PATCH] Fix rendering gaps on polys with upper/lower textures

---
 src/r_segs.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/r_segs.c b/src/r_segs.c
index 6d6ba1efd..748365264 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -3063,8 +3063,9 @@ void R_StoreWallRange(INT32 start, INT32 stop)
 		else
 			markceiling = false;
 
-		// Don't render the ceiling again when rendering polyobjects
-		if (curline->polyseg)
+		// Don't mark ceiling flat lines for polys unless this line has an upper texture, otherwise we get flat leakage pulling downward
+		// (If it DOES have an upper texture and we do this, the ceiling won't render at all)
+		if (curline->polyseg && !curline->sidedef->toptexture)
 			markceiling = false;
 	}
 
@@ -3076,8 +3077,9 @@ void R_StoreWallRange(INT32 start, INT32 stop)
 		else
 			markfloor = false;
 
-		// Don't render the floor again when rendering polyobjects
-		if (curline->polyseg)
+		// Don't mark floor flat lines for polys unless this line has a lower texture, otherwise we get flat leakage pulling upward
+		// (If it DOES have a lower texture and we do this, the floor won't render at all)
+		if (curline->polyseg && !curline->sidedef->bottomtexture)
 			markfloor = false;
 	}
 
-- 
GitLab