User:MascaraSnake/UDMF/Documentation

From SRB2 Wiki
Jump to navigation Jump to search

This page documents the current state of the UDMF implementation.

Fields

Fields without a default are mandatory. If they are omitted, the map will fail to load.

Linedef

Name Type Description Default
id Integer Tag 0
moreids String Additional tags, specified as a space-separated list, e.g., "2 666 1003 4505" empty
v1 Integer Index of first vertex none
v2 Integer Index of second vertex none
sidefront Integer Front sidedef index none
sideback Integer Back sidedef index -1
alpha Float Translucency 1.0
blendmode String Blending mode (Alias: renderstyle). Possible values:
  • "translucent"
  • "add"
  • "subtract"
  • "reversesubtract"
  • "modulate"
  • "fog"
"translucent"
executordelay Integer Linedef executor delay (in tics) 0
Action
special Integer Linedef action aka linedef type 0
arg0 Integer Action argument 0 0
arg1 Integer Action argument 1 0
arg2 Integer Action argument 2 0
arg3 Integer Action argument 3 0
arg4 Integer Action argument 4 0
arg5 Integer Action argument 5 0
arg6 Integer Action argument 6 0
arg7 Integer Action argument 7 0
arg8 Integer Action argument 8 0
arg9 Integer Action argument 9 0
stringarg0 String Action string argument 0 null
stringarg1 String Action string argument 1 null
Flags
blocking Boolean Impassable false
blockmonsters Boolean Block Enemies false
twosided Boolean Double-Sided false
dontpegtop Boolean Upper Unpegged false
dontpegbottom Boolean Lower Unpegged. Unlike in binary, this does not affect pegging of the middle texture. false
skewtd Boolean Slope Skew false
noclimb Boolean Not Climbable false
noskew Boolean No Midtexture Skew false
midpeg Boolean Peg Midtexture false
midsolid Boolean Solid Midtexture false
wrapmidtex Boolean Repeat Midtexture false
nonet Boolean No Netgame false
netonly Boolean Netgame Only false
bouncy Boolean Bouncy Wall false
transfer Boolean Transfer Line false

Sidedef

Name Type Description Default
offsetx Integer Texture X offset 0
offsety Integer Texture Y offset 0
texturetop String Upper texture -
texturebottom String Lower texture -
texturemiddle String Middle texture -
sector String Sector index none
repeatcnt Integer Number of middle texture repetitions 0

Vertex

Name Type Description Default
x Float X coordinate none
y Float Y coordinate none
zfloor Float Floor Z coordinate none (use sector's floor height)
zceiling Float Ceiling Z coordinate none (use sector's ceiling height)

Sector

Name Type Description Default
heightfloor Integer Floor height 0
heightceiling Integer Ceiling height 0
texturefloor String Floor flat -
textureceiling String Ceiling flat -
id Integer Tag 0
moreids String Additional tags, specified as a space-separated list, e.g., "2 666 1003 4505" empty
xpanningfloor Float Floor texture X offset 0.0
ypanningfloor Float Floor texture Y offset 0.0
xpanningceiling Float Ceiling texture X offset 0.0
ypanningceiling Float Ceiling texture Y offset 0.0
rotationfloor Float Floor texture rotation in degrees 0.0
rotationceiling Float Ceiling texture rotation in degrees 0.0
ceilingplane_a Float Used for defining a ceiling slope via equation 0.0
ceilingplane_b Float Used for defining a ceiling slope via equation 0.0
ceilingplane_c Float Used for defining a ceiling slope via equation 0.0
ceilingplane_d Float Used for defining a ceiling slope via equation 0.0
floorplane_a Float Used for defining a floor slope via equation 0.0
floorplane_b Float Used for defining a floor slope via equation 0.0
floorplane_c Float Used for defining a floor slope via equation 0.0
floorplane_d Float Used for defining a floor slope via equation 0.0
friction Float Friction 0.90625
gravity Float Gravity 1.0
Lighting and colormap
lightlevel Integer Light level 255
lightfloor Integer Floor's light level, relative to sector's light level 0
lightceiling Integer Ceiling's light level, relative to sector's light level 0
lightfloorabsolute Boolean Floor's light level is an absolute value False
lightceilingabsolute Boolean Ceiling's light level is an absolute value False
lightcolor Integer Light color: Color displayed at full brightness 0.0
lightalpha Integer Light color intensity 25
fadecolor Integer Fade color: Color displayed at full darkness 0.0
fadealpha Integer Fade color intensity 25
fadestart Integer Start of colormap fading range 0
fadeend Integer End of colormap fading range 31
colormapfog Boolean Use fog-like plane lighting for colormap? False
colormapfadesprites Boolean Fade fullbright sprites in colormap? False
colormapprotected Boolean Colormap cannot be changed by a linedef effect? False
Special effects
damagetype String Type of damage inflicted by this sector. Possible values: "None"
triggertag Integer Tag of a linedef executor trigger to run when this sector is entered, or 0 if none should be run 0
triggerer String Who needs to enter the sector in order to trigger linedef executors via triggertag? Possible values:
  • "Player": One player
  • "AllPlayers": All players
  • "Mobj": A pushable (or any object with a thinker if triggerline_mobj is checked)
0
outerspace Boolean Space Countdown False
doublestepup Boolean Ramp Sector (double step-up) False
nostepdown Boolean Non-Ramp Sector (no step-down) False
speedpad Boolean Speed Pad False
starpostactivator Boolean Star Post Activator False
exit Boolean Exit Sector False
specialstagepit Boolean Special Stage Pit False
returnflag Boolean CTF Flag Return False
redteambase Boolean CTF Red Team Base False
blueteambase Boolean CTF Blue Team Base False
fan Boolean Fan Sector False
supertransform Boolean Super Sonic Transform False
forcespin Boolean Force Spin False
zoomtubestart Boolean Zoom Tube Start False
zoomtubeend Boolean Zoom Tube End False
finishline Boolean Circuit Finish Line False
ropehang Boolean Rope Hang False
jumpflip Boolean Flip Gravity on Jump False
gravityoverride Boolean Make Reverse Gravity Temporary False
Flags affecting special effects
flipspecial_nofloor Boolean "Plane touch" special effects do not trigger when touching the floor? False
flipspecial_ceiling Boolean "Plane touch" special effects trigger when touching the ceiling? False
triggerspecial_touch Boolean Special effects trigger when touching the edge of the sector? False
triggerspecial_headbump Boolean "Plane touch" special effects trigger even when the triggering object is in opposite gravity? False
triggerline_plane Boolean Linedef executor triggers require plane touch? False
triggerline_mobj Boolean Non-pushable objects with a thinker can trigger linedef executors while they are in this sector?
Note that this doesn't just apply to triggers on the sector itself, but also triggers on FOFs and PolyObjects that affect this sector.
False
Other flags
invertprecip Boolean Inverts the presence of precipitation in this sector (i.e., it only shows up when the sector is indoors) False
gravityflip Boolean Are objects in this sector flipped if gravity is negative? False
heatwave Boolean Apply heat wave visual effect? False
noclipcamera Boolean Intangible to the Camera? False

Thing

Name Type Description Default
id Integer Tag 0
moreids String Additional tags, specified as a space-separated list, e.g., "2 666 1003 4505" empty
x Float X coordinate 0.0
y Float Y coordinate 0.0
height Float Height/Z position relative to the floor (or ceiling if flipped) 0
angle Integer Angle in degrees 0
pitch Integer Pitch in degrees 0
roll Integer Roll in degrees 0
scale Float Scale (Aliases: scalex, scaley) 1.0
type Integer Thing type 0
arg0 Integer Argument 0 0
arg1 Integer Argument 1 0
arg2 Integer Argument 2 0
arg3 Integer Argument 3 0
arg4 Integer Argument 4 0
arg5 Integer Argument 5 0
arg6 Integer Argument 6 0
arg7 Integer Argument 7 0
arg8 Integer Argument 8 0
arg9 Integer Argument 9 0
stringarg0 String String argument 0 null
stringarg1 String String argument 1 null
flip Boolean Flip flag false

Linedef types

Linedef type 1 (Per-Sector Gravity)

Removed in UDMF in favor of the gravity sector field and the gravityflip sector flag. They can be changed at runtime with linedef type 469.

Linedef type 2 (Custom Exit)

Setup:

  • Tag: Tag of associated Exit Sector
  • arg0: Next map
  • arg1: Flags
    • 1 = Skip score tally
    • 2 = Check emeralds
  • arg2: Next map if emerald check is enabled and the player has all emeralds

Linedef type 3 (Zoom Tube Parameters)

Setup:

Linedef type 4 (Speed Pad Parameters)

Setup:

  • Tag: Tag of associated Speed Pad sector (if 0, apply to front sector)
  • Linedef direction: Direction
  • arg0: Speed
  • arg1: Flags
    • 1 = Don't teleport player to sector center
    • 2 = Force spinning frames
  • stringarg0: Sound (default: sfx_spdpad)

Linedef type 5 (Camera Scanner)

Deprecated in binary and removed in UDMF.

Linedef type 7 (Sector Flat Alignment)

Setup:

  • arg0: Target sector tag (if 0, apply to front sector)
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both (default)

Linedef type 8 (Set Camera Collision Planes)

Sector flags settings are removed in UDMF because they are set directly on the sector.

Setup:

  • arg0: Target sector tag
  • Control sector floor height: Collision floor height
  • Control sector ceiling height: Collision ceiling height

Linedef type 9 (Chain Parameters)

Removed in UDMF because the parameters are now specified directly on the Thing.

Linedef type 10 (Culling Plane)

Setup:

  • arg0: Target sector tag
  • arg1: Culling behavior
    • 0 = Always
    • 1 = Only while in sector

Linedef type 11 (Rope Hang Parameters)

Setup:

  • Tag: Tag of associated Rope Hang sector
  • arg0: Speed
  • arg1: Sequence
  • arg2: Loop movement?
    • 0 = Yes
    • 1 = No

Linedef type 12 (Rock Spawner Parameters)

Removed in UDMF because the parameters are now specified directly on the Rock Spawner Thing.

Linedef type 13 (Heat Wave Effect)

Removed in UDMF in favor of the heatwave sector flag.

Linedef type 14 (Bustable Block Parameters)

Setup:

  • Tag: Tag of FOF control sector
  • arg0: Debris spacing (default: 32 fracunits)
  • arg1: Debris lifetime (in tics) (default: 105 tics)
  • arg2: Launch from center?
    • 0 = No
    • 1 = Yes
  • stringarg0: Debris Object type (default: MT_ROCKCRUMBLE1)

Linedef type 15 (Fan Particle Generator Heights)

Setup:

  • Tag: arg6 of Fan Particle Generator Thing
  • Control sector floor/ceiling height: Heights between which the particle is bound

Linedef type 16 (Minecart Parameters)

Setup:

  • Tag: Tag of minecart sector (if 0, apply to front sector)
  • arg0: Order

Linedef type 20 (First Line)

Linedef type 22 and PolyObject Spawn Point (Crush) are removed and their options are moved to linedef type 20.

Setup:

  • arg0: PolyObject ID
  • arg1: Parent PolyObject ID
  • arg2: Translucency level (0–10)
  • arg3: Flags
    • 1 = Don't render insides
    • 2 = Intangible
    • 4 = Movement can be stopped by pushable Objects
    • 8 = Don't render planes
    • 16 = Triggers linedef executor when a player lands on it
    • 32 = Crush players
    • 64 = Cut cyan flat pixels
  • arg4: Tag of trigger linedef to call

Linedef type 30 (Waving Flag)

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Distance

Linedef type 31 (Displacement by Front Sector)

Setup:

  • arg0: PolyObject ID
  • arg1: Base speed

Linedef type 32 (Angular Displacement by Front Sector)

Setup:

  • arg0: PolyObject ID
  • arg1: Plane translation factor (default: 128)
  • arg2: Rotation translation factor (default: 90)
  • arg3: Flags
    • 1 = Don't turn non-player Objects
    • 2 = Turn players

Linedef type 40 (Visual Portal Between Tagged Linedefs)

Setup:

  • Tag: Tag of other portal linedef

Linedef type 41 (Horizon Effect)

Has no parameters.

Linedef type 52 (Continuously Falling Sector)

Setup:

  • arg0: Speed
  • arg1: Direction
    • 0 = Fall
    • 1 = Rise
  • Front sector floor/ceiling: Starting point
  • Back sector floor/ceiling: Ending point

Linedef type 53 (Continuous Plane Mover (Slowdown))

Merges binary linedef types 53–55.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Forward speed
  • arg3: Return speed
  • arg4: Starting delay (in tics)
  • arg5: Delay before flip (in tics)
  • Front sector floor/ceiling: Starting point
  • Back sector floor/ceiling: Ending point

Linedef type 56 (Continuous Plane Mover (Constant))

Merges binary linedef types 56–58.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Forward speed
  • arg3: Return speed
  • arg4: Starting delay (in tics)
  • arg5: Delay before flip (in tics)
  • Front sector floor/ceiling: Starting point
  • Back sector floor/ceiling: Ending point

Linedef type 60 (Activate Moving Platform)

Merges binary linedef types 59 and 60.

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Starting delay (in tics)
  • arg3: Delay before flip (in tics)
  • arg4: Starting direction
    • 0 = Down
    • 1 = Up
  • Highest surrounding floor/ceiling: Top height
  • Lowest surrounding floor/ceiling: Bottom height

Linedef type 61 (Ceiling Crusher)

Merges binary linedef types 61 and 62.

Setup:

  • arg0: Target sector tag
  • arg1: Starting direction
    • 0 = Crush
    • 1 = Retract
  • arg2: Crush speed
  • arg3: Retract speed
  • Highest surrounding floor/ceiling: Top height
  • Lowest surrounding floor/ceiling: Bottom height

Linedef type 63 (Fake Floor/Ceiling Planes)

Setup:

  • arg0: Target sector tag
  • Control sector floor height: Displayed floor height
  • Control sector ceiling height: Displayed ceiling height

Linedef type 64 (Continuously Appearing/Disappearing FOF)

Setup:

  • arg0: Tag of FOF control linedef
  • arg1: Tag of FOF control sector
  • arg2: On time (in tics)
  • arg3: Off time (in tics)
  • arg4: Initial delay (in tics)
  • arg5: Play sound?
    • 0 = Yes
    • 1 = No

Linedef type 66 (Move Planes by Displacement)

Merges binary linedef types 66–68.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Translation factor (default: 256)

Linedef type 70 (Add Raise Thinker)

Exclusive to UDMF. Adds a raise thinker to the tagged FOF. You only need to specify the destination height. It will return to the FOF's original height when you step off.

Setup:

  • arg0: Control linedef tag
  • arg1: Speed
  • arg2: Destination height
  • arg3: Require spindash?
    • 0 = No
    • 1 = Yes

Linedef type 71 (Add Air Bobbing Thinker)

Exclusive to UDMF. Adds an air bobbing thinker to the tagged FOF.

Setup:

  • arg0: Control linedef tag
  • arg1: Bobbing distance
  • arg2: Flags
    • 1 = Raise
    • 2 = Require spindash
    • 4 = Dynamic

Linedef type 72 (Add Thwomp Thinker)

Exclusive to UDMF. Adds a Thwomp thinker to the tagged FOF.

Setup:

  • arg0: Control linedef tag
  • arg1: Falling speed
  • arg2: Rising speed
  • stringarg0: Crushing sound (default: sfx_thwomp)

Linedef type 73 (Add Laser Thinker)

Exclusive to UDMF. Adds a laser thinker to the tagged FOF.

Setup:

  • arg0: Control linedef tag
  • arg1: Damage bosses?
    • 0 = Yes
    • 1 = No

Linedef type 74 (Make FOF Bustable)

Exclusive to UDMF. Makes the tagged FOF bustable.

Setup:

  • arg0: Control linedef tag
  • arg1: Bustable type
    • 0 = Touch
    • 1 = Spin
    • 2 = Regular
    • 3 = Strong
  • arg2: Flags
    • 1 = Bustable by pushables
    • 2 = Trigger linedef executor
    • 4 = Only from below
  • arg3: Linedef executor tag

Linedef type 75 (Make FOF Quicksand)

Exclusive to UDMF. Turns the tagged FOF into quicksand.

Setup:

  • arg0: Control linedef tag
  • arg1: Sinking speed
  • arg2: Friction

Linedef type 76 (Make FOF Bouncy)

Replaces the Bouncy FOF sector type.

Setup:

  • arg0: Control linedef tag (in binary: Control sector tag)
  • arg1: Bounce strength

Linedef types 96–99 (Apply tags)

Not needed in UDMF because additional tags can be set directly with the moreids field.

Linedef type 100 (Solid)

Merges linedef types 100–105 and 140–146.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Appearance flags
    • 1 = Don't render planes
    • 2 = Don't render sides
    • 4 = Render insides
    • 8 = Render only insides
    • 16 = No shadow
    • 32 = Cut cyan flat pixels
  • arg4: Tangibility flags
    • 1 = Intangible from top
    • 2 = Intangible from bottom
    • 4 = Don't block players
    • 8 = Don't block non-players

Linedef type 120 (Water)

Merges linedef types 120–125.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 128)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Flags
    • 1 = Don't render sides
    • 2 = Render separate light level
    • 4 = Use target light level
    • 8 = No ripple effect
    • 16 = Goo physics
    • 32 = Cut cyan flat pixels

Linedef type 150 (Air Bobbing)

Merges linedef types 150–153.

Setup:

  • arg0: Target sector tag
  • arg1: Bobbing distance
  • arg2: Flags
    • 1 = Raise
    • 2 = Require spindash
    • 4 = Dynamic

Linedef type 160 (Floating, Bobbing)

Setup:

  • arg0: Target sector tag

Linedef type 170 (Crumbling)

Merges linedef types 170–180.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Tangibility flags
    • 1 = Intangible from top
    • 2 = Intangible from bottom
    • 4 = Don't block players
    • 8 = Don't block non-players
  • arg4: Flags
    • 1 = Don't cast shadow
    • 2 = Don't respawn
    • 4 = Air bobbing
    • 8 = Float on water
    • 16 = Cut cyan flat pixels

Linedef type 190 (Rising)

Merges linedef types 190–195.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Appearance flags
    • 1 = Don't render planes
    • 2 = Don't render sides
    • 4 = Render insides
    • 8 = Render only insides
    • 16 = No shadow
    • 32 = Cut cyan flat pixels
  • arg4: Tangibility flags
    • 1 = Intangible from top
    • 2 = Intangible from bottom
    • 4 = Don't block players
    • 8 = Don't block non-players
  • arg5: Speed
  • arg6: Flags
    • 1 = Lower
    • 2 = Require spindash

Linedef type 200 (Light Block)

Merges linedef types 200 and 201.

Setup:

  • arg0: Target sector tag
  • arg1: Expand to bottom?
    • 0 = No
    • 1 = Yes

Linedef type 202 (Fog Block)

Setup:

  • arg0: Target sector tag

Linedef type 220 (Intangible)

Merges linedef types 220–222.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Appearance flags
    • 1 = Don't render planes
    • 2 = Don't render sides
    • 4 = Don't render insides
    • 8 = Render only insides
    • 16 = No shadow
    • 32 = Cut cyan flat pixels

Linedef type 223 (Intangible, Invisible)

Setup:

  • arg0: Target sector tag

Linedef type 250 (Mario Block)

Setup:

  • arg0: Target sector tag
  • arg1: Block type
    • 1 = Brick
    • 2 = Invisible

Linedef type 251 (Thwomp Block)

Setup:

  • arg0: Target sector tag
  • arg1: Falling speed
  • arg2: Rising speed
  • stringarg0: Crushing sound (default: sfx_thwomp)

Linedef types 252–256 (Bustable Blocks)

Merges linedef types 252–256.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Bustable type
    • 0 = Touch
    • 1 = Spin
    • 2 = Regular
    • 3 = Strong
  • arg4: Flags
    • 1 = Bustable by pushables
    • 2 = Trigger linedef executor
    • 4 = Only from below
    • 8 = Cut cyan flat pixels
  • arg5: Linedef executor tag

Linedef type 257 (Quicksand)

Setup:

  • arg0: Target sector tag
  • arg1: Ripple effect?
    • 0 = Yes
    • 1 = No
  • arg2: Sinking speed
  • arg3: Friction

Linedef type 258 (Laser)

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 128)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: Flags
    • 1 = Don't damage bosses
    • 2 = Cut cyan flat pixels

Linedef type 259 (Custom FOF)

There's some backwards compatibility handling to make sure you can still create bustable and quicksand FOFs with this in binary format. In UDMF, you have to use the new "make FOF bustable" and "make FOF quicksand" linedef types.

Setup:

  • arg0: Target sector tag
  • arg1: Alpha (default: 255)
  • arg2: Blending mode
    • 0 = Translucent
    • 1 = Add
    • 2 = Subtract
    • 3 = Reverse subtract
    • 4 = Modulate
  • arg3: FOF flags
    • 1 = Exists
    • 2 = Block player
    • 4 = Block others
    • 8 = Render sides
    • 16 = Render planes
    • 32 = Water
    • 64 = No shadow
    • 128 = Cut solid walls
    • 256 = Cut extra walls
    • 512 = Split sprites
    • 1024 = Render inside planes
    • 2048 = Extra
    • 8192 = Fog
    • 16384 = Only render inside planes
    • 32768 = Render inside walls
    • 65536 = Only render inside walls
    • 131072 = Double shadow
    • 262144 = Water bobbing
    • 524288 = Don't respawn
    • 1048576 = Crumbling
    • 2097152 = Goo water
    • 4194304 = Mario block
    • 33554432 = Intangible from below
    • 67108864 = Intangible from above
    • 134217728 = Ripple effect
    • 268435456 = Don't copy light level
    • 536870912 = Bouncy
    • 1073741824 = Cut cyan flat pixels

Linedef type 260 (Generalized 3D Floor)

Exclusive to UDMF. This is a copy of GZDoom's 3D floor linedef type. It exists mainly because it's supported by UDB's Visual Mode.

Setup:

  • arg0: Target sector tag
  • arg1: Type
    • 1 = Solid
    • 2 = Water
    • 3 = Intangible
    • +4 = Render insides
    • +16 = Only render insides
  • arg2: FOF flags
    • 1 = No shadow
    • 2 = Double shadow
    • 4 = Fog
  • arg3: Alpha (default: 255)

Linedef type 300 (Basic)

Merges linedef types 300–302.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited

Linedef type 303 (Ring Count)

Merges linedef types 303 and 304.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Rings
  • arg2: Comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg3: Count all players?
    • 0 = No
    • 1 = Yes

Linedef type 305 (Character Ability)

Merges linedef types 305–307.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Ability
    • 0 = None
    • 1 = Thok
    • 2 = Fly
    • 3 = Glide and climb
    • 4 = Homing attack
    • 5 = Swim
    • 6 = Double jump
    • 7 = Float
    • 8 = Float with slow descent
    • 9 = Telekinesis
    • 10 = Fall switch
    • 11 = Jump boost
    • 12 = Air drill
    • 13 = Jump-thok
    • 14 = Pogo bounce
    • 15 = Twin spin

Linedef type 308 (Gametype)

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Rules
    • 1 = Campaign
    • 2 = Ringslinger
    • 4 = Spectators
    • 8 = Lives
    • 16 = Teams
    • 32 = First person
    • 64 = Match emeralds
    • 128 = Team flags
    • 256 = Coop
    • 512 = Allow special stages
    • 1024 = Spawn emerald tokens
    • 2048 = Emerald hunt
    • 4096 = Race
    • 8192 = Tag
    • 16384 = Point limit
    • 32768 = Time limit
    • 65536 = Overtime
    • 131072 = Hurt messages
    • 262144 = Friendly fire
    • 524288 = Hide time countdown
    • 1048576 = Frozen after hide time
    • 2097152 = Blindfolded view
    • 4194304 = Respawn delay
    • 8388608 = Award pity shield
    • 16777216 = Death score penalty
    • 33554432 = No spectator spawn
    • 67108864 = Use match starts
    • 134217728 = Spawn invincibility
    • 268435456 = Allow enemies
    • 536870912 = Allow exit sectors
    • 1073741824 = No title card
    • 2147483648 = Allow cutscenes
  • arg2: Check if
    • 0 = Has all
    • 1 = Has any
    • 2 = Has exactly
    • 3 = Doesn't have all
    • 4 = Doesn't have any

Linedef type 309 (CTF Team)

Merges linedef types 309–312.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Team
    • 0 = Red
    • 1 = Blue

Linedef type 313 (No More Enemies)

Setup:

  • arg0: Target sector tag
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Team
    • 0 = Red
    • 1 = Blue

Linedef type 314 (Number of Pushables)

Merges linedef types 314–315.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Number of pushables
  • arg2: Comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal

Linedef type 317 (Condition Set Trigger)

Merges linedef types 317–318.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Trigger ID

Linedef type 319 (Unlockable)

Merges linedef types 319–320.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Unlockable ID

Linedef type 321 (Trigger After X Calls)

Merges linedef types 321–322.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Each time the sector is entered
    • 2 = Each time the sector is entered or exited
  • arg1: Calls
  • arg2: Can retrigger?
    • 0 = No
    • 1 = Yes
  • arg3: Starting calls (if it can retrigger)

Linedef type 323 (NiGHTSerize)

Merges linedef types 323–324.

Setup:

  • arg0: Trigger type
    • 0 = Each time
    • 1 = Once
  • arg1: Mare number
  • arg2: Lap number
  • arg3: Mare comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg4: Lap comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg5: Compared player
    • 0 = Fastest
    • 1 = Slowest
    • 2 = Triggerer
  • arg6: NiGHTS check
    • 0 = No check
    • 1 = Trigger if player was not NiGHTS
    • 2 = Trigger if player was already NiGHTS
  • arg7: Flags
    • 1 = Only count bonus time laps
    • 2 = Only trigger if final mare completed

Linedef type 325 (De-NiGHTSerize)

Merges linedef types 325–326.

Setup:

  • arg0: Trigger type
    • 0 = Each time
    • 1 = Once
  • arg1: Mare number
  • arg2: Lap number
  • arg3: Mare comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg4: Lap comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg5: Compared player
    • 0 = Fastest
    • 1 = Slowest
    • 2 = Triggerer
  • arg6: NiGHTS check
    • 0 = No check
    • 1 = Trigger if nobody is now NiGHTS
    • 2 = Trigger if somebody is still NiGHTS
  • arg7: Only count bonus time laps?
    • 0 = No
    • 1 = Yes

Linedef type 327 (NiGHTS Lap)

Merges linedef types 327–328.

Setup:

  • arg0: Trigger type
    • 0 = Each time
    • 1 = Once
  • arg1: Mare number
  • arg2: Lap number
  • arg3: Mare comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg4: Lap comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg5: Compared player
    • 0 = Fastest
    • 1 = Slowest
    • 2 = Triggerer
  • arg6: Only count bonus time laps?
    • 0 = No
    • 1 = Yes

Linedef type 329 (Ideya Capture Touch)

Merges linedef types 329–330.

Setup:

  • arg0: Trigger type
    • 0 = Each time
    • 1 = Once
  • arg1: Mare number
  • arg2: Lap number
  • arg3: Mare comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg4: Lap comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal
  • arg5: Compared player
    • 0 = Fastest
    • 1 = Slowest
    • 2 = Triggerer
  • arg6: Spheres check
    • 0 = Trigger if enough spheres
    • 1 = Trigger if not enough spheres
    • 2 = Trigger regardless of spheres
  • arg7: Flags
    • 1 = Only count bonus time laps
    • 2 = Trigger upon entering Ideya Capture

Linedef type 331 (Player Skin)

Merges linedef types 331–333.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Invert choice?
    • 0 = No
    • 1 = Yes
  • stringarg0: Skin name

Linedef type 334 (Object Dye)

Merges linedef types 334–336.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Invert choice?
    • 0 = No
    • 1 = Yes
  • stringarg0: Color

Linedef type 337 (Emerald Check)

Merges linedef types 337–339, which were added to replace the Trigger Linedef Executor (Emerald Check) sector type.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Emeralds
    • 1 = Emerald 1
    • 2 = Emerald 2
    • 4 = Emerald 3
    • 8 = Emerald 4
    • 16 = Emerald 5
    • 32 = Emerald 6
    • 64 = Emerald 7
  • arg2: Check if
    • 0 = Has all
    • 1 = Has any
    • 2 = Has exactly
    • 3 = Doesn't have all
    • 4 = Doesn't have any

Linedef type 340 (NiGHTS Mare)

Merges linedef types 340–342, which were added to replace the Trigger Linedef Executor (NiGHTS Mare) sector type.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Mare
  • arg2: Comparison
    • 0 = Equal
    • 1 = Less than or equal
    • 2 = Greater than or equal

Linedef type 343 (Gravity Check)

Merges linedef types 343–345.

Setup:

  • Tag: triggertag of calling sector
  • arg0: Trigger type
    • 0 = Continuous
    • 1 = Once
    • 2 = Each time the sector is entered
    • 3 = Each time the sector is entered or exited
  • arg1: Gravity
    • 0 = Normal gravity
    • 1 = Reverse gravity
    • 2 = Reverse gravity (no MF2_OBJECTFLIP)

Linedef type 399 (Level Load)

Has no parameters.

Linedef type 400 (Set Tagged Sector's Heights/Textures)

Merges linedef types 400–401.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Set flats?
    • 0 = No
    • 1 = Yes
  • Control sector floor/ceiling height: Heights to set
  • Control sector floor/ceiling flat: Flats to set

Linedef type 402 (Copy Light Level to Tagged Sectors)

Setup:

  • arg0: Target sector tag
  • arg1: Flags
    • 1 = Don't copy main light level
    • 2 = Don't copy floor light level
    • 4 = Don't copy ceiling light level
  • Control sector light level(s): New light level(s)

Linedef type 403 (Move Tagged Sector's Planes)

Merges linedef types 403–404.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Speed
  • arg3: Tag of trigger to call after movement has finished (0 = none)
  • arg4: Set flats?
    • 0 = No
    • 1 = Yes
  • Control sector floor/ceiling height: Heights to move to
  • Control sector floor/ceiling flat: Flats to set

Linedef type 405 (Move Planes by Distance)

Merges linedef types 405 and 407.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Distance
  • arg3: Speed
  • arg4: Instant?
    • 0 = No
    • 1 = Yes

Linedef type 408 (Set Tagged Sector's Flats)

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • Control sector floor/ceiling flat: Flats to set

Linedef type 409 (Change Tagged Sector's Tag)

Setup:

  • arg0: Target sector tag
  • arg1: Tag
  • arg2: Behavior
    • 0 = Add tag
    • 1 = Remove tag
    • 2 = Replace first tag

Linedef type 410 (Change Front Sector's Tag)

Setup:

  • arg0: Tag
  • arg1: Behavior
    • 0 = Add tag
    • 1 = Remove tag
    • 2 = Replace first tag

Linedef type 411 (Stop Plane Movement)

Setup:

  • arg0: Target sector tag

Linedef type 412 (Teleporter)

Setup:

  • arg0: Tag of Teleport Destination Thing
  • arg1: Flags
    • 1 = Silent
    • 2 = Keep angle
    • 4 = Keep momentum
    • 8 = Relative silent
  • arg2: X offset (if relative)
  • arg3: Y offset (if relative)
  • arg4: Z offset (if relative)
  • Thing position and angle: Teleport position and angle

Linedef type 413 (Change Music)

Setup:

  • arg0: Flags
    • 1 = For all players
    • 2 = Seek offset from current position
    • 4 = Fade to custom volume
    • 8 = Don't reload after death
    • 16 = Force music reload
    • 32 = Don't loop
  • arg1: Position
  • arg2: Fade out time
  • arg3: Fade in time
  • arg4: Fade destination volume
  • arg5: Fade start volume (default: -1, which means start from current volume)
  • arg6: Track number (for module formats)
  • stringarg0: Lump name of music to play

Linedef type 414 (Play Sound Effect)

Setup:

  • arg0: Sound source
    • 0 = Triggering Object
    • 1 = Trigger sector
    • 2 = Nowhere
    • 3 = Tagged sectors
  • arg1: Listener
    • 0 = Triggering player
    • 1 = Everyone
    • 2 = Everyone touching tagged sectors
  • arg2: Target sector tag
  • stringarg0: Lump name of sound to play

Linedef type 415 (Run Script)

Setup:

  • stringarg0: Lump name of script

Linedef type 416 (Start Adjustable Flickering Light)

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Brightness 1
  • arg3: Use brightness of target sector for brightness 2?
    • 0 = No
    • 1 = Yes
  • arg4: Brightness 2 (if arg3 is not set)

Linedef type 417 (Start Adjustable Pulsating Light)

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Brightness 1
  • arg3: Use brightness of target sector for brightness 2?
    • 0 = No
    • 1 = Yes
  • arg4: Brightness 2 (if arg3 is not set)

Linedef type 418 (Adjustable Blinking Light)

Merges linedef types 418–419.

Setup:

  • arg0: Target sector tag
  • arg1: Brightness 1 tics
  • arg2: Brightness 2 tics
  • arg3: Brightness 1
  • arg4: Flags
    • 1 = Use brightness of target sector for brightness 2
    • 2 = Synchronized
  • arg5: Brightness 2 (if flag 1 of arg4 is not set)

Linedef type 420 (Fade Light Level)

Setup:

  • arg0: Target sector tag
  • arg1: Destination light level
  • arg2: Fading speed
  • arg3: Flags
    • 1 = Add to current light level
    • 2 = Interrupt ongoing fades
    • 4 = Speed is duration

Linedef type 421 (Stop Lighting Effect)

Setup:

  • arg0: Target sector tag

Linedef type 422 (Switch to Cut-Away View)

Setup:

  • arg0: Tag of Alternative View Point Thing
  • arg1: Time
  • Thing position, angle and pitch: Camera position, angle and pitch

Linedef type 423 (Change Sky)

Setup:

  • arg0: Sky number
  • arg1: For all players?
    • 0 = No
    • 1 = Yes

Linedef type 424 (Change Weather)

Setup:

  • arg0: Weather
    • 0 = None
    • 1 = Storm (thunder, lightning and rain)
    • 2 = Snow
    • 3 = Rain
    • 4 = Preloaded
    • 5 = Storm (no rain)
    • 6 = Storm (no lightning)
  • arg1: For all players?
    • 0 = No
    • 1 = Yes

Linedef type 425 (Change Object State)

Setup:

  • stringarg0: State

Linedef type 426 (Stop Object)

Setup:

  • arg0: Move Object to center of sector?
    • 0 = No
    • 1 = Yes

Linedef type 427 (Award Score)

Setup:

  • arg0: Score

Linedef type 428 (Start Platform Movement)

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Starting delay (in tics)
  • arg3: Delay before flip (in tics)
  • arg4: Starting direction
    • 0 = Down
    • 1 = Up
  • Highest surrounding floor/ceiling: Top height
  • Lowest surrounding floor/ceiling: Bottom height

Linedef type 429 (Crush Planes Once)

Merges linedef types 429–431.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Crush speed
  • arg3: Retract speed

Linedef type 432 (Enable/Disable 2D Mode)

Setup:

  • arg0: Mode
    • 0 = 2D
    • 1 = 3D

Linedef type 433 (Enable/Disable Gravity Flip)

Setup:

  • arg0: Gravity
    • 0 = Reverse
    • 1 = Normal

Linedef type 434 (Award Power-Up)

Setup:

  • stringarg0: Power-up to award
  • stringarg1: Duration/Amount (-1 means indefinite duration)

Linedef type 435 (Change Plane Scroller Direction)

Setup:

  • Linedef direction: Direction
  • arg0: Target sector tag
  • arg1: Speed

Linedef type 436 (Shatter FOF)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag

Linedef type 437 (Disable Player Control)

Setup:

  • arg0: Time
  • arg1: Allow jumping?
    • 0 = No
    • 1 = Yes

Linedef type 438 (Change Object Size)

Setup:

  • arg0: Size (percent)

Linedef type 439 (Change Tagged Linedef's Textures)

Setup:

  • Front textures: Textures to change to
  • arg0: Target linedef tag
  • arg1: Affected sides
    • 0 = Front
    • 1 = Back
    • 2 = Both
  • arg2: Change unset textures?
    • 0 = Yes
    • 1 = No

Linedef type 440 (Start Metal Sonic Race)

Has no parameters.

Linedef type 441 (Condition Set Trigger)

Setup:

  • arg0: Trigger number

Linedef type 442 (Change Object Type State)

Setup:

  • arg0: Target sector tag
  • arg1: Change to?
    • 0 = Specified state
    • 1 = Next state
  • stringarg0: Object type
  • stringarg1: State

Linedef type 443 (Call Lua Function)

Setup:

  • stringarg0: Function name

Linedef type 444 (Earthquake)

Setup:

  • arg0: Duration
  • arg1: Intensity

Linedef type 445 (Make FOF Disappear/Reappear)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag
  • arg2: Effect
    • 0 = Disappear
    • 1 = Reappear

Linedef type 446 (Make FOF Crumble)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag
  • arg2: Respawn?
    • 0 = Yes
    • 1 = No
    • 2 = If FF_NORETURN is not set
    • 3 = If FF_NORETURN is set

Linedef type 447 (Change Tagged Sector's Colormap)

Compared to the binary version of this linedef, I removed the ability to supply a second reference colormap when mixing the colormaps. If for some reason you want to mix two colormaps and apply them to a third sector, you will need to copy one of them to the third sector first.

Setup:

  • arg0: Target sector tag
  • arg1: Tag of sector containing new colormap (if 0, use front sector)
  • arg2:
    • 1 = Add to existing colormap
    • 2 = Subtract light R
    • 4 = Subtract light G
    • 8 = Subtract light B
    • 16 = Subtract light A
    • 32 = Subtract fade R
    • 64 = Subtract fade G
    • 128 = Subtract fade B
    • 256 = Subtract fade A
    • 512 = Subtract fadestart
    • 1024 = Subtract fadeend
    • 2048 = Ignore flags

Linedef type 448 (Change Skybox)

Setup:

  • arg0: New viewpoint ID
  • arg1: New centerpoint ID
  • arg2: Change?
    • 0 = Viewpoint
    • 1 = Centerpoint
    • 2 = Both
  • arg3: For all players?
    • 0 = No
    • 1 = Yes

Linedef type 449 (Enable Bosses with Parameter)

Setup:

  • arg0: Boss ID
  • arg1: Effect
    • 0 = Enable
    • 1 = Disable

Linedef type 450 (Execute Linedef Executor (specific tag))

Setup:

  • arg0: Trigger linedef tag

Linedef type 451 (Execute Linedef Executor (random tag in range))

Setup:

  • arg0: Start of tag range
  • arg1: End of tag range

Linedef type 452 (Set FOF Translucency)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag
  • arg2: Alpha
  • arg3: Flags
    • 1 = Add alpha to current translucency
    • 2 = Do not add/remove FF_TRANSLUCENT

Linedef type 453 (Fade FOF)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag
  • arg2: Alpha
  • arg3: Fading speed
  • arg4: Flags
    • 1 = Add alpha to current translucency
    • 2 = Interrupt ongoing fades
    • 4 = Speed is duration in tics
    • 8 = Don't change collision flags
    • 16 = No collision during fade
    • 32 = Do not add/remove FF_TRANSLUCENT
    • 64 = Do not add/remove FF_EXISTS
    • 128 = Don't fade lighting
    • 256 = Don't fade colormap
    • 512 = Use exact alpha in OpenGL

Linedef type 454 (Stop Fading FOF)

Setup:

  • arg0: Target sector tag
  • arg1: Control sector tag
  • arg2: Finalize collision flags?
    • 0 = Yes
    • 1 = No

Linedef type 455 (Fade Tagged Sector's Colormap)

I removed two features compared to the binary version of this linedef, since I considered them redundant:

  • You can no longer specify a starting colormap for the fade. It always starts with the target sector colormap. If you want a different starting colormap, change the target sector colormap with another linedef executor first.
  • The fade duration is always supplied directly. You can no longer supply a fade speed instead.

Setup:

  • arg0: Target sector tag
  • arg1: Tag of sector containing destination colormap (if 0, use front sector)
  • arg2: Fade duration in tics
  • arg3:
    • 1 = Add to existing colormap
    • 2 = Subtract light R
    • 4 = Subtract light G
    • 8 = Subtract light B
    • 16 = Subtract light A
    • 32 = Subtract fade R
    • 64 = Subtract fade G
    • 128 = Subtract fade B
    • 256 = Subtract fade A
    • 512 = Subtract fadestart
    • 1024 = Subtract fadeend
    • 2048 = Ignore flags
    • 4096 = Fade from invisible black if target sector has no colormap
    • 8192 = Interrupt ongoing fades

Linedef type 456 (Stop Fading Tagged Sector's Colormap)

Setup:

  • arg0: Target sector tag

Linedef type 457 (Track Object's Angle)

Setup:

  • arg0: Tag of Object Angle Anchor Thing
  • arg1: Angle tolerance in degrees
  • arg2: Time tolerance in tics
  • arg3: Tag of trigger linedef to call when tracking fails
  • arg4: Continue tracking after failure?
    • 0 = No
    • 1 = Yes

Linedef type 458 (Stop Tracking Object's Angle)

Has no parameters.

Linedef type 459 (Control Text Prompt)

Setup:

  • arg0: Prompt number (unless flag 4 of arg2 is set)
  • arg1: Page number (unless flag 4 of arg2 is set)
  • arg2: Flags
    • 1 = Close current text prompt
    • 2 = Trigger linedef executor on close
    • 4 = Find prompt by name
    • 8 = Don't disable controls
  • arg3: Tag of trigger linedef to call if flag 2 of arg2 is set
  • stringarg0: Prompt name (if flag 4 of arg2 is set)

Linedef type 460 (Award Rings)

Setup:

  • arg0: Rings
  • arg1: Periodicity in tics

Linedef type 461 (Spawn Object)

Setup:

  • arg0: X position
  • arg1: Y position
  • arg2: Z position
  • arg3: Angle
  • arg4: Randomize position?
    • 0 = No
    • 1 = Yes
  • arg5: Max X position (if arg4 is set)
  • arg6: Maximum Y position (if arg4 is set)
  • arg7: Maximum Z position (if arg4 is set)
  • stringarg0: Object type

Linedef type 462 (Stop Timer/Exit Stage in Record Attack)

Has no parameters.

Linedef type 463 (Dye Object)

Setup:

  • stringarg0: Skin color

Linedef type 464 (Trigger Egg Capsule)

Setup:

  • arg0: Tag of Egg Capsule Thing
  • arg1: End level?
    • 0 = Yes
    • 1 = No

Linedef type 465 (Set Linedef Executor Delay)

Exclusive to UDMF. Change the executor delay of the tagged linedef, which is set by the executordelay field. In binary, the executor delay is still taken from the back sector heights, so you can change it by moving the back sector.

Setup:

  • arg0: Linedef tag
  • arg1: Value
  • arg2: Set/add?
    • 0 = Set
    • 1 = Add

Linedef type 466 (Set Level Failure State)

Setup:

  • arg0: State
    • 0 = Failure
    • 1 = Success

Linedef type 467 (Set Tagged Sector's Light Level)

Setup:

  • arg0: Target sector tag
  • arg1: Light level
  • arg2: Affected area
    • 0 = Sector
    • 1 = Floor
    • 2 = Ceiling
  • arg3: Set/add?
    • 0 = Set
    • 1 = Add

Linedef type 468 (Change Linedef Argument)

Exclusive to UDMF.

Setup:

  • arg0: Linedef tag
  • arg1: Argument number
  • arg2: Value
  • arg3: Set/add?
    • 0 = Set
    • 1 = Add

Linedef type 469 (Change Tagged Sector's Gravity)

Exclusive to UDMF.

Setup:

  • arg0: Target sector tag
  • arg1: Set/Multiply?
    • 0 = Set
    • 1 = Multiply
  • arg2: Flip flag?
    • 0 = Don't change
    • 1 = Set
    • 2 = Remove
  • stringarg0: Gravity value (floating point)

Linedef type 480 (PolyObject Door Slide)

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Distance to move
  • arg3: Time in tics to wait before returning
  • Linedef direction: Movement direction

Linedef type 481 (PolyObject Door Move)

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Rotation distance in degrees
  • arg3: Time in tics to wait before returning

Linedef type 482 (PolyObject Move)

Merges linedef types 482 and 483.

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Distance to move
  • arg3: Override?
    • 0 = No
    • 1 = Yes
  • Linedef direction: Movement direction

Linedef type 484 (PolyObject Rotate)

Merges linedef types 484–487.

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Rotation in degrees
  • arg3: Flags
    • 1 = Don't turn non-player Objects
    • 2 = Turn players
    • 4 = Continuous rotation
    • 8 = Override

Linedef type 488 (PolyObject Move by Waypoints)

Setup:

  • arg0: PolyObject ID
  • arg1: Speed
  • arg2: Waypoint sequence
  • arg3: Return behavior
    • 0 = Don't return
    • 1 = Return to first waypoint
    • 2 = Repeat sequence in reverse
  • arg4: Flags
    • 1 = Move in reverse
    • 2 = Loop movement

Linedef type 489 (PolyObject Set Visibility, Tangibility)

Merges linedef types 489 and 490.

Setup:

  • arg0: PolyObject ID
  • arg1: Visibility
    • 0 = No change
    • 1 = Visible
    • 2 = Invisible
  • arg2: Tangibility
    • 0 = No change
    • 1 = Tangible
    • 2 = Intangible

Linedef type 491 (PolyObject Set Translucency)

Setup:

  • arg0: PolyObject ID
  • arg1: Translucency level (0–10)
  • arg2: Set/add?
    • 0 = Set
    • 1 = Add

Linedef type 492 (PolyObject Fade Translucency)

Setup:

  • arg0: PolyObject ID
  • arg1: Translucency level (0–10)
  • arg2: Fading speed
  • arg3: Flags
    • 1 = Add to current translucency
    • 2 = Interrupt ongoing fades
    • 4 = Speed is duration in tics
    • 8 = Don't change collision flags
    • 16 = No collision during fade

Linedef type 500 (Scroll Walls)

Merges linedef types 500–501 and 505–508.

Setup:

  • arg0: Side
    • 0 = Front
    • 1 = Back
    • 2 = Both
  • arg1: Horizontal speed
  • arg2: Vertical speed

Linedef type 502 (Scroll Walls Remotely)

Merges linedef types 502–504.

Setup:

  • arg0: Linedef tag
  • arg1: Side
    • 0 = Front
    • 1 = Back
    • 2 = Both
  • arg2: Horizontal speed
  • arg3: Vertical speed
  • arg4: Type
    • 0 = Normal
    • 1 = Accelerative
    • 2 = Displacement

Linedef type 510 (Scroll Planes)

Merges linedef types 510–535.

Setup:

  • Linedef angle: Scrolling direction
  • arg0: Sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both
  • arg2: Scroll/Carry?
    • 0 = Scroll and carry
    • 1 = Scroll
    • 2 = Carry
  • arg3: Base speed
  • arg4: Type
    • 0 = Normal
    • 1 = Accelerative
    • 2 = Displacement
    • +4 = Non-exclusive

Linedef type 540 (Floor Friction)

Removed in UDMF in favor of the friction sector field.

Linedef type 541 (Wind/Current)

Merges linedef types 541–546.

Setup:

  • Linedef angle: Pushing direction
  • arg0: Sector tag
  • arg1: Horizontal speed
  • arg2: Vertical speed
  • arg3: Type
    • 0 = Wind
    • 1 = Current
  • arg4: Flags
    • 1 = Slide
    • 2 = Non-exclusive

Linedef type 547 (Push/Pull)

Removed in UDMF because the parameters are now specified directly on the Push/Pull Point Thing.

Linedef type 600 (Copy Light Level to Tagged Sector's Planes)

Merges linedef types 600–601. Floor and ceiling lighting can now be specified directly on the sector with the lightfloor, lightceiling, lightfloorabsolute and lightceilingabsolute fields. This linedef type remains to make it easier to apply the same plane lighting to multiple sectors at once.

Setup:

  • arg0: Target sector tag
  • arg1: Affected planes
    • 0 = Floor
    • 1 = Ceiling
    • 2 = Both

Linedef type 602 (Adjustable Pulsating Light)

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Brightness 1
  • arg3: Use brightness of target sector for brightness 2?
    • 0 = No
    • 1 = Yes
  • arg4: Brightness 2 (if arg3 is not set)

Linedef type 603 (Adjustable Flickering Light)

Setup:

  • arg0: Target sector tag
  • arg1: Speed
  • arg2: Brightness 1
  • arg3: Use brightness of target sector for brightness 2?
    • 0 = No
    • 1 = Yes
  • arg4: Brightness 2 (if arg3 is not set)

Linedef type 604 (Adjustable Blinking Light)

Merges linedef types 604–605.

Setup:

  • arg0: Target sector tag
  • arg1: Brightness 1 tics
  • arg2: Brightness 2 tics
  • arg3: Brightness 1
  • arg4: Flags
    • 1 = Use brightness of target sector for brightness 2
    • 2 = Synchronized
  • arg5: Brightness 2 (if flag 1 of arg4 is not set)

Linedef type 606 (Copy Colormap)

Since colormaps are now specified directly on sectors, this linedef is no longer needed to create colormaps. But it's still useful to copy one sector's colormap to a whole bunch of sectors, so this is what it does now.

Setup:

  • arg0: Target sector tag
  • arg1: Tag of sector containing new colormap (if 0, use front sector)

Linedef type 700 (Create Sector-Based Slope)

Merges linedef types 700–703 and 710–713.

Setup:

  • arg0: Create floor slope?
    • 0 = None
    • 1 = Front side
    • 2 = Back side
  • arg1: Create ceiling slope?
    • 0 = None
    • 1 = Front side
    • 2 = Back side
  • arg2: Flags
    • 1 = No physics
    • 2 = Dynamic
    • 4 = Copy to other side

Linedef type 704 (Create Vertex-Based Slope)

Merges linedef types 704–705 and 714–715.

Setup:

  • arg0: Plane to slope
    • 0 = Front side floor
    • 1 = Front side ceiling
    • 2 = Back side floor
    • 3 = Back side ceiling
  • arg1: Slope vertex 1 tag
  • arg2: Slope vertex 2 tag
  • arg3: Slope vertex 3 tag
  • arg4: Flags
    • 1 = No physics
    • 2 = Dynamic

Linedef type 720 (Copy Slope)

Merges linedef types 720–735.

Setup:

  • arg0: Tag of sector whose floor slope is copied to the front sector (0 = no copy)
  • arg1: Tag of sector whose ceiling slope is copied to the front sector (0 = no copy)
  • arg2: Tag of sector whose floor slope is copied to the back sector (0 = no copy)
  • arg3: Tag of sector whose ceiling slope is copied to the back sector (0 = no copy)
  • arg4: Share slopes (flags)
    • 1 = Copy front floor slope to back floor slope
    • 2 = Copy back floor slope to front floor slope
    • 4 = Copy front ceiling slope to back ceiling slope
    • 8 = Copy back ceiling slope to front ceiling slope

Linedef type 799 (Set Tagged Dynamic Slope Vertex to Front Sector Height)

Setup:

  • Tag: Tag of slope vertex
  • arg0: Apply height
    • 0 = Absolute
    • 1 = Relative

Linedef types 900–908, 910–939 (Translucent/blended walls)

Removed in UDMF in favor of the alpha and blendmode linedef fields.

Linedef type 909 (Fog Wall)

Removed in UDMF in favor of the "fog" option for the blendmode linedef field.

Thing types

Bosses (MF_BOSS)

  • arg0: Boss ID
  • arg1: End level on death?
    • 0 = Yes
    • 1 = No
  • arg2: Tag of trigger linedef to call on death. Replaces the reserved tag -4.
  • arg3: Tag of trigger linedef to call on victory (death of last remaining boss in the map). Replaces the reserved tag -3.
  • arg4: Tag of trigger linedef to call when the pinch phase starts. Replaces the reserved tag -2.

NiGHTS power-ups (MF_NIGHTSITEM)

  • arg0: Flags
    • 1 = Spawn only in bonus time
    • 2 = Visible immediately

Pushables (MF_PUSHABLE)

  • arg0: Push behavior
    • 0 = Normal
    • 1 = Slide
    • 2 = Immovable
    • 3 = Classic

Monitors (MF_MONITOR)

  • arg0: Tag of trigger linedef to call when the monitor is popped (0 = none)
  • arg1: Respawn behavior (except for those that cannot respawn randomly)
    • 0 = Same item
    • 1 = Random (Weak)
    • 2 = Random (Strong)

Player starts

  • arg0: Spawn from ceiling?
    • 0 = No
    • 1 = Yes

SDURF/Puma

  • arg0: Jumping strength (default: 44)

Buzz (Gold)/Buzz (Red)

  • arg0: Can move?
    • 0 = Yes
    • 1 = No

Jetty-Syn Bomber/Jetty-Syn Gunner/Bumblebore//Cacolantern/Pian

  • arg0: Can move?
    • 0 = Yes
    • 1 = No

Turret

Pop-up Turret

  • arg0: Firing delay

Robo-Hood

  • arg0: Can jump?
    • 0 = Yes
    • 1 = No

Egg Guard

  • arg0: Turn behavior
    • 0 = Back
    • 1 = Right
    • 2 = Left
  • arg1: Double speed?
    • 0 = No
    • 1 = Yes

Crushstacean/Banpyura

  • arg0: Spawn direction
    • 0 = Right
    • 1 = Left

Hive Elemental

  • arg0: Number of bees

Pterabyte Spawner

  • arg0: Number of Pterabytes

Pyre Fly

  • arg0: Start on fire?
    • 0 = No
    • 1 = Yes

Egg Slimer

  • arg5: Speed up after each hit?
    • 0 = Yes
    • 1 = No

Egg Colosseum

  • arg5: Tag of trigger linedef to call when the cage drops. Replaces the reserved tag -5.

Fang

  • arg5: Flags
    • 1 = Grayscale
    • 2 = Skip intro

Brak Eggman (Old)

  • arg5: Tag of trigger linedef to call when the central platform is destroyed. Replaces the reserved tag 4200.

Metal Sonic (Race)/Amy Cameo

  • arg0: Grayscale?
    • 0 = No
    • 1 = Yes

Metal Sonic (Battle)

  • arg5: Grayscale?
    • 0 = No
    • 1 = Yes

Brak Eggman

  • arg5: Tag of trigger linedef to call when the line-of-sight attack is started. Replaces the reserved tag -6.
  • arg6: Flags
    • 1 = No origin-fling death
    • 2 = Use electric barrier

Boss Escape Point/Egg Capsule Center

  • Tag: Boss ID

Boss Waypoint

  • Tag: Boss ID
  • arg0: Sea Egg waypoint number
  • arg1: Brak Eggman waypoint number

Fang Waypoint

  • Tag: Boss ID
  • arg0: Center waypoint?
    • 0 = No
    • 1 = Yes

Collectibles

  • arg0: Float?
    • 0 = Yes
    • 1 = No

Emblem

  • Tag: Emblem ID
  • arg0 (if GE_NIGHTSITEM): Flags
    • 1 = Spawn only in bonus time
    • 2 = Visible immediately
  • arg1: Float?
    • 0 = Yes
    • 1 = No

Extra Life Monitor

Air Bubble Patch

  • arg0: Distance check?
    • 0 = Yes
    • 1 = No

Star Post

  • arg0: Order
  • arg1: Respawn at center?
    • 0 = No
    • 1 = Yes

Wall Spike/Spike

  • arg0: Retraction interval (in tics)
  • arg1: Start interval (in tics)
  • arg2: Flags
    • 1 = Start retracted
    • 2 = Intangible

Fan

  • arg0: Lift height (0 = 3/4 of sector height)
  • arg1: Flags
    • 1 = Invisible
    • 2 = No distance check

Gas Jet

  • arg0: Play sound?
    • 0 = Yes
    • 1 = No

Balloon

  • arg0: Respawn?
    • 0 = No
    • 1 = Yes
  • stringarg0: Color

Diagonal Yellow Spring/Diagonal Red Spring/Diagonal Blue Spring

  • arg0: Flags
    • 0 = Ignore gravity
    • 1 = Rotate 22.5 degrees counterclockwise

Horizontal Yellow Spring/Horizontal Red Spring/Horizontal Blue Spring

  • arg0: Float?
    • 0 = Yes
    • 1 = No

Yellow Boost Panel/Red Boost Panel

  • arg0: Force spin?
    • 0 = No
    • 1 = Yes

Row of Items

Thing type 610, exclusive to UDMF. Spawns an arbitrary row of Object types, which are specified as a space-separated list in stringarg0. The pattern cycles through the list until the specified number of items is placed. For example, a patterns with 6 items and a stringarg0 value of MT_RING MT_COIN MT_NIGHTSSTAR MT_COIN will consist of the following items, in order: Ring, coin, star, coin, ring, coin.

  • Angle: Horizontal direction
  • arg0: Number of items
  • arg1: Horizontal spacing
  • arg2: Vertical spacing
  • stringarg0: List of Object types

Circle of Items

Thing type 611, exclusive to UDMF. Spawns an arbitrary circle of Object types, which are specified as a space-separated list in stringarg0, as above.

  • Angle: Horizontal direction
  • arg0: Number of items
  • arg1: Radius
  • stringarg0: List of Object types

Ambient Sound Effect

Thing type 700, merges Thing types 700–710.

  • arg0: Repeat speed (in tics)
  • stringarg0: Sound to play (e.g., DSAMWTR1)

Slope Vertex

  • Tag: Slope vertex ID
  • arg0: Height is absolute?
    • 0 = No
    • 1 = Yes

Teleport Destination/Alternate View Point/Object Angle Anchor

  • Tag: arg0 of linedef

Zoom Tube Waypoint

  • arg0: Sequence
  • arg1: Order

Push Point/Pull Point

Merged into Thing type 754.

  • arg0: Radius
  • arg1: Strength
  • arg2: Flags
    • 1 = Fade using XY
    • 2 = Push using XYZ
    • 4 = Non-exclusive

Blast Linedef Executor

  • arg0: Tag of trigger linedef to call

Fan Particle Generator

  • arg0: Number of particles
  • arg1: Radius
  • arg2: Rising speed
  • arg3: Rotation speed in degrees
  • arg4: Spawn interval (in tics)
  • arg5: Rising distance
  • arg6: Tag of type 15 control linedef for the heights (0 = use Z position and rising distance instead)

PolyObject Anchor

  • Tag: PolyObject ID

PolyObject Spawn Point

PolyObject Spawn Point (Crush) is removed. The crushing option is set on linedef type 20 instead.

  • Tag: PolyObject ID

Skybox View Point

  • Tag: Skybox ID
  • arg0: Type
    • 0 = Viewpoint
    • 1 = Centerpoint

Dripping Water

  • arg0: Dripping delay (in tics)

Kelp/Stalagmite (DSZ1)/Stalagmite (DSZ2)

  • arg0: Double size?
    • 0 = No
    • 1 = Yes

Torch/Candle/Candle Pricket

  • arg0: Display corona?
    • 0 = No
    • 1 = Yes

Eggman Statue

  • arg0: Solid gold?
    • 0 = No
    • 1 = Yes

Mace Spawnpoint/Chain with Maces Spawnpoint/Chained Spring Spawnpoint/Chain Spawnpoint/Firebar Spawnpoint/Custom Mace Spawnpoint

  • Angle: Angle
  • Pitch: Pitch
  • Roll: Roll
  • arg0: Number of chain links
  • arg1: Number of spokes
  • arg2: Width
  • arg3: Speed
  • arg4: Phase
  • arg5: Pinch
  • arg6: Number of omitted spokes
  • arg7: Number of omitted chain links near center
  • arg8: Flags
    • 1 = Double size/Red spring (for chained spring)
    • 2 = No sounds
    • 4 = Player-turnable chain
    • 8 = Swing instead of spin
    • 16 = Make chain from end item/Omit chain links (for firebar)
    • 32 = Spawn an additional link in the center
    • 64 = Clip against ground
    • 128 = No distance check
  • stringarg0 (for custom mace): Mace Object type
  • stringarg1 (for custom mace): Chain Object type

Flame Holder

  • arg0: Flags
    • 1 = No flame
    • 2 = Add corona

Spectator EggRobo

  • arg0: Movement
    • 0 = None
    • 1 = Left
    • 2 = Right

Tumbleweed (Big)/Tumbleweed (Small)

  • arg0: Move perpetually?
    • 0 = No
    • 1 = Yes

Rock Spawner

  • Angle: Spawn direction
  • arg0: Speed
  • arg1: Spawn interval (in tics)
  • arg2: Randomize speed?
    • 0 = No
    • 1 = Yes
  • stringarg0: Object type (default: MT_ROCKCRUMBLE1)

Minecart Saloon Door

  • arg0: Allow non-minecart players?
    • 0 = No
    • 1 = Yes

Minecart Switch Point

  • arg0: Type
    • 0 = Disable
    • 1 = Enable

Flame Jet (Horizontal)

  • Angle: Shooting direction
  • arg0: On time (in tics)
  • arg1: Off time (in tics)
  • arg2: Shooting strength
  • arg3: Waving direction
    • 0 = Horizontal
    • 1 = Vertical

Flame Jet (Vertical)

  • arg0: On time (in tics)
  • arg1: Off time (in tics)
  • arg2: Shooting strength
  • arg3: Shooting direction
    • 0 = Upwards
    • 1 = Downwards

Lavafall

  • arg0: Initial delay (in tics)
  • arg1: Double size?
    • 0 = No
    • 1 = Yes

Rollout Rock

  • arg0: Buoyant?
    • 0 = No
    • 1 = Yes

Glaregoyle/Glaregoyle (Up)/Glaregoyle (Down)/Glaregoyle (Long)

  • arg1: Starting delay (in tics)

Axis

  • arg0: Mare number
  • arg1: Order
  • arg2: Radius
  • arg3: Direction
    • 0 = Clockwise
    • 1 = Counterclockwise

Axis Transfer/Axis Transfer Line

  • arg0: Mare number
  • arg1: Order

Ideya Drone

  • arg0: Time limit
  • arg1: Height
  • arg2: Radius
  • arg3: Alignment
    • 0 = Bottom with offset
    • 1 = Bottom
    • 2 = Middle
    • 3 = Top
  • arg4: Kill player on timeout?
    • 0 = No
    • 1 = Yes

NiGHTS Bumper

  • Pitch: Pitch

Hoop (Customizable)

The generic hoop Thing type (1705) has been removed in UDMF.

  • Angle: Angle
  • Pitch: Pitch
  • arg0: Radius

Ideya Capture

  • arg0: Mare number
  • arg1: Required spheres

Ideya Anchor Point

  • arg0: Mare number

King Bowser

  • arg0: Tag of trigger linedef to call upon defeat. Replaces the reserved tag 650.

Axe

Smashing Spikeball

  • arg0: Initial delay (in tics)

Jack-o'lanterns

  • arg0: Flicker?
    • 0 = Yes
    • 1 = No

Flickies

  • arg0: Radius
  • arg1: Flags
    • 1 = Move aimlessly
    • 2 = No movement
    • 4 = Hop

Fish

  • arg2: Color
    • 0 = Random
    • 1 = Red
    • 2 = Cyan
    • 3 = Blue
    • 4 = Vapor
    • 5 = Purple
    • 6 = Bubblegum
    • 7 = Neon
    • 8 = Black
    • 9 = Beige
    • 10 = Lavender
    • 11 = Ruby
    • 12 = Salmon
    • 13 = Sunset
    • 14 = Orange
    • 15 = Yellow

Sector types

Sector types are obsolete in UDMF because they have been replaced with other sector fields: