Linedef types: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
In Eternity actions are caused to happen in the game thru linedef types. Eternity has four kinds of linedef types:
Linedef types, also commonly called specials, are actions done by linedefs (such as walls) when you press them as switches, walk over them, shoot them and so on. Switches and walk-over teleporters are examples of such specials.
* Regular - the linedef types that were already in DOOM II v1.9
* Extended - linedef types not in DOOM II v1.9 but less than 8192 in value
* Parameterized - linedef types also less than 8192 in value, but with arguments accessible only from [[ExtraData]]
* Generalized - linedef types over 8192 in value that contain bit fields that independently control the actions of the sector affected.
Parameterized specials are subject to a completely separate system for determining how they are activated and what can activate them that is far more flexible than that used by normal lines.


A linedef with non-zero linedef type is called a linedef trigger. Normal, extended, and generalized linedef triggers are always activated in one of three ways - using the first sidedef of the linedef, walking over the linedef, or shooting the linedef with an impact weapon (fists, chainsaw, pistol, shotgun, double barreled, or chaingun). Watch out that unless the PASSTHRU flag is enabled, any non-zero linedef type will block any farther switchtype linedefs. This is a common mapping error on maps tested on, but not designed specifically for ports that ignore it.
Eternity supports both the classic Doom map format and the [[UDMF]] format. Depending on which editing format you choose, linedef types come in two categories: classic and parameterized. Classic ones merely have an action and a tag (so it does the specified action on all sectors with the same tag). Parameterized ones, however, have an action, up to 5 parameters (arguments) and an activation type (such as choosing between pressing or crossing it), being based on Hexen's more powerful model (whose versatile editing format was quickly adopted by earliest ZDoom versions, as a precursor to UDMF). Under the classic Doom format you can't natively place parameterized specials; you need the help of [[ExtraData]] for that. But under UDMF, you can only use the parameterized ones, easily, directly in the map editor.


Parameterized line specials' activation methods are controlled by flags in the [[ExtraData]] linedef '''extflags''' field. A parameterized line can be activated in multiple ways simultaneously, and can also be activated in ways not available for normal lines, including being used from the back side and impacted by projectiles. The '''extflags''' field also controls what classes of objects can perform the activation (monsters, missiles, and players), whether or not the special activates from the second side of the line, and whether or not the line special is repeatable. See the [[ExtraData|ExtraData documentation]] for full information.
If you map under UDMF, you only need to look up the parameterized specials. Otherwise, also look at the classic specials. Keep in mind that most of the classic ones are inherited from vanilla Doom and Boom, so a lot of the information on them should be familiar.
{{backto|Editing reference}}
==Overview==
===Classic specials===
A classic special only has an action number and a tag. Everything about the action is defined in that number: activation type (switch/cross/shoot), whether it requires a tag or will affect the sector behind it (doors vs switches) and whether it can be used by monsters. The tag is the number assigned to the targeted sectors. This is the same as in vanilla Doom.


Linedefs activated by using them come in two varieties. A manual linedef affects the sector on the second sidedef of the line pushed. A switched linedef affects all sectors that have the same tag field as the linedef that was pushed.
Classic specials also include the Boom generalized specials, which allow greater customization in what they do, very close to the capability of the parameterized specials. As usual, all these "parameters" are encoded in the action number, typically a larger number, counting thousands (as opposed to non-generalized ones which are a few hundred at most).


Nearly all switched, walkover, and gun linedefs operate on the sectors with the same tag as that in the tag field of the linedef. Most parameterized specials take the tag of sectors to act on as their first parameter, freeing the line tag for use as a line identifier.
===Parameterized specials===
A parameterized special has an action number, up to five parameters and user-settable mode of activation. Under the classic format, it can only be used along with [[ExtraData]]; under UMDF it's native. It should be familiar to you if you've been editing Hexen and ZDoom maps before.


Some linedefs are never activated per se, but simply create or control an effect through their existence and properties, usually affecting the sectors sharing the linedef's tags. There are also a few special case like line-line teleporters and exit linedefs that do not affect sectors.
===Statically activated specials===
 
Among both classic and parameterized there are a few specials which are activated at level startup instead of during the game when some event occurs (such as crossing). Examples are the Boom floor transfer special (which creates effects such as deep water) or the MBF sky transfer.
Some linedefs are only triggerable once, others are triggerable as many times as you like.
==List of specials==
 
=== Parameterized specials (for UDMF format and ExtraData) ===
Triggering types are denoted by the letters D, S, W, and G for manual(push), switched, walkover, and gun. Their retriggerability is denoted by a 1 or R following the letter. So the triggering types for linedefs are:
* [[Detailed parameterized linedef specification]]
 
* [[Static linedef specials]]
D1 DR S1 SR W1 WR G1 GR
 
Often linedef actions depend on values in neighboring sectors. A neighboring sector is one that shares a linedef in common, just sharing a vertex is not sufficient.


In Doom only one action on a sector could occur at a time. Eternity supports one floor action, one ceiling action, and one lighting action simultaneously.
=== Classic specials (for classic Doom format) ===
{{backto|Editing reference}}
==== Plane movement ====
=== Plane movement ===
===== Floor =====
==== Floor ====
* [[Floor linedef types|Floors]]
* [[Floor linedef types|Floors]]
* [[Platform linedef types|Platforms]]
* [[Platform linedef types|Platforms]]
* [[Stair builder linedef types|Stairs]]
* [[Stair builder linedef types|Stairs]]
* [[Donut linedef types|Donuts]]


==== Ceiling ====
===== Ceiling =====
* [[Door linedef types|Doors]]
* [[Door linedef types|Doors]]
* [[Ceiling linedef types|Ceilings (non-crushing)]]
* [[Ceiling linedef types|Ceilings (non-crushing)]]
* [[Crushing ceiling linedef types|Crushing ceilings]]
* [[Crushing ceiling linedef types|Crushing ceilings]]
==== Both ====
===== Both =====
* [[Elevator linedef types|Elevators]]
* [[Elevator linedef types|Elevators]]
* [[Pillar linedef types|Pillars]]
* [[Pillar linedef types|Pillars]]
=== Polyobjects ===
==== Polyobjects ====
* [[Polyobject linedef types|Polyobjects]]
* [[Polyobject linedef types|Polyobjects]]
=== Light ===
==== Light ====
* [[Lighting linedef types|Lighting]]
* [[Lighting linedef types|Lighting]]
=== Actors ===
==== Actors ====
* [[Thing linedef types|Things]]
* [[Thing linedef types|Things]]
=== Property transfer ===
==== Property transfer ====
* [[Property transfer linedef types|Light, plane and physics transfer]]
* [[Property transfer linedef types|Light, plane and physics transfer]]
* [[Scroller linedef types|Scrollers]]
* [[Scroller linedef types|Scrollers]]
Line 53: Line 48:
* [[Attached surface linedef types|Attached surfaces]]
* [[Attached surface linedef types|Attached surfaces]]


=== Teleportation ===
==== Teleportation ====
* [[Teleport linedef types|Teleportation]]
* [[Teleport linedef types|Teleportation]]
* [[Exit linedef types|Exits]]
* [[Exit linedef types|Exits]]
=== Scripting ===
==== Scripting ====
* Small [[Script control linedef types|Script control]] {{Deprecated}}
* [[Script control linedef types|Script control]]


* [[ExtraData#Linedefs|ExtraData Control Line Special #270]]


* [[ExtraData#Linedefs|ExtraData Control Line Special #270]]
==== Boom generalized ====
* [[Detailed generalized linedef specification]]
* [[Detailed generalized linedef specification]]
* [[Detailed parameterized linedef specification]]
 
 


[[category:Editing reference]]
[[category:Editing reference]]

Latest revision as of 11:09, 13 June 2020

Linedef types, also commonly called specials, are actions done by linedefs (such as walls) when you press them as switches, walk over them, shoot them and so on. Switches and walk-over teleporters are examples of such specials.

Eternity supports both the classic Doom map format and the UDMF format. Depending on which editing format you choose, linedef types come in two categories: classic and parameterized. Classic ones merely have an action and a tag (so it does the specified action on all sectors with the same tag). Parameterized ones, however, have an action, up to 5 parameters (arguments) and an activation type (such as choosing between pressing or crossing it), being based on Hexen's more powerful model (whose versatile editing format was quickly adopted by earliest ZDoom versions, as a precursor to UDMF). Under the classic Doom format you can't natively place parameterized specials; you need the help of ExtraData for that. But under UDMF, you can only use the parameterized ones, easily, directly in the map editor.

If you map under UDMF, you only need to look up the parameterized specials. Otherwise, also look at the classic specials. Keep in mind that most of the classic ones are inherited from vanilla Doom and Boom, so a lot of the information on them should be familiar.

Back to Editing reference

Overview[edit]

Classic specials[edit]

A classic special only has an action number and a tag. Everything about the action is defined in that number: activation type (switch/cross/shoot), whether it requires a tag or will affect the sector behind it (doors vs switches) and whether it can be used by monsters. The tag is the number assigned to the targeted sectors. This is the same as in vanilla Doom.

Classic specials also include the Boom generalized specials, which allow greater customization in what they do, very close to the capability of the parameterized specials. As usual, all these "parameters" are encoded in the action number, typically a larger number, counting thousands (as opposed to non-generalized ones which are a few hundred at most).

Parameterized specials[edit]

A parameterized special has an action number, up to five parameters and user-settable mode of activation. Under the classic format, it can only be used along with ExtraData; under UMDF it's native. It should be familiar to you if you've been editing Hexen and ZDoom maps before.

Statically activated specials[edit]

Among both classic and parameterized there are a few specials which are activated at level startup instead of during the game when some event occurs (such as crossing). Examples are the Boom floor transfer special (which creates effects such as deep water) or the MBF sky transfer.

List of specials[edit]

Parameterized specials (for UDMF format and ExtraData)[edit]

Classic specials (for classic Doom format)[edit]

Plane movement[edit]

Floor[edit]
Ceiling[edit]
Both[edit]

Polyobjects[edit]

Light[edit]

Actors[edit]

Property transfer[edit]

Teleportation[edit]

Scripting[edit]

Boom generalized[edit]