From 623754ec5a10c09f18a03db14b9a2b068c3c0a53 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 31 Dec 2021 01:47:47 -0800 Subject: [PATCH] GLSL, NSRenderableEntity: Added hack to prevent alphatesting against world surfaces utilizing the default lightmapped shader. --- platform/base_glsl.pk3dir/glsl/defaultwall.glsl | 2 ++ src/gs-entbase/shared/NSRenderableEntity.qc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/platform/base_glsl.pk3dir/glsl/defaultwall.glsl b/platform/base_glsl.pk3dir/glsl/defaultwall.glsl index ffa4338e..506994f9 100644 --- a/platform/base_glsl.pk3dir/glsl/defaultwall.glsl +++ b/platform/base_glsl.pk3dir/glsl/defaultwall.glsl @@ -128,6 +128,8 @@ varying mat3 invsurface; /* get the alphatesting out of the way first */ #ifdef MASK + /* terrible hack, CSQC sets this to mark surface as an entity */ + if (e_glowmod == vec3(1.0, 0.0, 1.0)) if (diffuse_f.a < 0.6) { discard; } diff --git a/src/gs-entbase/shared/NSRenderableEntity.qc b/src/gs-entbase/shared/NSRenderableEntity.qc index 73ea5668..4b5686ad 100644 --- a/src/gs-entbase/shared/NSRenderableEntity.qc +++ b/src/gs-entbase/shared/NSRenderableEntity.qc @@ -202,6 +202,8 @@ NSRenderableEntity::RenderFXPass(void) pSeat = &g_seats[s]; vecPlayer = pSeat->m_vecPredictedOrigin; + /* HACK: this tells our GLSL to render this masked */ + glowmod = [1.0,0.0,1.0]; colormod = m_vecRenderColor; alpha = m_flRenderAmt;