From 109c60f700530deaaed189eb978fe903e9f7c47b Mon Sep 17 00:00:00 2001
From: sphere <spherallic@gmail.com>
Date: Sun, 6 Jun 2021 14:34:49 +0200
Subject: [PATCH] Do the same for OpenGL, and also make modulate actually work
 in it.

---
 src/hardware/hw_main.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c
index 5171ab435..d800be813 100644
--- a/src/hardware/hw_main.c
+++ b/src/hardware/hw_main.c
@@ -1484,19 +1484,12 @@ static void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom
 				case 256:
 					blendmode = PF_Translucent;
 					break;
-				case 913:
-					blendmode = PF_Multiplicative;
-					Surf.PolyColor.s.alpha = 0xff;
-					break;
 				default:
 				{
 					UINT32 blend = 0;
 					transnum_t transtable = R_GetLinedefTransTable(gl_linedef);
-					if (transtable == NUMTRANSMAPS)
+					if ((blend = gl_linedef->blendmode) && (transtable == NUMTRANSMAPS || blendmode == AST_MODULATE))
 						transtable = 0;
-					if (gl_linedef->blendmode == AST_ADD || gl_linedef->blendmode == AST_SUBTRACT || gl_linedef->blendmode == AST_REVERSESUBTRACT)
-						blend = gl_linedef->blendmode;
-
 					blendmode = HWR_SurfaceBlend(blend, transtable, &Surf);
 					break;
 				}
-- 
GitLab