mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-11-14 17:00:39 +00:00
Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL
This commit is contained in:
parent
8e5ac64d7c
commit
badbb4324e
1 changed files with 9 additions and 3 deletions
|
@ -4228,6 +4228,9 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
|||
i = 0;
|
||||
temp = FLOAT_TO_FIXED(realtop);
|
||||
|
||||
if (spr->mobj->frame & FF_FULLBRIGHT)
|
||||
lightlevel = 255;
|
||||
|
||||
#ifdef ESLOPE
|
||||
for (i = 1; i < sector->numlights; i++)
|
||||
{
|
||||
|
@ -4235,14 +4238,16 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
|||
: sector->lightlist[i].height;
|
||||
if (h <= temp)
|
||||
{
|
||||
lightlevel = *list[i-1].lightlevel;
|
||||
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||
lightlevel = *list[i-1].lightlevel;
|
||||
colormap = list[i-1].extra_colormap;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
i = R_GetPlaneLight(sector, temp, false);
|
||||
lightlevel = *list[i].lightlevel;
|
||||
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||
lightlevel = *list[i].lightlevel;
|
||||
colormap = list[i].extra_colormap;
|
||||
#endif
|
||||
|
||||
|
@ -4257,7 +4262,8 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
|||
// even if we aren't changing colormap or lightlevel, we still need to continue drawing down the sprite
|
||||
if (!(list[i].flags & FF_NOSHADE) && (list[i].flags & FF_CUTSPRITES))
|
||||
{
|
||||
lightlevel = *list[i].lightlevel;
|
||||
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||
lightlevel = *list[i].lightlevel;
|
||||
colormap = list[i].extra_colormap;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue