Door linedef types: Difference between revisions

From Eternity Wiki
Jump to navigationJump to search
(→‎Door linedef types: Added extradata mnemonics to reg/ext linetypes)
Line 136: Line 136:
                         All3
                         All3
                         All6
                         All6
There are currently six 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.
 
Parameterized Door Types
=Parameterized door specials=
-----------------------------------------------------------------
*300 '''Door_Raise'''(''tag'', ''speed'', ''delay'', ''light_tag'')
#        Class  Function                      ExtraData Name
*301 '''Door_Open'''(''tag'', ''speed'', ''light_tag'')
*302 '''Door_Close'''(''tag'', ''speed'', ''light_tag'')
300     Param  Open, Wait, Then Close        Door_Raise
*303 '''Door_CloseWaitOpen'''(''tag'', ''speed'', ''delay'', ''light_tag'')
301     Param  Open and Stay Open            Door_Open
*304 '''Door_WaitRaise'''(''tag'', ''speed'', ''delay'', ''timeoffset'', ''light_tag'')
302     Param  Close and Stay Closed        Door_Close
*305 '''Door_WaitClose'''(''tag'', ''speed'', ''timeoffset'', ''light_tag'')
303     Param  Close, Wait, Then Open        Door_CloseWaitOpen
:''tag'': Tag of sector to affect. If it's 0, then the sector behind the linedef will be activated, if applicable.
304     Param  Wait, Open, Wait, Close      Door_WaitRaise
:''speed'': How fast, in eights of units per tic, the door should move. Doom normal doors are as fast as 16, and blazing doors are 64.
305     Param  Wait, Close and Stay Closed  Door_WaitClose
:''delay'': Time in tics (1/35 seconds) for the door before it returns to its opposite movement.
:''timeoffset'': Time in tics before the door activates.
:''light_tag'': Sector tag to receive light changes to maximum or minimum neighbor depending on whether the door is closed or opened.
 
----


''Back to [[Linedef types]]''
''Back to [[Linedef types]]''

Revision as of 16:27, 21 February 2010

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 thru 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.

Door functions

  • 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.

  • Open and Stay Open

On activation, door opens fully and remains there.

  • Close and Stay Closed

On activation, door closes fully, and remains there.

  • Close, Wait, Then Open

On activation, door closes fully, waits a specified period, then opens fully.

  • 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.

  • 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.

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 resp.

Since a push door (P1/PR) 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 activatable 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

Regular and Extended Door Types
-----------------------------------------------------------------------------------------------------
#        Class   Trig   Lock   Speed    Wait  Monst    Function                    ExtraData mnemonic

1        Reg     DR     No     Slow     4s    Yes      Open, Wait, Then Close      DR_RaiseDoor_Slow_Mon
117      Reg     DR     No     Fast     4s    No       Open, Wait, Then Close      DR_RaiseDoor_Fast
63       Reg     SR     No     Slow     4s    No       Open, Wait, Then Close      SR_RaiseDoor_Slow
114      Reg     SR     No     Fast     4s    No       Open, Wait, Then Close      SR_RaiseDoor_Fast
29       Reg     S1     No     Slow     4s    No       Open, Wait, Then Close      S1_RaiseDoor_Slow
111      Reg     S1     No     Fast     4s    No       Open, Wait, Then Close      S1_RaiseDoor_Fast
90       Reg     WR     No     Slow     4s    No       Open, Wait, Then Close      WR_RaiseDoor_Slow
105      Reg     WR     No     Fast     4s    No       Open, Wait, Then Close      WR_RaiseDoor_Fast
4        Reg     W1     No     Slow     4s    Yes      Open, Wait, Then Close      W1_RaiseDoor_Slow
108      Reg     W1     No     Fast     4s    No       Open, Wait, Then Close      W1_RaiseDoor_Fast

31       Reg     D1     No     Slow     --    No       Open and Stay Open          D1_OpenDoor_Slow
118      Reg     D1     No     Fast     --    No       Open and Stay Open          D1_OpenDoor_Fast
61       Reg     SR     No     Slow     --    No       Open and Stay Open          SR_OpenDoor_Slow
115      Reg     SR     No     Fast     --    No       Open and Stay Open          SR_OpenDoor_Fast
103      Reg     S1     No     Slow     --    No       Open and Stay Open          S1_OpenDoor_Slow
112      Reg     S1     No     Fast     --    No       Open and Stay Open          S1_OpenDoor_Fast
86       Reg     WR     No     Slow     --    No       Open and Stay Open          WR_OpenDoor_Slow
106      Reg     WR     No     Fast     --    No       Open and Stay Open          WR_OpenDoor_Fast
2        Reg     W1     No     Slow     --    No       Open and Stay Open          W1_OpenDoor_Slow
109      Reg     W1     No     Fast     --    No       Open and Stay Open          W1_OpenDoor_Fast
46       Reg     GR     No     Slow     --    Yes      Open and Stay Open          GR_OpenDoor_Slow

42       Reg     SR     No     Slow     --    No       Close and Stay Closed       SR_CloseDoor_Slow
116      Reg     SR     No     Fast     --    No       Close and Stay Closed       SR_CloseDoor_Fast
50       Reg     S1     No     Slow     --    No       Close and Stay Closed       S1_CloseDoor_Slow
113      Reg     S1     No     Fast     --    No       Close and Stay Closed       S1_CloseDoor_Fast
75       Reg     WR     No     Slow     --    No       Close and Stay Closed       WR_CloseDoor_Slow
107      Reg     WR     No     Fast     --    No       Close and Stay Closed       WR_CloseDoor_Fast
3        Reg     W1     No     Slow     --    No       Close and Stay Closed       W1_CloseDoor_Slow
110      Reg     W1     No     Fast     --    No       Close and Stay Closed       W1_CloseDoor_Fast

196      Ext     SR     No     Slow     30s   No       Close, Wait, Then Open      SR_Door_CloseWait30
175      Ext     S1     No     Slow     30s   No       Close, Wait, Then Open      S1_Door_CloseWait30
76       Reg     WR     No     Slow     30s   No       Close, Wait, Then Open      WR_Door_CloseWait30
16       Reg     W1     No     Slow     30s   No       Close, Wait, Then Open      W1_Door_CloseWait30

Regular and Extended Locked Door Types
--------------------------------------------------------------------------------------------------
#        Class   Trig   Lock   Speed    Wait  Monst    Function                 ExtraData mnemonic

26       Reg     DR     Blue   Slow     4s    No       Open, Wait, Then Close   DR_RaiseLockedDoor_Blue_Slow
28       Reg     DR     Red    Slow     4s    No       Open, Wait, Then Close   DR_RaiseLockedDoor_Red_Slow
27       Reg     DR     Yell   Slow     4s    No       Open, Wait, Then Close   DR_RaiseLockedDoor_Yellow_Slow

32       Reg     D1     Blue   Slow     --    No       Open and Stay Open       D1_OpenLockedDoor_Blue_Slow
33       Reg     D1     Red    Slow     --    No       Open and Stay Open       D1_OpenLockedDoor_Red_Slow
34       Reg     D1     Yell   Slow     --    No       Open and Stay Open       D1_OpenLockedDoor_Yellow_Slow
99       Reg     SR     Blue   Fast     --    No       Open and Stay Open       WR_OpenLockedDoor_Blue_Fast (sic)
134      Reg     SR     Red    Fast     --    No       Open and Stay Open       SR_OpenLockedDoor_Red_Fast
136      Reg     SR     Yell   Fast     --    No       Open and Stay Open       SR_OpenLockedDoor_Yellow_Fast
133      Reg     S1     Blue   Fast     --    No       Open and Stay Open       S1_OpenLockedDoor_Blue_Fast
135      Reg     S1     Red    Fast     --    No       Open and Stay Open       S1_OpenLockedDoor_Red_Fast
137      Reg     S1     Yell   Fast     --    No       Open and Stay Open       S1_OpenLockedDoor_Yellow_Fast

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
---------------------------------------------------------------
#        Class   Trig   Lock   Speed    Wait  Monst    Function 

3C00H-   Gen     D1/DR  No     Slow     1s    Yes      Open, Wait, Then Close
4000H            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   Trig   Lock   Speed    Wait  Monst    Function 

3800H-   Gen     D1/DR  Any    Slow     1s    No       Open, Wait, Then Close
3C00H            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

Parameterized door specials

  • 300 Door_Raise(tag, speed, delay, light_tag)
  • 301 Door_Open(tag, speed, light_tag)
  • 302 Door_Close(tag, speed, light_tag)
  • 303 Door_CloseWaitOpen(tag, speed, delay, light_tag)
  • 304 Door_WaitRaise(tag, speed, delay, timeoffset, light_tag)
  • 305 Door_WaitClose(tag, speed, timeoffset, light_tag)
tag: Tag of sector to affect. If it's 0, then the sector behind the linedef will be activated, if applicable.
speed: How fast, in eights of units per tic, the door should move. Doom normal doors are as fast as 16, and blazing doors are 64.
delay: Time in tics (1/35 seconds) for the door before it returns to its opposite movement.
timeoffset: Time in tics before the door activates.
light_tag: Sector tag to receive light changes to maximum or minimum neighbor depending on whether the door is closed or opened.

Back to Linedef types