Fix fog visual glitch with fading
This commit is contained in:
parent
0202bbcfd3
commit
9cc186441b
|
@ -7481,6 +7481,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed, bo
|
||||||
// initialize its alpha to 1
|
// initialize its alpha to 1
|
||||||
if (dotranslucent &&
|
if (dotranslucent &&
|
||||||
(rover->spawnflags & FF_NOSHADE) && // do not include light blocks, which don't set FF_NOSHADE
|
(rover->spawnflags & FF_NOSHADE) && // do not include light blocks, which don't set FF_NOSHADE
|
||||||
|
!(rover->flags & FF_FOG) && // do not include fog
|
||||||
!(rover->spawnflags & FF_RENDERSIDES) &&
|
!(rover->spawnflags & FF_RENDERSIDES) &&
|
||||||
!(rover->spawnflags & FF_RENDERPLANES) &&
|
!(rover->spawnflags & FF_RENDERPLANES) &&
|
||||||
!(rover->flags & FF_RENDERALL))
|
!(rover->flags & FF_RENDERALL))
|
||||||
|
@ -7572,7 +7573,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed, bo
|
||||||
rover->target->moved = true;
|
rover->target->moved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dotranslucent)
|
if (dotranslucent && !(rover->flags & FF_FOG))
|
||||||
{
|
{
|
||||||
if (alpha >= 256)
|
if (alpha >= 256)
|
||||||
{
|
{
|
||||||
|
@ -7619,7 +7620,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed, bo
|
||||||
rover->flags |= FF_EXISTS;
|
rover->flags |= FF_EXISTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dotranslucent)
|
if (dotranslucent && !(rover->flags & FF_FOG))
|
||||||
{
|
{
|
||||||
rover->flags |= FF_TRANSLUCENT;
|
rover->flags |= FF_TRANSLUCENT;
|
||||||
|
|
||||||
|
@ -7667,6 +7668,8 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed, bo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!(rover->flags & FF_FOG)) // don't set FOG alpha
|
||||||
|
{
|
||||||
if (!stillfading || exactalpha)
|
if (!stillfading || exactalpha)
|
||||||
rover->alpha = alpha;
|
rover->alpha = alpha;
|
||||||
else // clamp fadingdata->alpha to software's alpha levels
|
else // clamp fadingdata->alpha to software's alpha levels
|
||||||
|
@ -7694,6 +7697,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed, bo
|
||||||
else // Opaque
|
else // Opaque
|
||||||
rover->alpha = destvalue >= 243 ? destvalue : 256;
|
rover->alpha = destvalue >= 243 ? destvalue : 256;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (fadingdata)
|
if (fadingdata)
|
||||||
fadingdata->alpha = alpha;
|
fadingdata->alpha = alpha;
|
||||||
|
|
Loading…
Reference in a new issue