Handle rendering flags for invisible FOFs
This commit is contained in:
parent
fcc7180d5c
commit
fa0918c2f1
16
src/p_spec.c
16
src/p_spec.c
|
@ -7547,11 +7547,13 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
|
||||||
rover->flags |= FF_CUTSOLIDS;
|
rover->flags |= FF_CUTSOLIDS;
|
||||||
rover->target->moved = true;
|
rover->target->moved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
rover->flags &= ~FF_TRANSLUCENT;
|
rover->flags &= ~FF_TRANSLUCENT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rover->flags |= FF_TRANSLUCENT;
|
rover->flags |= FF_TRANSLUCENT;
|
||||||
|
|
||||||
if ((rover->flags & FF_CUTSOLIDS) &&
|
if ((rover->flags & FF_CUTSOLIDS) &&
|
||||||
(rover->spawnflags & FF_CUTSOLIDS))
|
(rover->spawnflags & FF_CUTSOLIDS))
|
||||||
{
|
{
|
||||||
|
@ -7559,6 +7561,15 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
|
||||||
rover->target->moved = true;
|
rover->target->moved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!(rover->spawnflags & FF_RENDERSIDES) &&
|
||||||
|
!(rover->spawnflags & FF_RENDERPLANES))
|
||||||
|
{
|
||||||
|
if (rover->alpha > 1)
|
||||||
|
rover->flags |= FF_RENDERALL;
|
||||||
|
else
|
||||||
|
rover->flags &= ~FF_RENDERALL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -7569,12 +7580,17 @@ static boolean P_FadeFakeFloor(ffloor_t *rover, INT16 destvalue, INT16 speed,
|
||||||
if (dotranslucent)
|
if (dotranslucent)
|
||||||
{
|
{
|
||||||
rover->flags |= FF_TRANSLUCENT;
|
rover->flags |= FF_TRANSLUCENT;
|
||||||
|
|
||||||
if ((rover->flags & FF_CUTSOLIDS) &&
|
if ((rover->flags & FF_CUTSOLIDS) &&
|
||||||
(rover->spawnflags & FF_CUTSOLIDS))
|
(rover->spawnflags & FF_CUTSOLIDS))
|
||||||
{
|
{
|
||||||
rover->flags &= ~FF_CUTSOLIDS;
|
rover->flags &= ~FF_CUTSOLIDS;
|
||||||
rover->target->moved = true;
|
rover->target->moved = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!(rover->spawnflags & FF_RENDERSIDES) &&
|
||||||
|
!(rover->spawnflags & FF_RENDERPLANES))
|
||||||
|
rover->flags |= FF_RENDERALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (docollision)
|
if (docollision)
|
||||||
|
|
Loading…
Reference in a new issue