When detecting invisible FOFs, don't include light blocks

This commit is contained in:
mazmazz 2018-09-08 20:06:48 -04:00
parent 3858a93cfa
commit 3eb7c3931e

View file

@ -7466,6 +7466,7 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
// If fading an invisible FOF whose render flags we did not yet set, // If fading an invisible FOF whose render flags we did not yet set,
// 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_RENDERSIDES) && !(rover->spawnflags & FF_RENDERSIDES) &&
!(rover->spawnflags & FF_RENDERPLANES) && !(rover->spawnflags & FF_RENDERPLANES) &&
!(rover->flags & FF_RENDERALL)) !(rover->flags & FF_RENDERALL))
@ -7570,7 +7571,8 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
} }
} }
if (!(rover->spawnflags & FF_RENDERSIDES) && if ((rover->spawnflags & FF_NOSHADE) && // do not include light blocks, which don't set FF_NOSHADE
!(rover->spawnflags & FF_RENDERSIDES) &&
!(rover->spawnflags & FF_RENDERPLANES)) !(rover->spawnflags & FF_RENDERPLANES))
{ {
if (rover->alpha > 1) if (rover->alpha > 1)
@ -7596,7 +7598,8 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
rover->target->moved = true; rover->target->moved = true;
} }
if (!(rover->spawnflags & FF_RENDERSIDES) && if ((rover->spawnflags & FF_NOSHADE) && // do not include light blocks, which don't set FF_NOSHADE
!(rover->spawnflags & FF_RENDERSIDES) &&
!(rover->spawnflags & FF_RENDERPLANES)) !(rover->spawnflags & FF_RENDERPLANES))
rover->flags |= FF_RENDERALL; rover->flags |= FF_RENDERALL;
} }
@ -7690,6 +7693,7 @@ static void P_AddFakeFloorFader(ffloor_t *rover, size_t sectornum, size_t ffloor
// If fading an invisible FOF whose render flags we did not yet set, // If fading an invisible FOF whose render flags we did not yet set,
// 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_RENDERSIDES) && !(rover->spawnflags & FF_RENDERSIDES) &&
!(rover->spawnflags & FF_RENDERPLANES) && !(rover->spawnflags & FF_RENDERPLANES) &&
!(rover->flags & FF_RENDERALL)) !(rover->flags & FF_RENDERALL))