mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-20 00:11:19 +00:00
Correct flags for partially intangible FOFs
This commit is contained in:
parent
9b296a1547
commit
66cc6a5f44
1 changed files with 12 additions and 13 deletions
25
src/p_spec.c
25
src/p_spec.c
|
@ -6565,10 +6565,10 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
//Cutting options
|
//Cutting options
|
||||||
if (ffloorflags & FOF_RENDERALL)
|
if (ffloorflags & FOF_RENDERALL)
|
||||||
{
|
{
|
||||||
//If inside is visible, cut inner walls
|
//If inside is visible from the outside, cut inner walls
|
||||||
if ((lines[i].args[1] < 255) || (lines[i].args[3] & TMFA_SPLAT) || (lines[i].args[4] & TMFT_VISIBLEFROMINSIDE))
|
if (lines[i].args[1] < 255 || (lines[i].args[3] & TMFA_SPLAT))
|
||||||
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
||||||
else
|
else if (!(lines[i].args[3] & TMFT_VISIBLEFROMINSIDE))
|
||||||
ffloorflags |= FOF_CUTLEVEL;
|
ffloorflags |= FOF_CUTLEVEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6624,20 +6624,19 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
if (lines[i].args[4] & TMFC_SPLAT)
|
if (lines[i].args[4] & TMFC_SPLAT)
|
||||||
ffloorflags |= FOF_SPLAT;
|
ffloorflags |= FOF_SPLAT;
|
||||||
|
|
||||||
//If inside is visible, cut inner walls
|
//If inside is visible from the outside, cut inner walls
|
||||||
if (lines[i].args[1] < 0xff || (lines[i].args[3] & TMFT_VISIBLEFROMINSIDE) || (lines[i].args[4] & TMFC_SPLAT))
|
if (lines[i].args[1] < 255 || (lines[i].args[4] & TMFC_SPLAT))
|
||||||
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
||||||
else
|
//If player can view it from the inside, render insides
|
||||||
ffloorflags |= FOF_CUTLEVEL;
|
else if (lines[i].args[3] & TMFT_VISIBLEFROMINSIDE)
|
||||||
|
|
||||||
//If player can enter it, render insides
|
|
||||||
if (lines[i].args[3] & TMFT_VISIBLEFROMINSIDE)
|
|
||||||
{
|
{
|
||||||
if (ffloorflags & FOF_RENDERPLANES)
|
if (ffloorflags & FOF_RENDERPLANES)
|
||||||
ffloorflags |= FOF_BOTHPLANES;
|
ffloorflags |= FOF_BOTHPLANES;
|
||||||
if (ffloorflags & FOF_RENDERSIDES)
|
if (ffloorflags & FOF_RENDERSIDES)
|
||||||
ffloorflags |= FOF_ALLSIDES;
|
ffloorflags |= FOF_ALLSIDES;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
ffloorflags |= FOF_CUTLEVEL;
|
||||||
|
|
||||||
P_AddFakeFloorsByLine(i, lines[i].args[1], lines[i].args[2], ffloorflags, secthinkers);
|
P_AddFakeFloorsByLine(i, lines[i].args[1], lines[i].args[2], ffloorflags, secthinkers);
|
||||||
if (lines[i].args[4] & TMFC_AIRBOB)
|
if (lines[i].args[4] & TMFC_AIRBOB)
|
||||||
|
@ -6688,10 +6687,10 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
//Cutting options
|
//Cutting options
|
||||||
if (ffloorflags & FOF_RENDERALL)
|
if (ffloorflags & FOF_RENDERALL)
|
||||||
{
|
{
|
||||||
//If inside is visible, cut inner walls
|
//If inside is visible from the outside, cut inner walls
|
||||||
if ((lines[i].args[1] < 255) || (lines[i].args[3] & TMFA_SPLAT) || (lines[i].args[4] & TMFT_VISIBLEFROMINSIDE))
|
if (lines[i].args[1] < 255 || (lines[i].args[3] & TMFA_SPLAT))
|
||||||
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
ffloorflags |= FOF_CUTEXTRA|FOF_EXTRA;
|
||||||
else
|
else if (!(lines[i].args[3] & TMFT_VISIBLEFROMINSIDE))
|
||||||
ffloorflags |= FOF_CUTLEVEL;
|
ffloorflags |= FOF_CUTLEVEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue