mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 17:22:12 +00:00
Fix FOF lighting being stupid with repeating midtextures.
This commit is contained in:
parent
8e56582728
commit
6ca806a8c0
2 changed files with 10 additions and 0 deletions
|
@ -203,6 +203,7 @@ typedef struct r_lightlist_s
|
|||
fixed_t heightstep;
|
||||
fixed_t botheight;
|
||||
fixed_t botheightstep;
|
||||
fixed_t startheight; // for repeating midtextures
|
||||
INT16 lightlevel;
|
||||
extracolormap_t *extra_colormap;
|
||||
lighttable_t *rcolormap;
|
||||
|
|
|
@ -394,6 +394,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
|
|||
rlight->height = (centeryfrac) - FixedMul((light->height - viewz), spryscale);
|
||||
rlight->heightstep = -FixedMul(rw_scalestep, (light->height - viewz));
|
||||
#endif
|
||||
rlight->startheight = rlight->height; // keep starting value here to reset for each repeat
|
||||
rlight->lightlevel = *light->lightlevel;
|
||||
rlight->extra_colormap = light->extra_colormap;
|
||||
rlight->flags = light->flags;
|
||||
|
@ -487,6 +488,14 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
|
|||
{
|
||||
rw_scalestep = ds->scalestep;
|
||||
spryscale = ds->scale1 + (x1 - ds->x1)*rw_scalestep;
|
||||
if (dc_numlights)
|
||||
{ // reset all lights to their starting heights
|
||||
for (i = 0; i < dc_numlights; i++)
|
||||
{
|
||||
rlight = &dc_lightlist[i];
|
||||
rlight->height = rlight->startheight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef ESLOPE
|
||||
|
|
Loading…
Reference in a new issue