Trim down options for the bobbing FOF preset types

This commit is contained in:
MascaraSnake 2020-06-12 17:48:43 +02:00
parent 5f9af65aa0
commit 06b581dcdf
3 changed files with 8 additions and 104 deletions

View file

@ -1822,21 +1822,10 @@ udmf
type = 13; type = 13;
} }
arg1 arg1
{
title = "Alpha";
default = 255;
}
arg2
{
title = "Cut cyan flat pixels?";
type = 11;
enum = "noyes";
}
arg3
{ {
title = "Bobbing distance"; title = "Bobbing distance";
} }
arg4 arg2
{ {
title = "Flags"; title = "Flags";
type = 12; type = 12;
@ -1847,12 +1836,6 @@ udmf
4 = "Dynamic"; 4 = "Dynamic";
} }
} }
arg5
{
title = "Tangibility";
type = 12;
enum = "tangibility";
}
} }
160 160
@ -1864,23 +1847,6 @@ udmf
title = "Target sector tag"; title = "Target sector tag";
type = 13; type = 13;
} }
arg1
{
title = "Alpha";
default = 255;
}
arg2
{
title = "Cut cyan flat pixels?";
type = 11;
enum = "noyes";
}
arg3
{
title = "Tangibility";
type = 12;
enum = "tangibility";
}
} }
170 170

View file

@ -3142,37 +3142,20 @@ static void P_ConvertBinaryMap(void)
case 152: //FOF: Reverse air bobbing (adjustable) case 152: //FOF: Reverse air bobbing (adjustable)
case 153: //FOF: Dynamically sinking platform case 153: //FOF: Dynamically sinking platform
lines[i].args[0] = lines[i].tag; lines[i].args[0] = lines[i].tag;
lines[i].args[1] = 255; lines[i].args[1] = (lines[i].special == 150) ? 16 : (P_AproxDistance(lines[i].dx, lines[i].dy) >> FRACBITS);
lines[i].args[2] = !!(lines[i].flags & ML_EFFECT6);
lines[i].args[3] = (lines[i].special == 150) ? 16 : (P_AproxDistance(lines[i].dx, lines[i].dy) >> FRACBITS);
//Flags //Flags
if (lines[i].special == 152) if (lines[i].special == 152)
lines[i].args[4] |= TMFB_REVERSE; lines[i].args[2] |= TMFB_REVERSE;
if (lines[i].flags & ML_NOCLIMB) if (lines[i].flags & ML_NOCLIMB)
lines[i].args[4] |= TMFB_SPINDASH; lines[i].args[2] |= TMFB_SPINDASH;
if (lines[i].special == 153) if (lines[i].special == 153)
lines[i].args[4] |= TMFB_DYNAMIC; lines[i].args[2] |= TMFB_DYNAMIC;
//Tangibility
if (lines[i].flags & ML_EFFECT1)
lines[i].args[5] |= TMFT_DONTBLOCKOTHERS;
if (lines[i].flags & ML_EFFECT2)
lines[i].args[5] |= TMFT_DONTBLOCKPLAYER;
lines[i].special = 150; lines[i].special = 150;
break; break;
case 160: //FOF: Water bobbing case 160: //FOF: Water bobbing
lines[i].args[0] = lines[i].tag; lines[i].args[0] = lines[i].tag;
lines[i].args[1] = 255;
lines[i].args[2] = !!(lines[i].flags & ML_EFFECT6);
//Tangibility
if (lines[i].flags & ML_EFFECT1)
lines[i].args[3] |= TMFT_DONTBLOCKOTHERS;
if (lines[i].flags & ML_EFFECT2)
lines[i].args[3] |= TMFT_DONTBLOCKPLAYER;
break; break;
case 170: //FOF: Crumbling, respawn case 170: //FOF: Crumbling, respawn
case 171: //FOF: Crumbling, no respawn case 171: //FOF: Crumbling, no respawn

View file

@ -6667,57 +6667,12 @@ void P_SpawnSpecials(boolean fromnetsave)
break; break;
case 150: // FOF (Air bobbing) case 150: // FOF (Air bobbing)
ffloorflags = FF_EXISTS|FF_SOLID|FF_RENDERALL; P_AddFakeFloorsByLine(i, 0xff, FF_EXISTS|FF_SOLID|FF_RENDERALL, secthinkers);
P_AddAirbob(lines[i].frontsector, lines[i].args[0], lines[i].args[1] << FRACBITS, !!(lines[i].args[2] & TMFB_REVERSE), !!(lines[i].args[2] & TMFB_SPINDASH), !!(lines[i].args[2] & TMFB_DYNAMIC));
if (lines[i].args[2])
ffloorflags |= FF_SPLAT;
//Tangibility settings
if (lines[i].args[5] & TMFT_INTANGIBLETOP)
ffloorflags |= FF_REVERSEPLATFORM;
if (lines[i].args[5] & TMFT_INTANGIBLEBOTTOM)
ffloorflags |= FF_PLATFORM;
if (lines[i].args[5] & TMFT_DONTBLOCKPLAYER)
ffloorflags &= ~FF_BLOCKPLAYER;
if (lines[i].args[5] & TMFT_DONTBLOCKOTHERS)
ffloorflags &= ~FF_BLOCKOTHERS;
//If player can enter it, cut inner walls
if (lines[i].args[5] & TMFT_VISIBLEFROMINSIDE)
ffloorflags |= FF_CUTEXTRA|FF_EXTRA;
else
ffloorflags |= FF_CUTLEVEL;
P_AddFakeFloorsByLine(i, lines[i].args[1], ffloorflags, secthinkers);
P_AddAirbob(lines[i].frontsector, lines[i].args[0], lines[i].args[3] << FRACBITS, !!(lines[i].args[4] & TMFB_REVERSE), !!(lines[i].args[4] & TMFB_SPINDASH), !!(lines[i].args[4] & TMFB_DYNAMIC));
break; break;
case 160: // FOF (Water bobbing) case 160: // FOF (Water bobbing)
ffloorflags = FF_EXISTS|FF_SOLID|FF_RENDERALL|FF_FLOATBOB; P_AddFakeFloorsByLine(i, 0xff, FF_EXISTS|FF_SOLID|FF_RENDERALL|FF_FLOATBOB, secthinkers);
if (lines[i].args[2])
ffloorflags |= FF_SPLAT;
//Tangibility settings
if (lines[i].args[3] & TMFT_INTANGIBLETOP)
ffloorflags |= FF_REVERSEPLATFORM;
if (lines[i].args[3] & TMFT_INTANGIBLEBOTTOM)
ffloorflags |= FF_PLATFORM;
if (lines[i].args[3] & TMFT_DONTBLOCKPLAYER)
ffloorflags &= ~FF_BLOCKPLAYER;
if (lines[i].args[3] & TMFT_DONTBLOCKOTHERS)
ffloorflags &= ~FF_BLOCKOTHERS;
//If player can enter it, render insides
if (lines[i].args[3] & TMFT_VISIBLEFROMINSIDE)
{
if (ffloorflags & FF_RENDERPLANES)
ffloorflags |= FF_BOTHPLANES;
if (ffloorflags & FF_RENDERSIDES)
ffloorflags |= FF_ALLSIDES;
}
P_AddFakeFloorsByLine(i, lines[i].args[1], ffloorflags, secthinkers);
break; break;
case 170: // FOF (Crumbling) case 170: // FOF (Crumbling)