diff --git a/src/polyrenderer/scene/poly_plane.cpp b/src/polyrenderer/scene/poly_plane.cpp index 55a4c11d0..08a8897e7 100644 --- a/src/polyrenderer/scene/poly_plane.cpp +++ b/src/polyrenderer/scene/poly_plane.cpp @@ -269,6 +269,12 @@ void RenderPolyPlane::SetLightLevel(PolyRenderThread *thread, PolyDrawArgs &args void RenderPolyPlane::SetDynLights(PolyRenderThread *thread, PolyDrawArgs &args, subsector_t *sub, bool ceiling) { + if (!r_dynlights) + { + args.SetLights(nullptr, 0); + return; + } + FLightNode *light_list = sub->lighthead; auto cameraLight = PolyCameraLight::Instance(); diff --git a/src/polyrenderer/scene/poly_wall.cpp b/src/polyrenderer/scene/poly_wall.cpp index 02eb5e7b2..7aae2c32c 100644 --- a/src/polyrenderer/scene/poly_wall.cpp +++ b/src/polyrenderer/scene/poly_wall.cpp @@ -374,6 +374,12 @@ void RenderPolyWall::Render(PolyRenderThread *thread) void RenderPolyWall::SetDynLights(PolyRenderThread *thread, PolyDrawArgs &args) { + if (!r_dynlights) + { + args.SetLights(nullptr, 0); + return; + } + FLightNode *light_list = (LineSeg && LineSeg->sidedef) ? LineSeg->sidedef->lighthead : nullptr; auto cameraLight = PolyCameraLight::Instance();