mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Only ignore colormap for fullbright
This commit is contained in:
parent
ecc3d031df
commit
26d231c43a
2 changed files with 19 additions and 28 deletions
|
|
@ -3945,26 +3945,21 @@ static void HWR_SplitSprite(gl_vissprite_t *spr)
|
||||||
|
|
||||||
lightset = HWR_OverrideObjectLightLevel(spr->mobj, &lightlevel);
|
lightset = HWR_OverrideObjectLightLevel(spr->mobj, &lightlevel);
|
||||||
|
|
||||||
if (!lightset)
|
|
||||||
{
|
|
||||||
for (i = 1; i < sector->numlights; i++)
|
for (i = 1; i < sector->numlights; i++)
|
||||||
{
|
{
|
||||||
fixed_t h = P_GetLightZAt(§or->lightlist[i], spr->mobj->x, spr->mobj->y);
|
fixed_t h = P_GetLightZAt(§or->lightlist[i], spr->mobj->x, spr->mobj->y);
|
||||||
if (h <= temp)
|
if (h <= temp)
|
||||||
{
|
{
|
||||||
|
if (!lightset)
|
||||||
lightlevel = *list[i-1].lightlevel > 255 ? 255 : *list[i-1].lightlevel;
|
lightlevel = *list[i-1].lightlevel > 255 ? 255 : *list[i-1].lightlevel;
|
||||||
if (!(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
if (!R_ThingIsFullBright(spr->mobj) && !(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
||||||
colormap = *list[i-1].extra_colormap;
|
colormap = *list[i-1].extra_colormap;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (R_ThingIsSemiBright(spr->mobj))
|
if (R_ThingIsSemiBright(spr->mobj))
|
||||||
{
|
|
||||||
lightlevel = 128 + (lightlevel>>1);
|
lightlevel = 128 + (lightlevel>>1);
|
||||||
colormap = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < sector->numlights; i++)
|
for (i = 0; i < sector->numlights; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -3972,13 +3967,17 @@ static void HWR_SplitSprite(gl_vissprite_t *spr)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// even if we aren't changing colormap or lightlevel, we still need to continue drawing down the sprite
|
// even if we aren't changing colormap or lightlevel, we still need to continue drawing down the sprite
|
||||||
if (!lightset && !(list[i].flags & FF_NOSHADE) && (list[i].flags & FF_CUTSPRITES))
|
if (!(list[i].flags & FF_NOSHADE) && (list[i].flags & FF_CUTSPRITES))
|
||||||
|
{
|
||||||
|
if (!lightset)
|
||||||
{
|
{
|
||||||
lightlevel = *list[i].lightlevel > 255 ? 255 : *list[i].lightlevel;
|
lightlevel = *list[i].lightlevel > 255 ? 255 : *list[i].lightlevel;
|
||||||
|
|
||||||
if (R_ThingIsSemiBright(spr->mobj))
|
if (R_ThingIsSemiBright(spr->mobj))
|
||||||
lightlevel = 128 + (lightlevel>>1);
|
lightlevel = 128 + (lightlevel>>1);
|
||||||
else if (!(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
}
|
||||||
|
|
||||||
|
if (!R_ThingIsFullBright(spr->mobj) && !(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
||||||
colormap = *list[i].extra_colormap;
|
colormap = *list[i].extra_colormap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4307,17 +4306,14 @@ static void HWR_DrawSprite(gl_vissprite_t *spr)
|
||||||
if (!lightset)
|
if (!lightset)
|
||||||
lightlevel = *sector->lightlist[light].lightlevel > 255 ? 255 : *sector->lightlist[light].lightlevel;
|
lightlevel = *sector->lightlist[light].lightlevel > 255 ? 255 : *sector->lightlist[light].lightlevel;
|
||||||
|
|
||||||
if (*sector->lightlist[light].extra_colormap && !(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
if (!R_ThingIsFullBright(spr->mobj) && *sector->lightlist[light].extra_colormap && !(spr->mobj->renderflags & RF_NOCOLORMAPS))
|
||||||
colormap = *sector->lightlist[light].extra_colormap;
|
colormap = *sector->lightlist[light].extra_colormap;
|
||||||
}
|
}
|
||||||
else if (!lightset)
|
else if (!lightset)
|
||||||
lightlevel = sector->lightlevel > 255 ? 255 : sector->lightlevel;
|
lightlevel = sector->lightlevel > 255 ? 255 : sector->lightlevel;
|
||||||
|
|
||||||
if (R_ThingIsSemiBright(spr->mobj))
|
if (R_ThingIsSemiBright(spr->mobj))
|
||||||
{
|
|
||||||
lightlevel = 128 + (lightlevel>>1);
|
lightlevel = 128 + (lightlevel>>1);
|
||||||
colormap = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
HWR_Lighting(&Surf, lightlevel, colormap);
|
HWR_Lighting(&Surf, lightlevel, colormap);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1335,13 +1335,11 @@ boolean HWR_DrawModel(gl_vissprite_t *spr)
|
||||||
light = R_GetPlaneLight(sector, spr->mobj->z + spr->mobj->height, false); // Always use the light at the top instead of whatever I was doing before
|
light = R_GetPlaneLight(sector, spr->mobj->z + spr->mobj->height, false); // Always use the light at the top instead of whatever I was doing before
|
||||||
|
|
||||||
if (!lightset)
|
if (!lightset)
|
||||||
{
|
|
||||||
lightlevel = *sector->lightlist[light].lightlevel > 255 ? 255 : *sector->lightlist[light].lightlevel;
|
lightlevel = *sector->lightlist[light].lightlevel > 255 ? 255 : *sector->lightlist[light].lightlevel;
|
||||||
|
|
||||||
if (*sector->lightlist[light].extra_colormap)
|
if (!R_ThingIsFullBright(spr->mobj) && *sector->lightlist[light].extra_colormap)
|
||||||
colormap = *sector->lightlist[light].extra_colormap;
|
colormap = *sector->lightlist[light].extra_colormap;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (!lightset)
|
else if (!lightset)
|
||||||
{
|
{
|
||||||
lightlevel = sector->lightlevel > 255 ? 255 : sector->lightlevel;
|
lightlevel = sector->lightlevel > 255 ? 255 : sector->lightlevel;
|
||||||
|
|
@ -1351,10 +1349,7 @@ boolean HWR_DrawModel(gl_vissprite_t *spr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (R_ThingIsSemiBright(spr->mobj))
|
if (R_ThingIsSemiBright(spr->mobj))
|
||||||
{
|
|
||||||
lightlevel = 128 + (lightlevel>>1);
|
lightlevel = 128 + (lightlevel>>1);
|
||||||
colormap = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
HWR_Lighting(&Surf, lightlevel, colormap);
|
HWR_Lighting(&Surf, lightlevel, colormap);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue