diff --git a/src/r_bsp.cpp b/src/r_bsp.cpp index 163b0e296a..4fe0ef03b8 100644 --- a/src/r_bsp.cpp +++ b/src/r_bsp.cpp @@ -1072,7 +1072,12 @@ void R_Subsector (subsector_t *sub) { light = P_GetPlaneLight(frontsector, &frontsector->ceilingplane, false); basecolormap = light->extra_colormap; - ceilinglightlevel = *light->p_lightlevel; + // If this is the real ceiling, don't discard plane lighting R_FakeFlat() + // accounted for. + if (light->p_lightlevel != &frontsector->lightlevel) + { + ceilinglightlevel = *light->p_lightlevel; + } } else { @@ -1103,7 +1108,12 @@ void R_Subsector (subsector_t *sub) { light = P_GetPlaneLight(frontsector, &frontsector->floorplane, false); basecolormap = light->extra_colormap; - floorlightlevel = *light->p_lightlevel; + // If this is the real floor, don't discard plane lighting R_FakeFlat() + // accounted for. + if (light->p_lightlevel != &frontsector->lightlevel) + { + floorlightlevel = *light->p_lightlevel; + } } else {