Merge branch 'next' into 2214

This commit is contained in:
spherallic 2024-06-27 19:42:38 +02:00
commit 2a1bdfa884
4 changed files with 31 additions and 31 deletions

View file

@ -309,39 +309,39 @@ static FUINT HWR_CalcSlopeLight(FUINT lightnum, angle_t dir, fixed_t delta)
return (FUINT)finallight;
}
static FUINT HWR_SideLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 HWR_SideLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light +
((side->lightabsolute) ? 0 : base_lightlevel);
return max(0, min(255, side->light +
((side->lightabsolute) ? 0 : base_lightlevel)));
}
/* TODO: implement per-texture lighting
static FUINT HWR_TopLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 HWR_TopLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_top +
((side->lightabsolute_top) ? 0 : HWR_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_top +
((side->lightabsolute_top) ? 0 : HWR_SideLightLevel(side, base_lightlevel))));
}
static FUINT HWR_MidLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 HWR_MidLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_mid +
((side->lightabsolute_mid) ? 0 : HWR_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_mid +
((side->lightabsolute_mid) ? 0 : HWR_SideLightLevel(side, base_lightlevel))));
}
static FUINT HWR_BottomLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 HWR_BottomLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_bottom +
((side->lightabsolute_bottom) ? 0 : HWR_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_bottom +
((side->lightabsolute_bottom) ? 0 : HWR_SideLightLevel(side, base_lightlevel))));
}
*/
static UINT8 HWR_FloorLightLevel(sector_t *sector, UINT8 base_lightlevel)
static UINT8 HWR_FloorLightLevel(sector_t *sector, INT16 base_lightlevel)
{
return max(0, min(255, sector->floorlightlevel +
((sector->floorlightabsolute) ? 0 : base_lightlevel)));
}
static UINT8 HWR_CeilingLightLevel(sector_t *sector, UINT8 base_lightlevel)
static UINT8 HWR_CeilingLightLevel(sector_t *sector, INT16 base_lightlevel)
{
return max(0, min(255, sector->ceilinglightlevel +
((sector->ceilinglightabsolute) ? 0 : base_lightlevel)));

View file

@ -181,8 +181,8 @@ void T_DynamicSlopeLine (dynlineplanethink_t* th)
{
pslope_t* slope = th->slope;
line_t* srcline = th->sourceline;
fixed_t zdelta;
fixed_t zdelta, oldoz = slope->o.z;
switch(th->type) {
case DP_FRONTFLOOR:
@ -209,7 +209,7 @@ void T_DynamicSlopeLine (dynlineplanethink_t* th)
return;
}
if (slope->zdelta != FixedDiv(zdelta, th->extent)) {
if (slope->zdelta != FixedDiv(zdelta, th->extent) || oldoz != slope->o.z) {
slope->zdelta = FixedDiv(zdelta, th->extent);
slope->zangle = R_PointToAngle2(0, 0, th->extent, -zdelta);
slope->moved = true;

View file

@ -230,13 +230,13 @@ static INT32 R_DoorClosed(void)
&& (backsector->floorheight <= frontsector->floorheight || curline->sidedef->bottomtexture);
}
static UINT8 R_FloorLightLevel(sector_t *sector, UINT8 base_lightlevel)
static UINT8 R_FloorLightLevel(sector_t *sector, INT16 base_lightlevel)
{
return max(0, min(255, sector->floorlightlevel +
((sector->floorlightabsolute) ? 0 : base_lightlevel)));
}
static UINT8 R_CeilingLightLevel(sector_t *sector, UINT8 base_lightlevel)
static UINT8 R_CeilingLightLevel(sector_t *sector, INT16 base_lightlevel)
{
return max(0, min(255, sector->ceilinglightlevel +
((sector->ceilinglightabsolute) ? 0 : base_lightlevel)));

View file

@ -94,29 +94,29 @@ transnum_t R_GetLinedefTransTable(fixed_t alpha)
return (20*(FRACUNIT - alpha - 1) + FRACUNIT) >> (FRACBITS+1);
}
static INT16 R_SideLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 R_SideLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light +
((side->lightabsolute) ? 0 : base_lightlevel);
return max(0, min(255, side->light +
((side->lightabsolute) ? 0 : base_lightlevel)));
}
/* TODO: implement per-texture lighting
static INT16 R_TopLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 R_TopLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_top +
((side->lightabsolute_top) ? 0 : R_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_top +
((side->lightabsolute_top) ? 0 : R_SideLightLevel(side, base_lightlevel))));
}
static INT16 R_MidLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 R_MidLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_mid +
((side->lightabsolute_mid) ? 0 : R_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_mid +
((side->lightabsolute_mid) ? 0 : R_SideLightLevel(side, base_lightlevel))));
}
static INT16 R_BottomLightLevel(side_t *side, UINT8 base_lightlevel)
static UINT8 R_BottomLightLevel(side_t *side, INT16 base_lightlevel)
{
return side->light_bottom +
((side->lightabsolute_bottom) ? 0 : R_SideLightLevel(side, base_lightlevel));
return max(0, min(255, side->light_bottom +
((side->lightabsolute_bottom) ? 0 : R_SideLightLevel(side, base_lightlevel))));
}
*/