Move FOF modifier linedef type to the 70s range, to avoid being considered FOFs themselves

This commit is contained in:
MascaraSnake 2020-05-03 08:43:16 +02:00
parent 6949b70dbf
commit 96a464c881
2 changed files with 218 additions and 213 deletions

View file

@ -1516,6 +1516,161 @@ udmf
}
}
fofmodifiers
{
title = "FOF Modifiers";
70
{
title = "Add Raise Thinker";
prefix = "(70)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Speed";
}
arg2
{
title = "Destination height";
}
arg3
{
title = "Require spindash?";
type = 11;
enum = "noyes";
}
}
71
{
title = "Add Air Bobbing Thinker";
prefix = "(71)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Bobbing distance";
}
arg2
{
title = "Flags";
type = 12;
enum
{
1 = "Raise";
2 = "Require spindash";
4 = "Dynamic";
}
}
}
72
{
title = "Add Thwomp Thinker";
prefix = "(72)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Falling speed";
}
arg2
{
title = "Rising speed";
}
stringarg0
{
title = "Crushing sound";
type = 2;
}
}
73
{
title = "Add Laser Thinker";
prefix = "(73)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Damage bosses?";
type = 11;
enum = "yesno";
}
}
74
{
title = "Make FOF Bustable";
prefix = "(74)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Bustable type";
type = 11;
enum
{
0 = "Touch";
1 = "Spin";
2 = "Regular";
3 = "Strong";
}
}
arg2
{
title = "Flags";
type = 12;
enum
{
1 = "Bustable by pushables";
2 = "Trigger linedef executor";
4 = "Only bustable from below";
}
}
arg3
{
title = "Linedef executor tag";
type = 15;
}
}
75
{
title = "Make FOF Quicksand";
prefix = "(75)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Sinking speed";
}
arg2
{
title = "Friction";
}
}
}
fof
{
title = "FOF";
@ -1962,156 +2117,6 @@ udmf
}
}
}
260
{
title = "Add Raise Thinker";
prefix = "(260)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Speed";
}
arg2
{
title = "Destination height";
}
arg3
{
title = "Require spindash?";
type = 11;
enum = "noyes";
}
}
261
{
title = "Add Air Bobbing Thinker";
prefix = "(261)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Bobbing distance";
}
arg2
{
title = "Flags";
type = 12;
enum
{
1 = "Raise";
2 = "Require spindash";
4 = "Dynamic";
}
}
}
262
{
title = "Add Thwomp Thinker";
prefix = "(262)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Falling speed";
}
arg2
{
title = "Rising speed";
}
stringarg0
{
title = "Crushing sound";
type = 2;
}
}
263
{
title = "Add Laser Thinker";
prefix = "(263)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Damage bosses?";
type = 11;
enum = "yesno";
}
}
264
{
title = "Make FOF Bustable";
prefix = "(264)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Bustable type";
type = 11;
enum
{
0 = "Touch";
1 = "Spin";
2 = "Regular";
3 = "Strong";
}
}
arg2
{
title = "Flags";
type = 12;
enum
{
1 = "Bustable by pushables";
2 = "Trigger linedef executor";
4 = "Only bustable from below";
}
}
arg3
{
title = "Linedef executor tag";
type = 15;
}
}
265
{
title = "Make FOF Quicksand";
prefix = "(265)";
arg0
{
title = "Control linedef tag";
type = 15;
}
arg1
{
title = "Sinking speed";
}
arg2
{
title = "Friction";
}
}
}
linedefexecmisc

View file

@ -6617,6 +6617,67 @@ void P_SpawnSpecials(boolean fromnetsave)
P_AddPlaneDisplaceThinker(pd_both, P_AproxDistance(lines[i].dx, lines[i].dy)>>8, sides[lines[i].sidenum[0]].sector-sectors, s, !!(lines[i].flags & ML_NOCLIMB));
break;
case 70: // Add raise thinker to FOF
if (udmf)
{
fixed_t destheight = lines[i].args[2] << FRACBITS;
fixed_t startheight, topheight, bottomheight;
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
startheight = lines[l].frontsector->ceilingheight;
topheight = max(startheight, destheight);
bottomheight = min(startheight, destheight);
P_AddRaiseThinker(lines[l].frontsector, lines[l].args[0], lines[i].args[1] << FRACBITS, topheight, bottomheight, (destheight < startheight), !!(lines[i].args[3]));
}
}
break;
case 71: // Add air bob thinker to FOF
if (udmf)
{
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddAirbob(lines[l].frontsector, lines[l].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));
}
}
break;
case 72: // Add thwomp thinker to FOF
if (udmf)
{
UINT16 sound = (lines[i].stringargs[0]) ? get_number(lines[i].stringargs[0]) : sfx_thwomp;
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddThwompThinker(lines[l].frontsector, lines[l].args[0], &lines[l], lines[i].args[1] << FRACBITS, lines[i].args[2] << FRACBITS, sound);
}
}
break;
case 73: // Add laser thinker to FOF
if (udmf)
{
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddLaserThinker(lines[l].args[0], lines + l, !!(lines[i].args[1]));
}
}
break;
case 100: // FOF (solid)
ffloorflags = FF_EXISTS|FF_SOLID|FF_RENDERALL;
@ -6985,67 +7046,6 @@ void P_SpawnSpecials(boolean fromnetsave)
}
break;
case 260: // Add raise thinker to FOF
if (udmf)
{
fixed_t destheight = lines[i].args[2] << FRACBITS;
fixed_t startheight, topheight, bottomheight;
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
startheight = lines[l].frontsector->ceilingheight;
topheight = max(startheight, destheight);
bottomheight = min(startheight, destheight);
P_AddRaiseThinker(lines[l].frontsector, lines[l].args[0], lines[i].args[1] << FRACBITS, topheight, bottomheight, (destheight < startheight), !!(lines[i].args[3]));
}
}
break;
case 261: // Add air bob thinker to FOF
if (udmf)
{
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddAirbob(lines[l].frontsector, lines[l].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));
}
}
break;
case 262: // Add thwomp thinker to FOF
if (udmf)
{
UINT16 sound = (lines[i].stringargs[0]) ? get_number(lines[i].stringargs[0]) : sfx_thwomp;
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddThwompThinker(lines[l].frontsector, lines[l].args[0], &lines[l], lines[i].args[1] << FRACBITS, lines[i].args[2] << FRACBITS, sound);
}
}
break;
case 263: // Add laser thinker to FOF
if (udmf)
{
for (l = -1; (l = P_FindLineFromTag(lines[i].args[0], l)) >= 0 ;)
{
if (lines[l].special < 100 || lines[l].special >= 300)
continue;
P_AddLaserThinker(lines[l].args[0], lines + l, !!(lines[i].args[1]));
}
}
break;
case 300: // Linedef executor (combines with sector special 974/975) and commands
case 302:
case 303:
@ -7299,7 +7299,7 @@ void P_SpawnSpecials(boolean fromnetsave)
INT32 s;
INT32 l;
case 264: // Make FOF bustable
case 74: // Make FOF bustable
{
UINT8 busttype = BT_REGULAR;
UINT8 bustflags = 0;
@ -7357,7 +7357,7 @@ void P_SpawnSpecials(boolean fromnetsave)
break;
}
case 265: // Make FOF quicksand
case 75: // Make FOF quicksand
{
if (!udmf)
break;