Fix oversight in software plane and sprite secbright handling
c54aaf1cdb
This commit is contained in:
parent
64ead818ca
commit
5f6c7e2127
2 changed files with 8 additions and 8 deletions
|
|
@ -1038,7 +1038,7 @@ void R_DrawSinglePlane(drawspandata_t *ds, visplane_t *pl, boolean allow_paralle
|
|||
spanfunctype = SPANDRAWFUNC_SPLAT;
|
||||
|
||||
if (pl->polyobj->translucency == 0 || (pl->extra_colormap && (pl->extra_colormap->flags & CMF_FOG)))
|
||||
light = std::max((pl->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
light = (std::max(pl->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
else
|
||||
light = LIGHTLEVELS-1;
|
||||
}
|
||||
|
|
@ -1079,17 +1079,17 @@ void R_DrawSinglePlane(drawspandata_t *ds, visplane_t *pl, boolean allow_paralle
|
|||
}
|
||||
|
||||
if ((spanfunctype == SPANDRAWFUNC_SPLAT) || (pl->extra_colormap && (pl->extra_colormap->flags & CMF_FOG)))
|
||||
light = std::max((pl->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
light = (std::max(pl->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
else
|
||||
light = LIGHTLEVELS-1;
|
||||
}
|
||||
else if (pl->ffloor->fofflags & FOF_FOG)
|
||||
{
|
||||
spanfunctype = SPANDRAWFUNC_FOG;
|
||||
light = std::max((pl->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
light = (std::max(pl->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
}
|
||||
else
|
||||
light = std::max((pl->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
light = (std::max(pl->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
|
||||
debug = SW_HI_FOFPLANES;
|
||||
}
|
||||
|
|
@ -1149,7 +1149,7 @@ void R_DrawSinglePlane(drawspandata_t *ds, visplane_t *pl, boolean allow_paralle
|
|||
}
|
||||
}
|
||||
else
|
||||
light = std::max((pl->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
light = (std::max(pl->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
}
|
||||
|
||||
ds->currentplane = pl;
|
||||
|
|
|
|||
|
|
@ -1320,7 +1320,7 @@ static void R_SplitSprite(vissprite_t *sprite)
|
|||
newsprite->cut = static_cast<spritecut_e>(newsprite->cut | SC_TOP);
|
||||
if (!(sector->lightlist[i].caster->fofflags & FOF_NOSHADE))
|
||||
{
|
||||
lightnum = std::max((*sector->lightlist[i].lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
lightnum = (std::max((INT32)*sector->lightlist[i].lightlevel, cv_secbright.value)) >> LIGHTSEGSHIFT;
|
||||
|
||||
if (lightnum < 0)
|
||||
spritelights = scalelight[0];
|
||||
|
|
@ -2354,7 +2354,7 @@ static void R_ProjectSprite(mobj_t *thing)
|
|||
lightnum = thing->subsector->sector->lightlevel;
|
||||
}
|
||||
|
||||
lightnum = std::max((lightnum + R_ThingLightLevel(thing)) >> LIGHTSEGSHIFT, cv_secbright.value);
|
||||
lightnum = (std::max((lightnum + R_ThingLightLevel(thing)), cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
|
||||
if (maplighting.directional == true && P_SectorUsesDirectionalLighting(thing->subsector->sector))
|
||||
{
|
||||
|
|
@ -2780,7 +2780,7 @@ void R_AddSprites(sector_t *sec, INT32 lightlevel)
|
|||
{
|
||||
if (sec->heightsec == -1) lightlevel = sec->lightlevel;
|
||||
|
||||
lightnum = std::max((lightlevel >> LIGHTSEGSHIFT), cv_secbright.value);
|
||||
lightnum = (std::max(lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT);
|
||||
|
||||
if (lightnum < 0)
|
||||
spritelights = scalelight[0];
|
||||
|
|
|
|||
Loading…
Reference in a new issue