User:MascaraSnake/UDMF/Documentation
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" |
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:
|
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:
- Tag: Tag of associated Zoom Tube Start and Zoom Tube End sectors
- arg0: Speed
- arg1: Sequence
- arg2: Ignore player direction?
- 0 = No
- 1 = Yes
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
- arg0: Tag of trigger linedef to call on death. Replaces the reserved tag 32000.
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
- arg1: Score in Record Attack
- 0 = 1,000 points
- 1 = 10,000 points
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
- arg0: Tag of trigger linedef to call upon touch. Replaces the reserved tag 649.
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:
- Damage types (Damage, Damage (Water), Damage (Fire), Damage (Electrical), Spikes, Death Pit (Camera Tilt), Death Pit (No Camera Tilt), Instant Kill, Special Stage Damage): Replaced with
damagetype
field. - Ring Drainer (Floor Touch), Ring Drainer (No Floor Touch): Removed in UDMF. The effect can be replicated with linedef type 460.
- Space Countdown: Replaced with the
outerspace
special flag. - Ramp Sector: Replaced with the
doublestepup
special flag. - Non-Ramp Sector: Replaced with the
nostepdown
special flag. - Bouncy FOF: Replaced with linedef type 76. Also deprecated in binary.
- Trigger types (Trigger Linedef Executor (Pushable Objects), Trigger Linedef Executor (Anywhere in Sector, All Players), Trigger Linedef Executor (Floor Touch, All Players), Trigger Linedef Executor (Anywhere in Sector), Trigger Linedef Executor (Floor Touch)): Replaced with the
triggertag
andtriggerer
fields, and thetriggerline_plane
flag. - Trigger Linedef Executor (Emerald Check) and Trigger Linedef Executor (NiGHTS Mare): Replaced with linedef types 337 and 340. Also deprecated in binary.
- Check for Linedef Executor on FOFs: Replaced with the
triggerline_mobj
flag. - Egg Capsule: Removed in UDMF. The effect can be replicated with linedef type 464.
- Special Stage Time/Spheres Parameters: Removed in UDMF in favor of the
SpecialStageTime
andSpecialStageSpheres
level header parameters. Also deprecated in binary. - Custom Global Gravity: Removed in UDMF in favor of the
Gravity
level header parameter. Also deprecated in binary. - Wind/Current and Conveyor Belt: Made obsolete in both binary and UDMF. If a sector is affected by a pusher or scroller, the game now marks the sector internally.
- Speed Pad: Replaced with the
speedpad
special flag. - Flip Gravity on Jump: Replaced with the
jumpflip
special flag. - Star Post Activator: Replaced with the
starpostactivator
special flag. - Exit Sector/Special Stage Pit/Return Flag: Replaced with the
exit
,specialstagepit
andreturnflag
special flags. - CTF Red Team Base/CTF Blue Team Base: Replaced with the
redteambase
andblueteambase
special flags. - Fan Sector: Replaced with the
fan
special flag. - Super Sonic Transform: Replaced with the
supertransform
special flag. - Force Spin: Replaced with the
forcespin
special flag. - Zoom Tube Start and Zoom Tube End: Replaced with the
zoomtubestart
andzoomtubeend
special flags. - Circuit Finish Line: Replaced with the
finishline
special flag. - Rope Hang: Replaced with the
ropehang
special flag. - Intangible to the Camera: Replaced with the
noclipcamera
sector flag.