From 1a748342218076fb8948c942f8f7e8610c6a6af3 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Fri, 16 Sep 2016 11:37:04 -0600 Subject: [PATCH] light: never receive dirtmapping on lit liquids --- light/ltface.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/light/ltface.cc b/light/ltface.cc index cc23d672..c1ace96b 100644 --- a/light/ltface.cc +++ b/light/ltface.cc @@ -702,6 +702,13 @@ CalcPoints(const modelinfo_t *modelinfo, const vec3_t offset, lightsurf_t *surf, } } +static bool +Face_IsLiquid(const bsp2_t *bsp, const bsp2_dface_t *face) +{ + const char *name = Face_TextureName(bsp, face); + return name[0] == '*'; +} + static void Lightsurf_Init(const modelinfo_t *modelinfo, const bsp2_dface_t *face, const bsp2_t *bsp, lightsurf_t *lightsurf, facesup_t *facesup) @@ -727,6 +734,11 @@ Lightsurf_Init(const modelinfo_t *modelinfo, const bsp2_dface_t *face, VectorSet(lightsurf->minlight_color, 255, 255, 255); } + /* never receive dirtmapping on lit liquids */ + if (Face_IsLiquid(bsp, face)) { + lightsurf->nodirt = true; + } + /* Set up the plane, not including model offset */ plane_t *plane = &lightsurf->plane; VectorCopy(bsp->dplanes[face->planenum].normal, plane->normal);