Merge branch 'removetwohundredandsixty' into 'next'

Remove generalized FOF type

Closes #1011

See merge request STJr/SRB2!2038
This commit is contained in:
sphere 2023-07-14 13:17:51 +00:00
commit 610ddc034c
2 changed files with 0 additions and 111 deletions

View file

@ -1221,52 +1221,6 @@ udmf
}
}
}
260
{
title = "Generalized 3D Floor";
prefix = "(260)";
id = "Sector_Set3dFloor";
requiresactivation = false;
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Type";
type = 26;
default = 1;
enum
{
1 = "Solid";
2 = "Water";
3 = "Intangible";
}
flags
{
4 = "Render insides";
16 = "Only render insides";
}
}
arg2
{
title = "Flags";
type = 12;
enum
{
1 = "No shadow";
2 = "Double shadow";
4 = "Fog";
}
}
arg3
{
title = "Alpha";
default = 255;
}
}
}
linedeftrigger

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