Door linedef types: Difference between revisions
No edit summary |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
A door is fully open when its ceiling height is 4 less than the lowest neighbor ceiling adjacent to it. | A door is fully open when its ceiling height is 4 less than the lowest neighbor ceiling adjacent to it. | ||
A door may be set to an intermediate state initially, or | A door may be set to an intermediate state initially, or through the action of a linedef trigger that affects ceilings or floors. The door is passable to a player when its ceiling is at least 56 units higher than its floor. In general the door is passable to a monster or a thing when its ceiling is at least the monster or thing's height above the floor. | ||
If a door has a ceiling height | If a door has a ceiling height ''above'' the fully open height, then an open door action moves the ceiling to the fully open height instantly. | ||
If a door has a ceiling height | If a door has a ceiling height ''below'' the fully closed height (that is the ceiling of the door sector is lower than the floor of the door sector) a close door action moves the ceiling to the fully closed height instantly. | ||
{{backto|Linedef types}} | |||
=Door functions= | ==Door functions== | ||
* Open, Wait, Then Close | * Open, Wait, Then Close | ||
On activation, door opens fully, waits a specified period, then closes fully. This door type is also known as a "Raise" door. | :On activation, door opens fully, waits a specified period, then closes fully. This door type is also known as a "Raise" door. The parameterized special is [[Door_Raise]]. | ||
* Open and Stay Open | * Open and Stay Open | ||
On activation, door opens fully and remains there. | :On activation, door opens fully and remains there. The parameterized special is [[Door_Open]]. | ||
* Close and Stay Closed | * Close and Stay Closed | ||
On activation, door closes fully, and remains there. | :On activation, door closes fully, and remains there. The parameterized special [[Door_Close]]. | ||
* Close, Wait, Then Open | * Close, Wait, Then Open | ||
On activation, door closes fully, waits a specified period, then opens fully. | :On activation, door closes fully, waits a specified period, then opens fully. The parameterized special [[Door_CloseWaitOpen]]. | ||
* Wait, Open, Wait, Close | * Wait, Open, Wait, Close | ||
Available as a parameterized line special only, this door type waits for a specified countdown period, and then functions as a normal "Raise" door. | :Available as a parameterized line special only ([[Door_WaitRaise]]), this door type waits for a specified countdown period, and then functions as a normal "Raise" door. | ||
* Wait, Close and Stay Closed | * Wait, Close and Stay Closed | ||
Available as a parameterized line special only, this door type waits for a specified countdown period, and then closes fully and remains closed. | :Available as a parameterized line special only ([[Door_WaitClose]]), this door type waits for a specified countdown period, and then closes fully and remains closed. | ||
=Varieties of doors= | ==Varieties of doors== | ||
A door can be triggered by pushing on it, walking over or pressing a linedef trigger tagged to it, or shooting a linedef tagged to it. These are called manual, walkover, switched, or gun doors | A door can be triggered by pushing on it, walking over or pressing a linedef trigger tagged to it, or shooting a linedef tagged to it. These are called manual, walkover, switched, or gun doors respectively. | ||
Since a push door ( | Since a push door (D1/DR) has no use for its tag, BOOM has extended the functionality to include changing any tagged sectors to maximum neighbor lighting on fully opening, then to minimum neighbor lighting on fully closing. This is true for regular, extended, and generalized doors with push triggers. Parameterized push doors use a separate argument to control dynamic door lighting. | ||
A door trigger can be locked. This means that the door function will only operate if the player is in possession of the right key(s). Regular and extended door triggers only care if the player has a key of the right color, they do not care which. Generalized door triggers can distinguish between skull and card keys, and can also require any key, or all keys in order to activate. | A door trigger can be locked. This means that the door function will only operate if the player is in possession of the right key(s). Regular and extended door triggers only care if the player has a key of the right color, they do not care which. Generalized door triggers can distinguish between skull and card keys, and can also require any key, or all keys in order to activate. | ||
Line 43: | Line 44: | ||
A door can wait for different amounts of time. | A door can wait for different amounts of time. | ||
A door may or may not be | A door may or may not be activateable by monsters. | ||
Any door function except Close and Stay Closed, when closing and encountering a monster or player's head will bounce harmlessly off that head and return to fully open. A Close and Stay Closed will rest on the head until it leaves the door sector. | Any door function except Close and Stay Closed, when closing and encountering a monster or player's head will bounce harmlessly off that head and return to fully open. A Close and Stay Closed will rest on the head until it leaves the door sector. | ||
=Door linedef types= | ==Door linedef types== | ||
===Table information=== | |||
*Class: "reg" and "ext". The "registered" types are from vanilla DOOM, while the "extended" types were added since BOOM. | |||
===Regular and extended door types=== | |||
{|class="wikitable sortable" | |||
!# | |||
!Class | |||
!Trig | |||
!Lock | |||
!Speed | |||
!Wait | |||
!Monst | |||
!Function | |||
!Parameterized equivalent | |||
|- | |||
||1||Reg||DR||No||Slow||4s||Yes||Open, Wait, Then Close||[[Door_Raise]](0, 16, 150, tag) | |||
|- | |||
||117||Reg||DR||No||Fast||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](0, 64, 150, tag) | |||
|- | |||
||63 ||Reg||SR||No||Slow||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 16, 150, 0) | |||
|- | |||
||114||Reg||SR||No||Fast||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 64, 150, 0) | |||
|- | |||
||29 ||Reg||S1||No||Slow||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 16, 150, 0) | |||
|- | |||
||111||Reg||S1||No||Fast||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 64, 150, 0) | |||
|- | |||
||90 ||Reg||WR||No||Slow||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 16, 150, 0) | |||
|- | |||
||105||Reg||WR||No||Fast||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 64, 150, 0) | |||
|- | |||
||4 ||Reg||W1||No||Slow||4s ||Yes||Open, Wait, Then Close||[[Door_Raise]](tag, 16, 150, 0) | |||
|- | |||
||108||Reg||W1||No||Fast||4s ||No ||Open, Wait, Then Close||[[Door_Raise]](tag, 64, 150, 0) | |||
|- | |||
||31 ||Reg||D1||No||Slow||-- ||No ||Open and Stay Open||[[Door_Open]](0, 16, tag) | |||
|- | |||
||118||Reg||D1||No||Fast||-- ||No ||Open and Stay Open||[[Door_Open]](0, 64, tag) | |||
|- | |||
||61 ||Reg||SR||No||Slow||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 16, 0) | |||
|- | |||
||115||Reg||SR||No||Fast||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 64, 0) | |||
|- | |||
||103||Reg||S1||No||Slow||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 16, 0) | |||
|- | |||
||112||Reg||S1||No||Fast||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 64, 0) | |||
|- | |||
||86 ||Reg||WR||No||Slow||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 16, 0) | |||
|- | |||
||106||Reg||WR||No||Fast||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 64, 0) | |||
|- | |||
||2 ||Reg||W1||No||Slow||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 16, 0) | |||
|- | |||
||109||Reg||W1||No||Fast||-- ||No ||Open and Stay Open||[[Door_Open]](tag, 64, 0) | |||
|- | |||
||46 ||Reg||GR||No||Slow||-- ||Yes||Open and Stay Open||[[Door_Open]](tag, 16, 0) | |||
|- | |||
||42 ||Reg||SR||No||Slow||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 16, 0) | |||
|- | |||
||116||Reg||SR||No||Fast||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 64, 0) | |||
|- | |||
||50 ||Reg||S1||No||Slow||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 16, 0) | |||
|- | |||
||113||Reg||S1||No||Fast||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 64, 0) | |||
|- | |||
||75 ||Reg||WR||No||Slow||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 16, 0) | |||
|- | |||
||107||Reg||WR||No||Fast||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 64, 0) | |||
|- | |||
||3 ||Reg||W1||No||Slow||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 16, 0) | |||
|- | |||
||110||Reg||W1||No||Fast||-- ||No ||Close and Stay Closed||[[Door_Close]](tag, 64, 0) | |||
|- | |||
||196||Ext||SR||No||Slow||30s||No ||Close, Wait, Then Open||[[Door_CloseWaitOpen]](tag, 16, 240, 0) | |||
|- | |||
||175||Ext||S1||No||Slow||30s||No ||Close, Wait, Then Open||[[Door_CloseWaitOpen]](tag, 16, 240, 0) | |||
|- | |||
||76 ||Reg||WR||No||Slow||30s||No ||Close, Wait, Then Open||[[Door_CloseWaitOpen]](tag, 16, 240, 0) | |||
|- | |||
||16 ||Reg||W1||No||Slow||30s||No ||Close, Wait, Then Open||[[Door_CloseWaitOpen]](tag, 16, 240, 0) | |||
|} | |||
===Regular and Extended Locked Door Types=== | |||
{|class="wikitable sortable" | |||
!# | |||
!Class | |||
!Trig | |||
!Lock | |||
!Speed | |||
!Wait | |||
!Monst | |||
!Function | |||
|- | |||
||26 ||Reg||DR||Blue||Slow||4s||No||Open, Wait, Then Close | |||
|- | |||
||28 ||Reg||DR||Red ||Slow||4s||No||Open, Wait, Then Close | |||
|- | |||
||27 ||Reg||DR||Yell||Slow||4s||No||Open, Wait, Then Close | |||
|- | |||
||32 ||Reg||D1||Blue||Slow||--||No||Open and Stay Open | |||
|- | |||
||33 ||Reg||D1||Red ||Slow||--||No||Open and Stay Open | |||
|- | |||
||34 ||Reg||D1||Yell||Slow||--||No||Open and Stay Open | |||
|- | |||
||99 ||Reg||SR||Blue||Fast||--||No||Open and Stay Open | |||
|- | |||
||134||Reg||SR||Red ||Fast||--||No||Open and Stay Open | |||
|- | |||
||136||Reg||SR||Yell||Fast||--||No||Open and Stay Open | |||
|- | |||
||133||Reg||S1||Blue||Fast||--||No||Open and Stay Open | |||
|- | |||
||135||Reg||S1||Red ||Fast||--||No||Open and Stay Open | |||
|- | |||
||137||Reg||S1||Yell||Fast||--||No||Open and Stay Open | |||
|} | |||
There are two generalized door linedef types, Generalized Door, and Generalized Locked Door. The following tables show the possibilities for each parameter, any combination of parameters is allowed: | There are two generalized door linedef types, Generalized Door, and Generalized Locked Door. The following tables show the possibilities for each parameter, any combination of parameters is allowed: | ||
Slow and Fast represent the same speeds as slow and fast regular doors. Normal is twice as fast as slow, Fast is twice normal, Turbo is twice Fast. | Slow and Fast represent the same speeds as slow and fast regular doors. Normal is twice as fast as slow, Fast is twice normal, Turbo is twice Fast. | ||
===Generalized Door Types=== | |||
{|class="wikitable" | |||
!# | |||
!Class | |||
!Trig | |||
!Lock | |||
!Speed | |||
!Wait | |||
!Monst | |||
!Function | |||
|- | |||
||3C00H-4000H||Gen||D1/DR||No||Slow||1s||Yes ||Open, Wait, Then Close | |||
|- | |||
|| || ||S1/SR|| ||Normal||4s||No||Open and Stay Open | |||
|- | |||
|| || ||W1/WR|| ||Fast||9s|| ||Close and Stay Closed | |||
|- | |||
|| || ||G1/GR|| ||Turbo||30s|| ||Close, Wait, Then Open | |||
|} | |||
===Generalized Locked Door Types=== | |||
{|class="wikitable" | |||
!# | |||
!Class | |||
!Trig | |||
!Lock | |||
!Speed | |||
!Wait | |||
!Monst | |||
!Function | |||
|- | |||
||3800H-3C00H||Gen||D1/DR||Any ||Slow ||1s ||No ||Open, Wait, Then Close | |||
|- | |||
|| || ||S1/SR||Blue ||Normal ||4s || ||Open and Stay Open | |||
|- | |||
|| || ||W1/WR||Red ||Fast ||9s || ||Close and Stay Closed | |||
|- | |||
|| || ||G1/GR||Yell ||Turbo ||30s || ||Close, Wait, Then Open | |||
|- | |||
|| || || ||BlueC | |||
|- | |||
|| || || ||RedC | |||
|- | |||
|| || || ||YellC | |||
|- | |||
|| || || ||BlueS | |||
|- | |||
|| || || ||RedS | |||
|- | |||
|| || || ||YellS | |||
|- | |||
|| || || ||All3 | |||
|- | |||
|| || || ||All6 | |||
|} | |||
There are several types of parameterized door specials, each performing a different type of door action. See the [[Detailed_parameterized_linedef_specification#Doors|Parameterized Door Types]] section for full information on how to use these specials. | |||
[[category:Editing reference]] |
Latest revision as of 03:01, 31 October 2021
A door is a sector, usually placed between two rooms, whose ceiling raises to open, and lowers to close.
A door is fully closed when its ceiling height is equal to its floor height.
A door is fully open when its ceiling height is 4 less than the lowest neighbor ceiling adjacent to it.
A door may be set to an intermediate state initially, or through the action of a linedef trigger that affects ceilings or floors. The door is passable to a player when its ceiling is at least 56 units higher than its floor. In general the door is passable to a monster or a thing when its ceiling is at least the monster or thing's height above the floor.
If a door has a ceiling height above the fully open height, then an open door action moves the ceiling to the fully open height instantly.
If a door has a ceiling height below the fully closed height (that is the ceiling of the door sector is lower than the floor of the door sector) a close door action moves the ceiling to the fully closed height instantly.
- Back to Linedef types
Door functions[edit]
- Open, Wait, Then Close
- On activation, door opens fully, waits a specified period, then closes fully. This door type is also known as a "Raise" door. The parameterized special is Door_Raise.
- Open and Stay Open
- On activation, door opens fully and remains there. The parameterized special is Door_Open.
- Close and Stay Closed
- On activation, door closes fully, and remains there. The parameterized special Door_Close.
- Close, Wait, Then Open
- On activation, door closes fully, waits a specified period, then opens fully. The parameterized special Door_CloseWaitOpen.
- Wait, Open, Wait, Close
- Available as a parameterized line special only (Door_WaitRaise), this door type waits for a specified countdown period, and then functions as a normal "Raise" door.
- Wait, Close and Stay Closed
- Available as a parameterized line special only (Door_WaitClose), this door type waits for a specified countdown period, and then closes fully and remains closed.
Varieties of doors[edit]
A door can be triggered by pushing on it, walking over or pressing a linedef trigger tagged to it, or shooting a linedef tagged to it. These are called manual, walkover, switched, or gun doors respectively.
Since a push door (D1/DR) has no use for its tag, BOOM has extended the functionality to include changing any tagged sectors to maximum neighbor lighting on fully opening, then to minimum neighbor lighting on fully closing. This is true for regular, extended, and generalized doors with push triggers. Parameterized push doors use a separate argument to control dynamic door lighting.
A door trigger can be locked. This means that the door function will only operate if the player is in possession of the right key(s). Regular and extended door triggers only care if the player has a key of the right color, they do not care which. Generalized door triggers can distinguish between skull and card keys, and can also require any key, or all keys in order to activate.
A door can have different speeds, slow, normal, fast or turbo. Parameterized doors can open at any speed.
A door can wait for different amounts of time.
A door may or may not be activateable by monsters.
Any door function except Close and Stay Closed, when closing and encountering a monster or player's head will bounce harmlessly off that head and return to fully open. A Close and Stay Closed will rest on the head until it leaves the door sector.
Door linedef types[edit]
Table information[edit]
- Class: "reg" and "ext". The "registered" types are from vanilla DOOM, while the "extended" types were added since BOOM.
Regular and extended door types[edit]
# | Class | Trig | Lock | Speed | Wait | Monst | Function | Parameterized equivalent |
---|---|---|---|---|---|---|---|---|
1 | Reg | DR | No | Slow | 4s | Yes | Open, Wait, Then Close | Door_Raise(0, 16, 150, tag) |
117 | Reg | DR | No | Fast | 4s | No | Open, Wait, Then Close | Door_Raise(0, 64, 150, tag) |
63 | Reg | SR | No | Slow | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 16, 150, 0) |
114 | Reg | SR | No | Fast | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 64, 150, 0) |
29 | Reg | S1 | No | Slow | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 16, 150, 0) |
111 | Reg | S1 | No | Fast | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 64, 150, 0) |
90 | Reg | WR | No | Slow | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 16, 150, 0) |
105 | Reg | WR | No | Fast | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 64, 150, 0) |
4 | Reg | W1 | No | Slow | 4s | Yes | Open, Wait, Then Close | Door_Raise(tag, 16, 150, 0) |
108 | Reg | W1 | No | Fast | 4s | No | Open, Wait, Then Close | Door_Raise(tag, 64, 150, 0) |
31 | Reg | D1 | No | Slow | -- | No | Open and Stay Open | Door_Open(0, 16, tag) |
118 | Reg | D1 | No | Fast | -- | No | Open and Stay Open | Door_Open(0, 64, tag) |
61 | Reg | SR | No | Slow | -- | No | Open and Stay Open | Door_Open(tag, 16, 0) |
115 | Reg | SR | No | Fast | -- | No | Open and Stay Open | Door_Open(tag, 64, 0) |
103 | Reg | S1 | No | Slow | -- | No | Open and Stay Open | Door_Open(tag, 16, 0) |
112 | Reg | S1 | No | Fast | -- | No | Open and Stay Open | Door_Open(tag, 64, 0) |
86 | Reg | WR | No | Slow | -- | No | Open and Stay Open | Door_Open(tag, 16, 0) |
106 | Reg | WR | No | Fast | -- | No | Open and Stay Open | Door_Open(tag, 64, 0) |
2 | Reg | W1 | No | Slow | -- | No | Open and Stay Open | Door_Open(tag, 16, 0) |
109 | Reg | W1 | No | Fast | -- | No | Open and Stay Open | Door_Open(tag, 64, 0) |
46 | Reg | GR | No | Slow | -- | Yes | Open and Stay Open | Door_Open(tag, 16, 0) |
42 | Reg | SR | No | Slow | -- | No | Close and Stay Closed | Door_Close(tag, 16, 0) |
116 | Reg | SR | No | Fast | -- | No | Close and Stay Closed | Door_Close(tag, 64, 0) |
50 | Reg | S1 | No | Slow | -- | No | Close and Stay Closed | Door_Close(tag, 16, 0) |
113 | Reg | S1 | No | Fast | -- | No | Close and Stay Closed | Door_Close(tag, 64, 0) |
75 | Reg | WR | No | Slow | -- | No | Close and Stay Closed | Door_Close(tag, 16, 0) |
107 | Reg | WR | No | Fast | -- | No | Close and Stay Closed | Door_Close(tag, 64, 0) |
3 | Reg | W1 | No | Slow | -- | No | Close and Stay Closed | Door_Close(tag, 16, 0) |
110 | Reg | W1 | No | Fast | -- | No | Close and Stay Closed | Door_Close(tag, 64, 0) |
196 | Ext | SR | No | Slow | 30s | No | Close, Wait, Then Open | Door_CloseWaitOpen(tag, 16, 240, 0) |
175 | Ext | S1 | No | Slow | 30s | No | Close, Wait, Then Open | Door_CloseWaitOpen(tag, 16, 240, 0) |
76 | Reg | WR | No | Slow | 30s | No | Close, Wait, Then Open | Door_CloseWaitOpen(tag, 16, 240, 0) |
16 | Reg | W1 | No | Slow | 30s | No | Close, Wait, Then Open | Door_CloseWaitOpen(tag, 16, 240, 0) |
Regular and Extended Locked Door Types[edit]
# | Class | Trig | Lock | Speed | Wait | Monst | Function |
---|---|---|---|---|---|---|---|
26 | Reg | DR | Blue | Slow | 4s | No | Open, Wait, Then Close |
28 | Reg | DR | Red | Slow | 4s | No | Open, Wait, Then Close |
27 | Reg | DR | Yell | Slow | 4s | No | Open, Wait, Then Close |
32 | Reg | D1 | Blue | Slow | -- | No | Open and Stay Open |
33 | Reg | D1 | Red | Slow | -- | No | Open and Stay Open |
34 | Reg | D1 | Yell | Slow | -- | No | Open and Stay Open |
99 | Reg | SR | Blue | Fast | -- | No | Open and Stay Open |
134 | Reg | SR | Red | Fast | -- | No | Open and Stay Open |
136 | Reg | SR | Yell | Fast | -- | No | Open and Stay Open |
133 | Reg | S1 | Blue | Fast | -- | No | Open and Stay Open |
135 | Reg | S1 | Red | Fast | -- | No | Open and Stay Open |
137 | Reg | S1 | Yell | Fast | -- | No | Open and Stay Open |
There are two generalized door linedef types, Generalized Door, and Generalized Locked Door. The following tables show the possibilities for each parameter, any combination of parameters is allowed:
Slow and Fast represent the same speeds as slow and fast regular doors. Normal is twice as fast as slow, Fast is twice normal, Turbo is twice Fast.
Generalized Door Types[edit]
# | Class | Trig | Lock | Speed | Wait | Monst | Function |
---|---|---|---|---|---|---|---|
3C00H-4000H | Gen | D1/DR | No | Slow | 1s | Yes | Open, Wait, Then Close |
S1/SR | Normal | 4s | No | Open and Stay Open | |||
W1/WR | Fast | 9s | Close and Stay Closed | ||||
G1/GR | Turbo | 30s | Close, Wait, Then Open |
Generalized Locked Door Types[edit]
# | Class | Trig | Lock | Speed | Wait | Monst | Function |
---|---|---|---|---|---|---|---|
3800H-3C00H | Gen | D1/DR | Any | Slow | 1s | No | Open, Wait, Then Close |
S1/SR | Blue | Normal | 4s | Open and Stay Open | |||
W1/WR | Red | Fast | 9s | Close and Stay Closed | |||
G1/GR | Yell | Turbo | 30s | Close, Wait, Then Open | |||
BlueC | |||||||
RedC | |||||||
YellC | |||||||
BlueS | |||||||
RedS | |||||||
YellS | |||||||
All3 | |||||||
All6 |
There are several types of parameterized door specials, each performing a different type of door action. See the Parameterized Door Types section for full information on how to use these specials.