diff --git a/src/r_plane.cpp b/src/r_plane.cpp index 1f44bb27b..60fba5854 100644 --- a/src/r_plane.cpp +++ b/src/r_plane.cpp @@ -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; diff --git a/src/r_segs.cpp b/src/r_segs.cpp index af01e3f3d..247233ebc 100644 --- a/src/r_segs.cpp +++ b/src/r_segs.cpp @@ -274,7 +274,7 @@ static void R_RenderMaskedSegLoop(drawcolumndata_t* dc, drawseg_t *drawseg, INT3 if ((R_CheckColumnFunc(COLDRAWFUNC_FUZZY) == false) || (rlight->flags & FOF_FOG) || (rlight->extra_colormap && (rlight->extra_colormap->flags & CMF_FOG))) - lightnum = std::max((rlight->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)rlight->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); else lightnum = LIGHTLEVELS - 1; @@ -921,7 +921,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor) if (pfloor->fofflags & FOF_FOG) rlight->lightnum = std::max((pfloor->master->frontsector->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); else - rlight->lightnum = std::max((rlight->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + rlight->lightnum = (std::max((INT32)rlight->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); if (pfloor->fofflags & FOF_FOG || rlight->flags & FOF_FOG || (rlight->extra_colormap && (rlight->extra_colormap->flags & CMF_FOG))) ; @@ -937,14 +937,14 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor) { // Get correct light level! if ((frontsector->extra_colormap && (frontsector->extra_colormap->flags & CMF_FOG))) - lightnum = std::max((frontsector->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)frontsector->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); else if (pfloor->fofflags & FOF_FOG) - lightnum = std::max((pfloor->master->frontsector->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)pfloor->master->frontsector->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); else if (R_CheckColumnFunc(COLDRAWFUNC_FUZZY) == true) lightnum = LIGHTLEVELS-1; else - lightnum = std::max((R_FakeFlat(frontsector, &tempsec, &templight, &templight, false) - ->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)(R_FakeFlat(frontsector, &tempsec, &templight, &templight, false) + ->lightlevel), cv_secbright.value) >> LIGHTSEGSHIFT); if (pfloor->fofflags & FOF_FOG || (frontsector->extra_colormap && (frontsector->extra_colormap->flags & CMF_FOG))) ; @@ -1556,7 +1556,7 @@ static void R_RenderSegLoop (drawcolumndata_t* dc) for (i = 0; i < dc->numlights; i++) { INT32 lightnum; - lightnum = std::max((dc->lightlist[i].lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)dc->lightlist[i].lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); if (dc->lightlist[i].extra_colormap) ; @@ -2665,7 +2665,7 @@ void R_StoreWallRange(INT32 start, INT32 stop) // use different light tables // for horizontal / vertical / diagonal // OPTIMIZE: get rid of LIGHTSEGSHIFT globally - lightnum = std::max((frontsector->lightlevel >> LIGHTSEGSHIFT), cv_secbright.value); + lightnum = (std::max((INT32)frontsector->lightlevel, cv_secbright.value) >> LIGHTSEGSHIFT); if (P_ApplyLightOffset(lightnum, frontsector)) lightnum += curline->lightOffset; diff --git a/src/r_things.cpp b/src/r_things.cpp index c537c5745..f61cf7350 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -1320,7 +1320,7 @@ static void R_SplitSprite(vissprite_t *sprite) newsprite->cut = static_cast(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];