Remove generalized FOF type (linedef action 260)

This commit is contained in:
spherallic 2023-07-06 18:11:52 +02:00
parent d7a84b967c
commit 49528c1558

View file

@ -6880,71 +6880,6 @@ void P_SpawnSpecials(boolean fromnetsave)
}
break;
case 260: // GZDoom-like 3D Floor.
{
UINT8 dtype = lines[i].args[1] & 3;
UINT8 dflags1 = lines[i].args[1] - dtype;
UINT8 dflags2 = lines[i].args[2];
UINT8 dopacity = lines[i].args[3];
boolean isfog = false;
if (dtype == 0)
dtype = 1;
ffloorflags = FOF_EXISTS;
if (dflags2 & 1) ffloorflags |= FOF_NOSHADE; // Disable light effects (Means no shadowcast)
if (dflags2 & 2) ffloorflags |= FOF_DOUBLESHADOW; // Restrict light inside (Means doubleshadow)
if (dflags2 & 4) isfog = true; // Fog effect (Explicitly render like a fog block)
if (dflags1 & 4) ffloorflags |= FOF_BOTHPLANES|FOF_ALLSIDES; // Render-inside
if (dflags1 & 16) ffloorflags |= FOF_INVERTSIDES|FOF_INVERTPLANES; // Invert visibility rules
// Fog block
if (isfog)
ffloorflags |= FOF_RENDERALL|FOF_CUTEXTRA|FOF_CUTSPRITES|FOF_BOTHPLANES|FOF_EXTRA|FOF_FOG|FOF_INVERTPLANES|FOF_ALLSIDES|FOF_INVERTSIDES;
else
{
ffloorflags |= FOF_RENDERALL;
// Solid
if (dtype == 1)
ffloorflags |= FOF_SOLID|FOF_CUTLEVEL;
// Water
else if (dtype == 2)
ffloorflags |= FOF_SWIMMABLE|FOF_CUTEXTRA|FOF_CUTSPRITES|FOF_EXTRA|FOF_RIPPLE;
// Intangible
else if (dtype == 3)
ffloorflags |= FOF_CUTEXTRA|FOF_CUTSPRITES|FOF_EXTRA;
}
// Non-opaque
if (dopacity < 255)
{
// Invisible
if (dopacity == 0)
{
// True invisible
if (ffloorflags & FOF_NOSHADE)
ffloorflags &= ~(FOF_RENDERALL|FOF_CUTEXTRA|FOF_CUTSPRITES|FOF_EXTRA|FOF_BOTHPLANES|FOF_ALLSIDES|FOF_CUTLEVEL);
// Shadow block
else
{
ffloorflags |= FOF_CUTSPRITES;
ffloorflags &= ~(FOF_RENDERALL|FOF_CUTEXTRA|FOF_EXTRA|FOF_BOTHPLANES|FOF_ALLSIDES|FOF_CUTLEVEL);
}
}
else
{
ffloorflags |= FOF_TRANSLUCENT|FOF_CUTEXTRA|FOF_EXTRA;
ffloorflags &= ~FOF_CUTLEVEL;
}
}
P_AddFakeFloorsByLine(i, dopacity, TMB_TRANSLUCENT, ffloorflags, secthinkers);
}
break;
case 300: // Trigger linedef executor
case 303: // Count rings
case 305: // Character ability