mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-24 21:31:46 +00:00
Move FOF modifier linedef type to the 70s range, to avoid being considered FOFs themselves
This commit is contained in:
parent
6949b70dbf
commit
96a464c881
2 changed files with 218 additions and 213 deletions
|
@ -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
|
fof
|
||||||
{
|
{
|
||||||
title = "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
|
linedefexecmisc
|
||||||
|
|
126
src/p_spec.c
126
src/p_spec.c
|
@ -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));
|
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;
|
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)
|
case 100: // FOF (solid)
|
||||||
ffloorflags = FF_EXISTS|FF_SOLID|FF_RENDERALL;
|
ffloorflags = FF_EXISTS|FF_SOLID|FF_RENDERALL;
|
||||||
|
|
||||||
|
@ -6985,67 +7046,6 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
}
|
}
|
||||||
break;
|
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 300: // Linedef executor (combines with sector special 974/975) and commands
|
||||||
case 302:
|
case 302:
|
||||||
case 303:
|
case 303:
|
||||||
|
@ -7299,7 +7299,7 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
INT32 s;
|
INT32 s;
|
||||||
INT32 l;
|
INT32 l;
|
||||||
|
|
||||||
case 264: // Make FOF bustable
|
case 74: // Make FOF bustable
|
||||||
{
|
{
|
||||||
UINT8 busttype = BT_REGULAR;
|
UINT8 busttype = BT_REGULAR;
|
||||||
UINT8 bustflags = 0;
|
UINT8 bustflags = 0;
|
||||||
|
@ -7357,7 +7357,7 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case 265: // Make FOF quicksand
|
case 75: // Make FOF quicksand
|
||||||
{
|
{
|
||||||
if (!udmf)
|
if (!udmf)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue