From c7281d1801d45036e60bebbaa703af419b3bb20a Mon Sep 17 00:00:00 2001
From: spherallic <spherallic@gmail.com>
Date: Sun, 2 Jan 2022 20:44:24 +0100
Subject: [PATCH] Fix cyan pixel cutting in Software

---
 src/r_plane.c | 2 +-
 src/r_segs.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/r_plane.c b/src/r_plane.c
index d854c23428..1f5c0192e7 100644
--- a/src/r_plane.c
+++ b/src/r_plane.c
@@ -862,7 +862,7 @@ void R_DrawSinglePlane(visplane_t *pl)
 						return; // Don't even draw it
 					if (pl->ffloor->blend) // additive, (reverse) subtractive, modulative
 						ds_transmap = R_GetBlendTable(pl->ffloor->blend, trans);
-					else if (!(ds_transmap = R_GetTranslucencyTable(trans)))
+					else if (!(ds_transmap = R_GetTranslucencyTable(trans)) || trans == 0)
 						spanfunctype = SPANDRAWFUNC_SPLAT; // Opaque, but allow transparent flat pixels
 				}
 
diff --git a/src/r_segs.c b/src/r_segs.c
index 2459436b5d..157cf466e6 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -614,7 +614,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
 				return; // Don't even draw it
 			if (pfloor->blend) // additive, (reverse) subtractive, modulative
 				dc_transmap = R_GetBlendTable(pfloor->blend, trans);
-			else if (!(dc_transmap = R_GetTranslucencyTable(trans)))
+			else if (!(dc_transmap = R_GetTranslucencyTable(trans)) || trans == 0)
 				fuzzy = false; // Opaque
 		}
 
-- 
GitLab