P1 PR S1 SR W1 WR G1 GRNote: P1/PR types are also sometimes referred to as D1/DR types.
Regular and Extended Door Types --------------------------------------------------------------- # Class Trig Lock Speed Wait Monst Function 1 Reg PR No Slow 4s Yes Open, Wait, Then Close 117 Reg PR No Fast 4s No Open, Wait, Then Close 63 Reg SR No Slow 4s No Open, Wait, Then Close 114 Reg SR No Fast 4s No Open, Wait, Then Close 29 Reg S1 No Slow 4s No Open, Wait, Then Close 111 Reg S1 No Fast 4s No Open, Wait, Then Close 90 Reg WR No Slow 4s No Open, Wait, Then Close 105 Reg WR No Fast 4s No Open, Wait, Then Close 4 Reg W1 No Slow 4s No Open, Wait, Then Close 108 Reg W1 No Fast 4s No Open, Wait, Then Close 31 Reg P1 No Slow -- No Open and Stay Open 118 Reg P1 No Fast -- No Open and Stay Open 61 Reg SR No Slow -- No Open and Stay Open 115 Reg SR No Fast -- No Open and Stay Open 103 Reg S1 No Slow -- No Open and Stay Open 112 Reg S1 No Fast -- No Open and Stay Open 86 Reg WR No Slow -- No Open and Stay Open 106 Reg WR No Fast -- No Open and Stay Open 2 Reg W1 No Slow -- No Open and Stay Open 109 Reg W1 No Fast -- No Open and Stay Open 46 Reg GR No Slow -- No Open and Stay Open 42 Reg SR No Slow -- No Close and Stay Closed 116 Reg SR No Fast -- No Close and Stay Closed 50 Reg S1 No Slow -- No Close and Stay Closed 113 Reg S1 No Fast -- No Close and Stay Closed 75 Reg WR No Slow -- No Close and Stay Closed 107 Reg WR No Fast -- No Close and Stay Closed 3 Reg W1 No Slow -- No Close and Stay Closed 110 Reg W1 No Fast -- No Close and Stay Closed 196 Ext SR No Slow 30s No Close, Wait, Then Open 175 Ext S1 No Slow 30s No Close, Wait, Then Open 76 Reg WR No Slow 30s No Close, Wait, Then Open 16 Reg W1 No Slow 30s No Close, Wait, Then Open Regular and Extended Locked Door Types --------------------------------------------------------------- # Class Trig Lock Speed Wait Monst Function 26 Reg PR Blue Slow 4s No Open, Wait, Then Close 28 Reg PR Red Slow 4s No Open, Wait, Then Close 27 Reg PR Yell Slow 4s No Open, Wait, Then Close 32 Reg P1 Blue Slow -- No Open and Stay Open 33 Reg P1 Red Slow -- No Open and Stay Open 34 Reg P1 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 OpenThere 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:
Generalized Door Types
---------------------------------------------------------------
# Class Trig Lock Speed Wait Monst Function
3C00H- Gen P1/PR 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 P1/PR 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
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 ----------------------------------------------------------------- # Class Function ExtraData Name 300 Param Open, Wait, Then Close Door_Raise 301 Param Open and Stay Open Door_Open 302 Param Close and Stay Closed Door_Close 303 Param Close, Wait, Then Open Door_CloseWaitOpen 304 Param Wait, Open, Wait, Close Door_WaitRaise 305 Param Wait, Close and Stay Closed Door_WaitCloseReturn to Table of Contents
Regular and Extended Floor Types
-------------------------------------------------------------------
# Class Trig Dir Spd Chg Mdl Mon Crsh Target
60 Reg SR Dn Slow None -- No No Lowest Neighbor Floor
23 Reg S1 Dn Slow None -- No No Lowest Neighbor Floor
82 Reg WR Dn Slow None -- No No Lowest Neighbor Floor
38 Reg W1 Dn Slow None -- No No Lowest Neighbor Floor
177 Ext SR Dn Slow TxTy Num No No Lowest Neighbor Floor
159 Ext S1 Dn Slow TxTy Num No No Lowest Neighbor Floor
84 Reg WR Dn Slow TxTy Num No No Lowest Neighbor Floor
37 Reg W1 Dn Slow TxTy Num No No Lowest Neighbor Floor
69 Reg SR Up Slow None -- No No Next Neighbor Floor
18 Reg S1 Up Slow None -- No No Next Neighbor Floor
128 Reg WR Up Slow None -- No No Next Neighbor Floor
119 Reg W1 Up Slow None -- No No Next Neighbor Floor
132 Reg SR Up Fast None -- No No Next Neighbor Floor
131 Reg S1 Up Fast None -- No No Next Neighbor Floor
129 Reg WR Up Fast None -- No No Next Neighbor Floor
130 Reg W1 Up Fast None -- No No Next Neighbor Floor
222 Ext SR Dn Slow None -- No No Next Neighbor Floor
221 Ext S1 Dn Slow None -- No No Next Neighbor Floor
220 Ext WR Dn Slow None -- No No Next Neighbor Floor
219 Ext W1 Dn Slow None -- No No Next Neighbor Floor
64 Reg SR Up Slow None -- No No Lowest Neighbor Ceiling
101 Reg S1 Up Slow None -- No No Lowest Neighbor Ceiling
91 Reg WR Up Slow None -- No No Lowest Neighbor Ceiling
5 Reg W1 Up Slow None -- No No Lowest Neighbor Ceiling
24 Reg G1 Up Slow None -- No No Lowest Neighbor Ceiling
65 Reg SR Up Slow None -- No Yes Lowest Neighbor Ceiling - 8
55 Reg S1 Up Slow None -- No Yes Lowest Neighbor Ceiling - 8
94 Reg WR Up Slow None -- No Yes Lowest Neighbor Ceiling - 8
56 Reg W1 Up Slow None -- No Yes Lowest Neighbor Ceiling - 8
45 Reg SR Dn Slow None -- No No Highest Neighbor Floor
102 Reg S1 Dn Slow None -- No No Highest Neighbor Floor
83 Reg WR Dn Slow None -- No No Highest Neighbor Floor
19 Reg W1 Dn Slow None -- No No Highest Neighbor Floor
70 Reg SR Dn Fast None -- No No Highest Neighbor Floor + 8
71 Reg S1 Dn Fast None -- No No Highest Neighbor Floor + 8
98 Reg WR Dn Fast None -- No No Highest Neighbor Floor + 8
36 Reg W1 Dn Fast None -- No No Highest Neighbor Floor + 8
180 Ext SR Up Slow None -- No No Absolute 24
161 Ext S1 Up Slow None -- No No Absolute 24
92 Reg WR Up Slow None -- No No Absolute 24
58 Reg W1 Up Slow None -- No No Absolute 24
179 Ext SR Up Slow TxTy Trg No No Absolute 24
160 Ext S1 Up Slow TxTy Trg No No Absolute 24
93 Reg WR Up Slow TxTy Trg No No Absolute 24
59 Reg W1 Up Slow TxTy Trg No No Absolute 24
176 Ext SR Up Slow None -- No No Abs Shortest Lower Texture
158 Ext S1 Up Slow None -- No No Abs Shortest Lower Texture
96 Reg WR Up Slow None -- No No Abs Shortest Lower Texture
30 Reg W1 Up Slow None -- No No Abs Shortest Lower Texture
178 Ext SR Up Slow None -- No No Absolute 512
140 Reg S1 Up Slow None -- No No Absolute 512
147 Ext WR Up Slow None -- No No Absolute 512
142 Ext W1 Up Slow None -- No No Absolute 512
190 Ext SR -- ---- TxTy Trg No No None
189 Ext S1 -- ---- TxTy Trg No No None
154 Ext WR -- ---- TxTy Trg No No None
153 Ext W1 -- ---- TxTy Trg No No None
78 Ext SR -- ---- TxTy Num No No None
241 Ext S1 -- ---- TxTy Num No No None
240 Ext WR -- ---- TxTy Num No No None
239 Ext W1 -- ---- TxTy Num No No None
The following tables show the possibilities for generalized floor
linedef type parameters. Any combination of parameters is
allowed:Generalized Floor Types
---------------------------------------------------------------------------
# Class Trig Dir Spd *Chg *Mdl Mon Crsh Target
6000H- Gen P1/PR Up Slow None Trg Yes Yes Lowest Neighbor Floor
7FFFH S1/SR Dn Normal Tx Num No No Next Neighbor Floor
W1/WR Fast Tx0 Lowest Neighbor Ceiling
G1/GR Turbo TxTy Highest Neighbor Floor
Ceiling
24
32
*Mon(ster) enabled must be No if Shortest Lower Texture
Chg field is not None
Tx = Texture copied only Trg = Trigger Model
Tx0 = Texture copied and Type->0 Num = Numeric Model
TxTy = Texture and Type copied
There are currently seventeen types of parameterized floor specials, each
performing a different type of floor action. See the
Parameterized Floor Types section for full information
on how to use these specials.
Parameterized Floor Types ------------------------------------------------------------------------------ # Class Function ExtraData Name 306 Param Up to Highest Neighbor Floor Floor_RaiseToHighest 307 Param Down to Highest Neighbor Floor Floor_LowerToHighest 308 Param Up to Lowest Neighbor Floor Floor_RaiseToLowest 309 Param Down to Lowest Neighbor Floor Floor_LowerToLowest 310 Param Up to Next Neighbor Floor Floor_RaiseToNearest 311 Param Down to Next Neighbor Floor Floor_LowerToNearest 312 Param Up to Lowest Neighbor Ceiling Floor_RaiseToLowestCeiling 313 Param Down to Lowest Neighbor Ceiling Floor_LowerToLowestCeiling 314 Param Up to Ceiling Floor_RaiseToCeiling 315 Param Up Abs Shortest Lower Texture Floor_RaiseByTexture 316 Param Down Abs Shortest Lower Texture Floor_LowerByTexture 317 Param Up Absolute Param Floor_RaiseByValue 318 Param Down Absolute Param Floor_LowerByValue 319 Param To Absolute Height Floor_MoveToValue 320 Param Up Absolute Param, Instant Floor_RaiseInstant 321 Param Down Absolute Param, Instant Floor_LowerInstant 322 Param To Ceiling Instant Floor_ToCeilingInstantReturn to Table of Contents
Regular and Extended Ceiling Types
-------------------------------------------------------------------
# Class Trig Dir Spd *Chg *Mdl Mon Crsh Target
43 Reg SR Dn Fast None -- No No Floor
41 Reg S1 Dn Fast None -- No No Floor
152 Ext WR Dn Fast None -- No No Floor
145 Ext W1 Dn Fast None -- No No Floor
186 Ext SR Up Slow None -- No No Highest Neighbor Ceiling
166 Ext S1 Up Slow None -- No No Highest Neighbor Ceiling
151 Ext WR Up Slow None -- No No Highest Neighbor Ceiling
40 Reg W1 Up Slow None -- No No Highest Neighbor Ceiling
187 Ext SR Dn Slow None -- No No 8 Above Floor
167 Ext S1 Dn Slow None -- No No 8 Above Floor
72 Reg WR Dn Slow None -- No No 8 Above Floor
44 Reg W1 Dn Slow None -- No No 8 Above Floor
205 Ext SR Dn Slow None -- No No Lowest Neighbor Ceiling
203 Ext S1 Dn Slow None -- No No Lowest Neighbor Ceiling
201 Ext WR Dn Slow None -- No No Lowest Neighbor Ceiling
199 Ext W1 Dn Slow None -- No No Lowest Neighbor Ceiling
206 Ext SR Dn Slow None -- No No Highest Neighbor Floor
204 Ext S1 Dn Slow None -- No No Highest Neighbor Floor
202 Ext WR Dn Slow None -- No No Highest Neighbor Floor
200 Ext W1 Dn Slow None -- No No Highest Neighbor Floor
Generalized Ceiling Types
---------------------------------------------------------------------------
# Class Trig Dir Spd *Chg *Mdl Mon Crsh Target
4000H- Gen P1/PR Up Slow None Trg Yes Yes Highest Neighbor Ceiling
5FFFH S1/SR Dn Normal Tx Num No No Next Neighbor Ceiling
W1/WR Fast Tx0 Lowest Neighbor Ceiling
G1/GR Turbo TxTy Highest Neighbor Floor
Floor
24
32
*Mon(ster) enabled must be No if Shortest Upper Texture
Chg field is not None
Tx = Texture copied only Trg = Trigger Model
Tx0 = Texture copied and Type->0 Num = Numeric Model
TxTy = Texture and Type copied
There are currently seventeen types of parameterized ceiling specials, each
performing a different type of ceiling action. See the
Parameterized Ceiling Types section for full
information on how to use these specials.
Parameterized Ceiling Types ------------------------------------------------------------------------------- # Class Function ExtraData Name 323 Param Up to Highest Neighbor Ceiling Ceiling_RaiseToHighest 324 Param Up to HnC Instant Ceiling_ToHighestInstant 325 Param Up to Nearest Neighbor Ceiling Ceiling_RaiseToNearest 326 Param Down to Nearest Neighbor Ceiling Ceiling_LowerToNearest 327 Param Up to Lowest Neighbor Ceiling Ceiling_RaiseToLowest 328 Param Down to Lowest Neighbor Ceiling Ceiling_LowerToLowest 329 Param Up to Highest Neighbor Floor Ceiling_RaiseToHighestFloor 330 Param Down to Highest Neighbor Floor Ceiling_LowerToHighestFloor 331 Param Down to Floor Instant Ceiling_ToFloorInstant 332 Param Down to Floor Ceiling_LowerToFloor 333 Param Up Abs Shortest Upper Texture Ceiling_RaiseByTexture 334 Param Down Abs Shortest Upper Texture Ceiling_LowerByTexture 335 Param Up Absolute Param Ceiling_RaiseByValue 336 Param Down Absolute Param Ceiling_LowerByValue 337 Param To Absolute Height Ceiling_MoveToValue 338 Param Up Absolute Param, Instant Ceiling_RaiseInstant 339 Param Down Absolute Param, Instant Ceiling_LowerInstantReturn to Table of Contents
Regular and Extended Platform Types
-------------------------------------------------------------------
# Class Trig Dly Spd Chg Mdl Mon Target
66 Reg SR -- Slow Tx Trg No Raise 24 Units
15 Reg S1 -- Slow Tx Trg No Raise 24 Units
148 Ext WR -- Slow Tx Trg No Raise 24 Units
143 Ext W1 -- Slow Tx Trg No Raise 24 Units
67 Reg SR -- Slow Tx0 Trg No Raise 32 Units
14 Reg S1 -- Slow Tx0 Trg No Raise 32 Units
149 Ext WR -- Slow Tx0 Trg No Raise 32 Units
144 Ext W1 -- Slow Tx0 Trg No Raise 32 Units
68 Reg SR -- Slow Tx0 Trg No Raise Next Floor
20 Reg S1 -- Slow Tx0 Trg No Raise Next Floor
95 Reg WR -- Slow Tx0 Trg No Raise Next Floor
22 Reg W1 -- Slow Tx0 Trg No Raise Next Floor
47 Reg G1 -- Slow Tx0 Trg No Raise Next Floor
181 Ext SR 3s Slow None -- No Lowest and Highest Floor (perpetual)
162 Ext S1 3s Slow None -- No Lowest and Highest Floor (perpetual)
87 Reg WR 3s Slow None -- No Lowest and Highest Floor (perpetual)
53 Reg W1 3s Slow None -- No Lowest and Highest Floor (perpetual)
182 Ext SR -- ---- ---- -- -- Stop
163 Ext S1 -- ---- ---- -- -- Stop
89 Reg WR -- ---- ---- -- -- Stop
54 Reg W1 -- ---- ---- -- -- Stop
62 Reg SR 3s Slow None -- No Lowest Neighbor Floor (lift)
21 Reg S1 3s Slow None -- No Lowest Neighbor Floor (lift)
88 Reg WR 3s Slow None -- No Lowest Neighbor Floor (lift)
10 Reg W1 3s Slow None -- No Lowest Neighbor Floor (lift)
123 Reg SR 3s Fast None -- No Lowest Neighbor Floor (lift)
122 Reg S1 3s Fast None -- No Lowest Neighbor Floor (lift)
120 Reg WR 3s Fast None -- No Lowest Neighbor Floor (lift)
121 Reg W1 3s Fast None -- No Lowest Neighbor Floor (lift)
211 Ext SR -- Inst None -- No Ceiling (toggle)
212 Ext WR -- Inst None -- No Ceiling (toggle)
Generalized Lift Types
---------------------------------------------------------------------------
# Class Trig Dly Spd Mon Target
3400H- Gen P1/PR 1s Slow Yes Lowest Neighbor Floor
37FFH S1/SR 3s Normal No Next Lowest Neighbor Floor
W1/WR 5s Fast Lowest Neighbor Ceiling
G1/GR 10s Turbo Lowest and Highest Floor (perpetual)
Return to Table of Contents
Regular and Extended Crusher Types
-------------------------------------------------------------------
# Class Trig Spd Mon Silent Action
184 Ext SR Slow No No Start
49 Reg S1 Slow No No Start
73 Reg WR Slow No No Start
25 Reg W1 Slow No No Start
183 Ext SR Fast No No Start
164 Ext S1 Fast No No Start
77 Reg WR Fast No No Start
6 Reg W1 Fast No No Start
185 Ext SR Slow No Yes Start
165 Ext S1 Slow No Yes Start
150 Ext WR Slow No Yes Start
141 Reg W1 Slow No Yes Start
188 Ext SR ---- -- -- Stop
168 Ext S1 ---- -- -- Stop
74, Reg WR ---- -- -- Stop
57, Reg W1 ---- -- -- Stop
Generalized Crusher Types
---------------------------------------------------------------------------
# Class Trig Spd Mon Silent
2F80H- Gen P1/PR Slow Yes Yes
2FFFH S1/SR Normal No No
W1/WR Fast
G1/GR Turbo
Return to Table of Contents
Regular and Extended Stairs Types
-------------------------------------------------------------------
# Class Trig Dir Spd Step Ignore Mon
258 Ext SR Up Slow 8 No No
7 Reg S1 Up Slow 8 No No
256 Ext WR Up Slow 8 No No
8 Reg W1 Up Slow 8 No No
259 Ext SR Up Fast 16 No No
127 Reg S1 Up Fast 16 No No
257 Ext WR Up Fast 16 No No
100 Reg W1 Up Fast 16 No No
Generalized Stairs Types
---------------------------------------------------------------------------
# Class Trig Dir Spd Step Ignore Mon
3000H- Gen P1/PR Up Slow 4 Yes Yes
33FFH S1/SR Dn Normal 8 No No
W1/WR Fast 16
G1/GR Turbo 24
There are currently four types of parameterized stair specials, each
performing a different type of stair action. See the
Parameterized Stair Types section for full
information on how to use these specials.
Parameterized Stair Types ------------------------------------------------------------------------------- # Class Function ExtraData Name 340 Param Build stairs up, DOOM method Stairs_BuildUpDoom 341 Param Build stairs down, DOOM method Stairs_BuildDownDoom 342 Param Build stairs up sync, DOOM method Stairs_BuildUpDoomSync 343 Param Build stairs dn sync, DOOM method Stairs_BuildDownDoomSyncReturn to Table of Contents
Extended Elevator types ------------------------------------------------------------------- # Class Trig Spd Target 230 Ext SR Fast Next Highest Floor 229 Ext S1 Fast Next Highest Floor 228 Ext WR Fast Next Highest Floor 227 Ext W1 Fast Next Highest Floor 234 Ext SR Fast Next Lowest Floor 233 Ext S1 Fast Next Lowest Floor 232 Ext WR Fast Next Lowest Floor 231 Ext W1 Fast Next Lowest Floor 238 Ext SR Fast Current Floor 237 Ext S1 Fast Current Floor 236 Ext WR Fast Current Floor 235 Ext W1 Fast Current FloorReturn to Table of Contents
Regular and Extended Lighting types ------------------------------------------------------------------- # Class Trig Target 139 Reg SR 35 Units 170 Ext S1 35 Units 79 Reg WR 35 Units 35 Reg W1 35 Units 138 Reg SR 255 Units 171 Ext S1 255 Units 81 Reg WR 255 Units 13 Reg W1 255 Units 192 Ext SR Maximum Neighbor 169 Ext S1 Maximum Neighbor 80 Reg WR Maximum Neighbor 12 Reg W1 Maximum Neighbor 194 Ext SR Minimum Neighbor 173 Ext S1 Minimum Neighbor 157 Ext WR Minimum Neighbor 104 Reg W1 Minimum Neighbor 193 Ext SR Blinking 172 Ext S1 Blinking 156 Ext WR Blinking 17 Reg W1 BlinkingThere are currently seven types of parameterized lighting specials, each performing a different type of lighting action. See the Parameterized Lighting section for full information on how to use these specials.
Parameterized Stair Types ------------------------------------------------------------------------------- # Class Function ExtraData Name 368 Param Raise light by given amount Light_RaiseByValue 369 Param Lower light by given amount Light_LowerByValue 370 Param Change light to given level Light_ChangeToValue 371 Param Fade light to given level Light_Fade 372 Param Fade light between two levels Light_Glow 373 Param Flicker light between two levels Light_Flicker 374 Param As above, but with given period Light_StrobeReturn to Table of Contents
Regular and Extended Exit types ------------------------------------------------------------------- # Class Trig Type 11 Reg S1 Normal 52 Reg W1 Normal 197 Ext G1 Normal 51 Reg S1 Secret 124 Reg W1 Secret 198 Ext G1 SecretReturn to Table of Contents
Regular and Extended Teleport types ------------------------------------------------------------------- # Class Trig Silent Mon Plyr Orient Dest 195 Ext SR No Yes Yes Set TP thing in tagged sector 174 Ext S1 No Yes Yes Set TP thing in tagged sector 97 Reg WR No Yes Yes Set TP thing in tagged sector 39 Reg W1 No Yes Yes Set TP thing in tagged sector 126 Reg WR No Yes No Set TP thing in tagged sector 125 Reg W1 No Yes No Set TP thing in tagged sector 269 Ext WR Yes Yes No Set TP thing in tagged sector 268 Ext W1 Yes Yes No Set TP thing in tagged sector 210 Ext SR Yes Yes Yes Preserve TP thing in tagged sector 209 Ext S1 Yes Yes Yes Preserve TP thing in tagged sector 208 Ext WR Yes Yes Yes Preserve TP thing in tagged sector 207 Ext W1 Yes Yes Yes Preserve TP thing in tagged sector 244 Ext WR Yes Yes Yes Preserve Line with same tag 243 Ext W1 Yes Yes Yes Preserve Line with same tag 263 Ext WR Yes Yes Yes Preserve Line with same tag (reversed) 262 Ext W1 Yes Yes Yes Preserve Line with same tag (reversed) 267 Ext WR Yes Yes No Preserve Line with same tag 266 Ext W1 Yes Yes No Preserve Line with same tag 265 Ext WR Yes Yes No Preserve Line with same tag (reversed) 264 Ext W1 Yes Yes No Preserve Line with same tag (reversed)Return to Table of Contents
Regular and Extended Donut types ------------------------------------------------------------------- # Class Trig 191 Ext SR 9 Reg S1 155 Ext WR 146 Ext W1Return to Table of Contents
Extended Property Transfer Linedefs ------------------------------------------------------------------- # Class Trig Description
213 Ext -- Set Tagged Floor Lighting to Lighting on 1st Sidedef's SectorUsed to give the floor of a sector a different light level from the remainder of the sector. For example bright lava in a dark room.
261 Ext -- Set Tagged Ceiling Lighting to Lighting on 1st Sidedef's SectorUsed to give the ceiling of a sector a different light level from the remainder of the sector.
260 Ext -- Make Tagged Lines (or this line if tag==0) TranslucentUsed to make 2s normal textures translucent. If tag==0, then this linedef's normal texture is made translucent if it's 2s, and the default translucency map TRANMAP is used as the filter. If tag!=0, then all similarly-tagged 2s linedefs' normal textures are made translucent, and if this linedef's first sidedef contains a valid lump name for its middle texture (as opposed to a texture name), and the lump is 64K long, then that lump will be used as the translucency filter instead of the default TRANMAP, allowing different filters to be used in different parts of the same maps. If the first side's normal texture is not a valid translucency filter lump name, it must be a valid texture name, and will be displayed as such on this linedef.
242 Ext -- Set Tagged Lighting, Flats Heights to 1st Sidedef's Sector,
and set colormap based on sidedef textures.
This allows the tagged sector to have two levels -- an actual
floor and ceiling, and another floor or ceiling where more flats
are rendered. Things will stand on the actual floor or hang from
the actual ceiling, while this function provides another rendered
floor and ceiling at the heights of the sector on the first
sidedef of the linedef. Typical use is "deep water"
that can be over the player's head. ---------------------------------- < real sector's ceiling height
| real ceiling | < control sector's ceiling texture
| |
| | < control sector's lightlevel
| A |
| | < upper texture as colormap
| |
| | < control sector's floor texture
---------------------------------- < control sector's ceiling height
| fake ceiling | < real sector's ceiling texture
| |
| | < real sector's lightlevel
| B |
| | < normal texture as colormap
| |
| fake floor | < real sector's floor texture
---------------------------------- < control sector's floor height
| | < control sector's ceiling texture
| |
| | < control sector's lightlevel
| C |
| | < lower texture as colormap
| |
| real floor | < control sector's floor texture
---------------------------------- < real sector's floor height
Boom sectors controlled by a 242 linedef are partitioned into 3
spaces. The viewer's xyz coordinates uniquely determine which
space they are in. ---------------------------------- < real sector's ceiling texture
| real ceiling = fake ceiling |
| |
| |
| B | < real sector's lightlevel
| | < normal texture's colormap
| |
| real floor |
---------------------------------- < invisible, no texture drawn
| |
| |
| | < real sector's lightlevel
| C | < normal texture's colormap
| |
| |
| fake floor | < real sector's floor texture
---------------------------------- < fake sector's floor height
In this case, since the viewer is always at or above the fake
floor, no colormap/lighting/texture changes occur -- the fake
floor just gets drawn at the control sector's height, but at the
real sector's lighting and texture, while objects stand on the
higher height of the real floor.223 Ext -- Length Sets Friction in tagged Sector,Sludge<100, Ice>100The length of the linedef with type 223 controls the amount of friction experienced by the player in the tagged sector, when in contact with the floor. Lengths less than 100 are sticker than normal, lengths greater than 100 are slipperier than normal. The effect is only present in the tagged sector when its friction enable bit (bit 8) in the sector type is set. This allows the flat to be changed in conjunction with turning the effect on or off thru texture/type changes.
271 Ext -- Transfer sky texture to tagged sectors 272 Ext -- Transfer sky texture to tagged sectors, flippedThese linedefs transfer wall textures to skies. F_SKY1 must still be used as the floor or ceiling texture in the sectors for which sky is desired, but the presence of a 271 or 272 property-transfer linedef can change the sky texture to something other than a level-based default.
line type above on under
--------- ----- -- -----
wind 224 full half none
current 225 none full full
224 Ext -- Length/Direction Sets Wind Force in tagged Sectors 225 Ext -- Length/Direction Sets Current Force in tagged Sectors
226 Ext -- Length Sets Point Source Wind/Current Force in Tagged Sectors=== New to Eternity ===
281 Ext -- Floor movement of sector on 1st side is transferred to all
like-tagged 3DMidTex lines as vertical scrolling
282 Ext -- Ceiling movement of sector on 1st side is transferred to all
like-tagged 3DMidTex lines as vertical scrolling
Heretic Sector Type Equivalent Line Setup --------------------------------------------------------------------------- 4 294, East (0 degrees), length 112 20 - 24 294, East (0 degrees), lengths 20, 40, 100, 120, 140 25 - 29 294, North (90 deg.), lengths 20, 40, 100, 120, 140 30 - 34 294, South (270 deg.), lengths 20, 40, 100, 120, 140 35 - 39 294, West (180 deg.), lengths 20, 40, 100, 120, 140 40 - 42 293, East (0 degrees), lengths 20, 40, 100 43 - 45 293, North (90 deg.), lengths 20, 40, 100 46 - 48 293, South (270 deg.), lengths 20, 40, 100 49 - 51 293, West (180 deg.), lengths 20, 40, 100 ---------------------------------------------------------------------------The new linedefs are as follows:
293 Ext -- Heretic wind in line direction with push magnitude proportional
to line length.
294 Ext -- Heretic current in line direction with push magnitude proportional
to line length.
Return to Table of Contents
283 Ext -- Applies plane portal to ceilings of all like-tagged sectors.
284 Ext -- Applies plane portal to floors of all like-tagged sectors.
285 Ext -- Applies plane portal to floors and ceilings of all like-tagged sectors.
286 Ext -- Applies horizon portal to ceilings of all like-tagged sectors.
287 Ext -- Applies horizon portal to floors of all like-tagged sectors.
288 Ext -- Applies horizon portal to floors and ceilings of all like-tagged sectors.
290 Ext -- Applies skybox portal to ceilings of all like-tagged sectors.
291 Ext -- Applies skybox portal to floors of all like-tagged sectors.
292 Ext -- Applies skybox portal to floors and ceilings of all like-tagged sectors.
+---+ +---+ | A |-298 linedef | B |-295 linedef +---+ +---+Sector A is the normal sector in which the player will walk. Sector B is the portal sector which will be drawn into the portal. The 298 linedef, the 295 linedef, and sector A all share a common tag. Eternity will guage the distance between the portal linedef and the anchor linedef and will know how far to offset the camera in order to render the portal. In this case, Eternity will render sector B over the ceiling of sector A, and the two will appear to be placed directly on top of each other.
295 Ext -- Applies anchored portal to ceilings of all like-tagged sectors.
296 Ext -- Applies anchored portal to floors of all like-tagged sectors.
297 Ext -- Applies anchored portal to floors and ceilings of all like-tagged sectors.
298 Ext -- Anchor line, required for use alongside specials 295 and 297.
299 Ext -- Anchor line, required for use alongside special 296.
Warning: As of Eternity Engine v3.33.33, normal anchored portals should no longer be used
for two-way setups, where both areas of an anchored portal are visible from each other. Use
the new two-way types discussed below instead for this situation. If the lines above are used
instead, the player may see seemingly spontaneous error messages and feel annoying pauses
during gameplay.
344 Ext -- Applies two-way anchored portal to ceilings of all like-tagged sectors.
345 Ext -- Applies two-way anchored portal to floors of all like-tagged sectors.
346 Ext -- Anchor line, required for use alongside special 344 only.
347 Ext -- Anchor line, required for use alongside special 345 only.
+------+---+ +------+ | \ B|<- B tag = 1 | | | \ | | C | | A + | | | | | * |<- Skybox line special 290 , tag = 1 +----------+ +------+ ^ ^ Line special 289, tag = 1 Control thing 5006In this example, sector C will be visible in sector B's ceiling as a skybox. However, it will also appear on the line in sector A with special 289, giving it a window-like effect.
289 Ext -- Transfers a like-tagged portal to the first side of this linedef.Return to Table of Contents
280 WR Start script with tag number 273 WR Start script, 1-way trigger 274 W1 Start script with tag number 275 W1 Start script, 1-way trigger 276 SR Start script with tag number 277 S1 Start script with tag number 278 GR Start script with tag number 279 G1 Start script with tag number Parameterized Types --------------------------------------------------------- # ExtraData Name Parameters 365 ACS_Execute scriptnum, mapnum, arg1, arg2, arg3 366 ACS_Suspend scriptnum, mapnum 367 ACS_Terminate scriptnum, mapnum ---------------------------------------------------------These linedefs exist for all activation models. The two one-way script activators will only be activated when the player crosses them from the first side, as with other line types which function in that manner. Crossing from the second side will have no effect.
Method 1: The Polyobj_StartLine Special
The Polyobj_StartLine special marks the first line in a PolyObject which is made
up of a cyclic set of linedefs (that is, each line "points toward" the
next line, ending at the first vertex of the first line).
Diagrammatic Example:
[Control Sector] [Main Map Area]
+-------------------+ +-------------------------------+
| | | |
| | | | |
| +--->+ | | |
| ^ | | | |
| | |_ | | |
| A -| B | | | C |
| | v | | |
| +<---+ | | |
| | | | |
| | | |
+-------------------+ +-------------------------------+
Assume that the linedef A is assigned the Polyobj_StartLine special and
has argument #1 set to "1" -- this is its PolyObject ID number, which must
be unique amongst all on the map, and must be a number greater than zero.
Method 2: The Polyobj_ExplicitLine Special
The Polyobj_ExplicitLine special demarcates every line that will be added to
a PolyObject and the exact order in which the lines will be added. This affords
a bit more flexibility in the construction of PolyObjects at the price of not
allowing any other line specials to be placed on the object itself.
Diagrammatic Example:
[Control Sector] [Main Map Area]
+-------------------+ +-------------------------------+
| 2 | | |
| | | | |
| +--->+ | | |
| ^ | | | |
| | |_ 4 | | |
| 1 -| B | | | C |
| | v | | |
| +<---+ | | |
| | | | |
| 3 | | |
+-------------------+ +-------------------------------+
Assume that the linedefs labeled 1 through 4 are assigned the
Polyobj_ExplicitLine special, all have argument #1 set to "1" -- this is its
PolyObject ID number, which must be unique amongst all on the map, and must be a
number greater than zero -- and all have argument #2 set to the integer values
1 through 4, corresponding to their labels in the diagram.
Translating PolyObjects
To move a PolyObject in the xy plane, use one of the following line specials:
Rotating PolyObjects
To rotate a PolyObject, use one of the following line specials:
Parameterized Stair Types ------------------------------------------------------------------------------- # Class Function ExtraData Name 362 Param Build pillar Pillar_Build 363 Param Build pillar and crush Pillar_BuildAndCrush 364 Param Open pillar Pillar_OpenReturn to Table of Contents
== Generalized Linedef Ranges ======================================= There are types for Floors, Ceilings, Doors, Locked Doors, Lifts, Stairs, and Crushers. The allocation of linedef type field numbers is according to the following table: Type Start Length (Dec) ----------------------------------------------------------------- Floors 0x6000 0x2000 (8192) Ceilings 0x4000 0x2000 (8192) Doors 0x3c00 0x0400 (1024) Locked Doors 0x3800 0x0400 (1024) Lifts 0x3400 0x0400 (1024) Stairs 0x3000 0x0400 (1024) Crushers 0x2F80 0x0080 (128) ----------------------------------------------------------------- Totals: 0x2f80-0x7fff 0x5080 (20608) ======================================================================The following sections define the placement and meaning of the bit fields within each linedef category. Fields in the description are listed in increasing numeric order.
c0n change texture, change sector type to 0, numeric model change c0t change texture, change sector type to 0, trigger model change cTn change texture only, numeric model change cTt change texture only, trigger model change cSn change texture and sector type to model's, numeric model change cSt change texture and sector type to model's, trigger model changeA trigger model change uses the sector on the first side of the trigger for its model. A numeric model change looks at the sectors adjoining the tagged sector at the target height, and chooses the one across the lowest numbered two sided line for its model. If no model exists, no change occurs. Note that in DOOM II v1.9, no model meant an illegal sector type was generated.
------------------------------------------------------------------
generalized floors (8192 types)
field description NBits Mask Shift
------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
model trig/numeric -or- nomonst/monst 1 0x0020 5
direct down/up 1 0x0040 6
target HnF/LnF/NnF/LnC/C/sT/24/32 3 0x0380 7
change nochg/zero/txtonly/type 2 0x0c00 10
crush no/yes 1 0x1000 12
DETH Nomenclature:
W1[m] F->HnF DnS [c0t] [Cr]
WR[m] F->LnF DnN [c0n]
S1[m] F->NnF DnF [cTt]
SR[m] F->LnC DnT [cTn]
G1[m] F->C UpS [cSt]
GR[m] FbysT UpN [cSn]
D1[m] Fby24 UpF
DR[m] Fby32 UpT
Notes:
1) When change is nochg, model is 1 when monsters can activate trigger
otherwise monsters cannot activate it.
2) The change fields mean the following:
nochg - means no texture change or type change
zero - means sector type is zeroed, texture copied from model
txtonly - means sector type unchanged, texture copied from model
type - means sector type and floor texture are copied from model
3) down/up specifies the "normal" direction for moving. If the
target specifies motion in the opposite direction, motion is instant.
Otherwise it occurs at speed specified by speed field.
4) Speed is 1/2/4/8 units per tic
5) If change is nonzero then model determines which sector is copied.
If model is 0 its the sector on the first side of the trigger.
if model is 1 (numeric) then the model sector is the sector at
destination height on the opposite side of the lowest numbered
two sided linedef around the tagged sector. If it doesn't exist
no change occurs.
------------------------------------------------------------------
generalized ceilings (8192 types)
field description NBits Mask Shift
------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
model trig/numeric -or- nomonst/monst 1 0x0020 5
direct down/up 1 0x0040 6
target HnC/LnC/NnC/HnF/F/sT/24/32 3 0x0380 7
change nochg/zero/txtonly/type 2 0x0c00 10
crush no/yes 1 0x1000 12
DETH Nomenclature:
W1[m] C->HnC DnS [Cr] [c0t]
WR[m] C->LnC DnN [c0n]
S1[m] C->NnC DnF [cTt]
SR[m] C->HnF DnT [cTn]
G1[m] C->F UpS [cSt]
GR[m] CbysT UpN [cSn]
D1[m] Cby24 UpF
DR[m] Cby32 UpT
Notes:
1) When change is nochg, model is 1 when monsters can activate trigger
otherwise monsters cannot activate it.
2) The change fields mean the following:
nochg - means no texture change or type change
zero - means sector type is zeroed, texture copied from model
txtonly - means sector type unchanged, texture copied from model
type - means sector type and ceiling texture are copied from model
3) down/up specifies the "normal" direction for moving. If the
target specifies motion in the opposite direction, motion is instant.
Otherwise it occurs at speed specified by speed field.
4) Speed is 1/2/4/8 units per tic
5) If change is nonzero then model determines which sector is copied.
If model is 0 its the sector on the first side of the trigger.
if model is 1 (numeric) then the model sector is the sector at
destination height on the opposite side of the lowest numbered
two sided linedef around the tagged sector. If it doesn't exist
no change occurs.
------------------------------------------------------------------
generalized doors (1024 types)
field description NBits Mask Shift
------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
kind odc/o/cdo/c 2 0x0060 5
monster n/y 1 0x0080 7
delay 1/4/9/30 (secs) 2 0x0300 8
DETH Nomenclature:
W1[m] OpnD{1|4|9|30}Cls S
WR[m] Opn N
S1[m] ClsD{1|4|9|30}Opn F
SR[m] Cls T
G1[m]
GR[m]
D1[m]
DR[m]
Notes:
1) The odc (Open, Delay, Close) and cdo (Close, Delay, Open) kinds use
the delay field. The o (Open and Stay) and c (Close and Stay) kinds
do not.
2) The precise delay timings in gametics are: 35/150/300/1050
3) Speed is 2/4/8/16 units per tic
------------------------------------------------------------------
generalized locked doors (1024 types)
field description NBits Mask Shift
------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
kind odc/o 1 0x0020 5
lock any/rc/bc/yc/rs/bs/ys/all 3 0x01c0 6
sk=ck n/y 1 0x0200 9
DETH Nomenclature:
W1[m] OpnD{1|4|9|30}Cls S Any
WR[m] Opn N R{C|S|K}
S1[m] F B{C|S|K}
SR[m] T Y{C|S|K}
G1[m] All{3|6}
GR[m]
D1[m]
DR[m]
Notes:
1) Delay for odc kind is constant at 150 gametics or about 4.333 secs
2) The lock field allows any key to open a door, or a specific key to
open a door, or all keys to open a door.
3) If the sk=ck field is 0 (n) skull and cards are different keys,
otherwise they are treated identically. Hence an "all" type door
requires 3 keys if sk=ck is 1, and 6 keys if sk=ck is 0.
4) Speed is 2/4/8/16 units per tic
-------------------------------------------------------------------
generalized lifts (1024 types)
field description NBits Mask Shift
-------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
monster n/y 1 0x0020 5
delay 1/3/5/10 (secs) 2 0x00c0 6
target LnF/NnF/LnC/LnF<->HnF(perp.) 2 0x0300 8
DETH Nomenclature:
W1[m] Lft F->LnFD{1|3|5|10} S
WR[m] F->NnFD{1|3|5|10} N
S1[m] F->LnCD{1|3|5|10} F
SR[m] HnF<->LnFD{1|3|5|10} T
G1[m]
GR[m]
D1[m]
DR[m]
Notes:
1) The precise delay timings in gametics are: 35/105/165/350
2) Speed is 1/2/4/8 units per tic
3) If the target specified is above starting floor height, or does not
exist the lift does not move when triggered. NnF is Next Lowest
Neighbor Floor.
4) Starting a perpetual lift between lowest and highest neighboring floors
locks out all other actions on the sector, even if it is stopped with
the non-extended stop perpetual floor function.
-------------------------------------------------------------------
generalized stairs (1024 types)
field description NBits Mask Shift
-------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
monster n/y 1 0x0020 5
step 4/8/16/24 2 0x00c0 6
dir dn/up 1 0x0100 8
igntxt n/y 1 0x0200 9
DETH Nomenclature:
W1[m] Stair Dn s4 S [Ign]
WR[m] Up s8 N
S1[m] s16 F
SR[m] s24 T
G1[m]
GR[m]
D1[m]
DR[m]
Notes:
1) Speed is .25/.5/2/4 units per tic
2) If igntxt is 1, then the staircase will not stop building when
a step does not have the same texture as the previous.
3) A retriggerable stairs builds up and down alternately on each
trigger.
-------------------------------------------------------------------
generalized crushers (128 types)
field description NBits Mask Shift
-------------------------------------------------------------------
trigger W1/WR/S1/SR/G1/GR/D1/DR 3 0x0007 0
speed slow/normal/fast/turbo 2 0x0018 3
monster n/y 1 0x0020 5
silent n/y 1 0x0040 6
DETH Nomenclature:
W1[m] Crusher S [Silent]
WR[m] N
S1[m] F
SR[m] T
G1[m]
GR[m]
D1[m]
DR[m]
Notes:
1) Speed is 1/2/4/8 units per second, faster means slower damage as usual.
2) If silent is 1, the crusher is totally quiet, no start/stop sounds
Return to Table of Contents
Parameterized Floor Types
------------------------------------------------------------------------------
# Function ExtraData Name
306 Up to Highest Neighbor Floor Floor_RaiseToHighest
307 Down to Highest Neighbor Floor Floor_LowerToHighest
308 Up to Lowest Neighbor Floor Floor_RaiseToLowest
309 Down to Lowest Neighbor Floor Floor_LowerToLowest
310 Up to Next Neighbor Floor Floor_RaiseToNearest
311 Down to Next Neighbor Floor Floor_LowerToNearest
312 Up to Lowest Neighbor Ceiling Floor_RaiseToLowestCeiling
313 Down to Lowest Neighbor Ceiling Floor_LowerToLowestCeiling
314 Up to Ceiling Floor_RaiseToCeiling
315 Up Abs Shortest Lower Texture Floor_RaiseByTexture
316 Down Abs Shortest Lower Texture Floor_LowerByTexture
317 Up Absolute Param Floor_RaiseByValue
318 Down Absolute Param Floor_LowerByValue
319 To Absolute Height Floor_MoveToValue
320 Up Absolute Param, Instant Floor_RaiseInstant
321 Down Absolute Param, Instant Floor_LowerInstant
322 To Ceiling Instant Floor_ToCeilingInstant
Parameters
---------------------------------------------------------------
Floor_RaiseToHighest tag, speed, change, crush
Floor_LowerToHighest tag, speed, change
Floor_RaiseToLowest tag, change, crush
Floor_LowerToLowest tag, speed, change
Floor_RaiseToNearest tag, speed, change, crush
Floor_LowerToNearest tag, speed, change
Floor_RaiseToLowestCeiling tag, speed, change, crush
Floor_LowerToLowestCeiling tag, speed, change
Floor_RaiseToCeiling tag, speed, change, crush
Floor_RaiseByTexture tag, speed, change, crush
Floor_LowerByTexture tag, speed, change
Floor_RaiseByValue tag, speed, height, change, crush
Floor_LowerByValue tag, speed, height, change
Floor_MoveToValue tag, speed, height, change, crush
Floor_RaiseInstant tag, height, change, crush
Floor_LowerInstant tag, height, change
Floor_ToCeilingInstant tag, change, crush
Values
---------------------------------------------------------------
tag : Tag of the sector(s) to affect. A tag of zero means to
affect the sector on the second side of the line.
speed : Speed of floor in eights of a unit per tic.
change : This parameter takes the following values:
0 : No texture or type change.
1 : Copy texture, zero type; trigger model.
2 : Copy texture, zero type; numeric model.
3 : Copy texture, preserve type; trigger model.
4 : Copy texture, preserve type; numeric model.
5 : Copy texture and type; trigger model.
6 : Copy texture and type; numeric model.
crush : Amount of crushing damage floor inflicts at each
crushing event (when gametic % 4 = 0). If this
amount is less than or equal to zero, no crushing
damage is done.
height : An integer number of units, either the amount to
move the floor by or the exact z coordinate to move
the floor toward. Negative numbers are valid for
the latter case.
------------------------------------------------------------------------------
Parameterized Ceiling Types
------------------------------------------------------------------------------
# Function ExtraData Name
323 Up to Highest Neighbor Ceiling Ceiling_RaiseToHighest
324 Up to HnC Instant Ceiling_ToHighestInstant
325 Up to Nearest Neighbor Ceiling Ceiling_RaiseToNearest
326 Down to Nearest Neighbor Ceiling Ceiling_LowerToNearest
327 Up to Lowest Neighbor Ceiling Ceiling_RaiseToLowest
328 Down to Lowest Neighbor Ceiling Ceiling_LowerToLowest
329 Up to Highest Neighbor Floor Ceiling_RaiseToHighestFloor
330 Down to Highest Neighbor Floor Ceiling_LowerToHighestFloor
331 Down to Floor Instant Ceiling_ToFloorInstant
332 Down to Floor Ceiling_LowerToFloor
333 Up Abs Shortest Upper Texture Ceiling_RaiseByTexture
334 Down Abs Shortest Upper Texture Ceiling_LowerByTexture
335 Up Absolute Param Ceiling_RaiseByValue
336 Down Absolute Param Ceiling_LowerByValue
337 To Absolute Height Ceiling_MoveToValue
338 Up Absolute Param, Instant Ceiling_RaiseInstant
339 Down Absolute Param, Instant Ceiling_LowerInstant
Parameters
---------------------------------------------------------------
Ceiling_RaiseToHighest tag, speed, change
Ceiling_ToHighestInstant tag, change, crush
Ceiling_RaiseToNearest tag, speed, change
Ceiling_LowerToNearest tag, speed, change, crush
Ceiling_RaiseToLowest tag, speed, change
Ceiling_LowerToLowest tag, speed, change, crush
Ceiling_RaiseToHighestFloor tag, speed, change
Ceiling_LowerToHighestFloor tag, speed, change, crush
Ceiling_ToFloorInstant tag, change, crush
Ceiling_LowerToFloor tag, speed, change, crush
Ceiling_RaiseByTexture tag, speed, change
Ceiling_LowerByTexture tag, speed, change, crush
Ceiling_RaiseByValue tag, speed, height, change
Ceiling_LowerByValue tag, speed, height, change, crush
Ceiling_MoveToValue tag, speed, height, change, crush
Ceiling_RaiseInstant tag, height, change
Ceiling_LowerInstant tag, height, change, crush
Values
---------------------------------------------------------------
tag : Tag of the sector(s) to affect. A tag of zero means to
affect the sector on the second side of the line.
speed : Speed of ceiling in eighths of a unit per tic.
change : This parameter takes the following values:
0 : No texture or type change.
1 : Copy texture, zero type; trigger model.
2 : Copy texture, zero type; numeric model.
3 : Copy texture, preserve type; trigger model.
4 : Copy texture, preserve type; numeric model.
5 : Copy texture and type; trigger model.
6 : Copy texture and type; numeric model.
crush : Amount of crushing damage ceiling inflicts at each
crushing event (when gametic % 4 = 0). If this
amount is less than or equal to zero, no crushing
damage is done.
height : An integer number of units, either the amount to
move the floor by or the exact z coordinate to move
the floor toward. Negative numbers are valid for
the latter case.
------------------------------------------------------------------------------
Parameterized Door Types
------------------------------------------------------------------------------
# Function ExtraData Name
300 Open, Wait, Then Close Door_Raise
301 Open and Stay Open Door_Open
302 Close and Stay Closed Door_Close
303 Close, Wait, Then Open Door_CloseWaitOpen
304 Wait, Open, Wait, Close Door_WaitRaise
305 Wait, Close and Stay Closed Door_WaitClose
Parameters
---------------------------------------------------------------
Door_Raise tag, speed, delay, lighttag
Door_Open tag, speed, lighttag
Door_Close tag, speed, lighttag
Door_CloseWaitOpen tag, speed, delay, lighttag
Door_WaitRaise tag, speed, delay, countdown, lighttag
Door_WaitClose tag, speed, countdown, lighttag
Values
---------------------------------------------------------------
tag : Tag of the sector(s) to affect as a door. A tag of
zero means to affect the sector on the second side
of the line.
speed : Speed of door in eights of a unit per tic.
delay : Delay time in tics.
lighttag : Tag used to determine what sector will receive the
BOOM dynamic door light effect when this door opens
or closes.
countdown : Delay before action occurs in tics.
------------------------------------------------------------------------------
Parameterized Stair Types
------------------------------------------------------------------------------
# Function ExtraData Name
340 Build stairs up, DOOM method Stairs_BuildUpDoom
341 Build stairs down, DOOM method Stairs_BuildDownDoom
342 Build stairs up sync*, DOOM method Stairs_BuildUpDoomSync
343 Build stairs dn sync*, DOOM method Stairs_BuildDownDoomSync
* Synchronized stairs have each step move at a different speed so that all the
steps reach the destination height at the same time. This stair building
style is only available with these parameterized line types.
Parameters
---------------------------------------------------------------
Stairs_BuildUpDoom tag, speed, stepsize, delay, reset
Stairs_BuildDownDoom tag, speed, stepsize, delay, reset
Stairs_BuildUpDoomSync tag, speed, stepsize, reset
Stairs_BuildDownDoomSync tag, speed, stepsize, reset
Values
---------------------------------------------------------------
tag : Tag of first sector to raise or lower as a step.
When the stair building method is DOOM, subsequent
steps are found by searching across two-sided
lines where the first side belongs to the current
sector and the floor texture is the same. The
Hexen stair building method is not yet supported.
speed : Speed of steps in eights of a unit per tic. If the
build style is synchronized, only the first step
moves at this speed. Other steps will move at a
speed which allows them to reach their
destination height at the same time.
stepsize : Step size in units.
delay : Delay time in tics between steps
reset : If greater than zero, the stairs will wait this
amount of time in tics after completely building
and will then reset by repeating the same stair
building action but in the reverse direction. If
zero, the stairs will never reset.
------------------------------------------------------------------------------
Parameterized PolyObject Types
------------------------------------------------------------------------------
# Function ExtraData Name
348 Marks first line in PolyObject* Polyobj_StartLine
349 Explicitly includes a line* Polyobj_ExplicitLine
350 Open PolyObject as sliding door Polyobj_DoorSlide
351 Open PolyObject as swinging door Polyobj_DoorSwing
352 Move PolyObject in xy plane Polyobj_Move
353 Move PolyObject w/override** Polyobj_OR_Move
354 Rotate PolyObject right Polyobj_RotateRight
355 Rotate PolyObject right w/override Polyobj_OR_RotateRight
356 Rotate PolyObject left Polyobj_RotateLeft
357 Rotate PolyObject left w/override Polyobj_OR_RotateLeft
* There are two different methods of creating a PolyObject. In the first,
the "first" line is given the Polyobj_StartLine special, and subsequent
lines are added to the PolyObject by following segs from vertex to vertex.
To use this, all the lines around the PolyObject must run in the same
direction, and the last line must end at the same vertex which starts the
first line (in other words, it must be closed).
With the second method, every line to be included must be given the
Polyobj_ExplicitLine special and must be given a linenum param which is
unique amongst all lines that will added to that polyobject. Polyobjects
of this sort should also be closed for proper rendering, but the game
engine cannot and will not verify that this is the case.
Only PolyObjects created with the Polyobj_StartLine method can have other
line specials on the PolyObject's lines themselves.
** Override types will take effect even if an action is already affecting the
specified polyobject. Normal actions will fail in this case.
Parameters
------------------------------------------------------------------
Polyobj_StartLine polyobj_id, mirror_id, sndseq_id
Polyobj_ExplicitLine polyobj_id, linenum, mirror_id, sndseq_id
Polyobj_DoorSlide polyobj_id, speed, angle, dist, delay
Polyobj_DoorSwing polyobj_id, aspeed, adist, delay
Polyobj_Move polyobj_id, speed, angle, dist
Polyobj_OR_Move polyobj_id, speed, angle, dist
Polyobj_RotateRight polyobj_id, aspeed, adist
Polyobj_OR_RotateRight polyobj_id, aspeed, adist
Polyobj_RotateLeft polyobj_id, aspeed, adist
Polyobj_OR_RotateLeft polyobj_id, aspeed, adist
Values
---------------------------------------------------------------
polyobj_id : ID number of the PolyObject of which this line is
a part. PolyObject ID numbers are defined in the
angle field of their EEPolyObjSpawnSpot object
(DoomEd numbers 9301 or 9302). Every PolyObject
must be given a valid unique ID number greater
than zero.
mirror_id : The ID number of a PolyObject that wants to mirror
every action that this PolyObject makes. This
number cannot refer to the self-same PolyObject,
nor should PolyObjects attempt to mirror each
other in a cycle since this will create problems
with override actions. Angle of motion is always
reversed when applying an action to a mirroring
PolyObject. If a mirror is already in motion for
a non-override action, the mirror will not be
affected even if the main object was moved. Mirror
polyobjects can themselves define a mirror, and
an action will affect all mirroring polyobjects
in the chain.
sndseq_id : Reserved for future use, currently has no effect.
Will be used to select the EDF sound sequence this
PolyObject uses when moving.
linenum : For Polyobj_ExplicitLine only, specifies the
order in which lines should be added to the
PolyObject. Each line must have a number greater
than zero which is unique within all lines that
belong to that PolyObject. Although, unlike Hexen,
there is no requirement that the numbers be in
consecutive order or that they start at 1.
speed : Linear speed of PolyObject motion in eighths of a
unit per tic.
angle : Byte angle of linear motion. *
dist : Total linear distance to move in units.
delay : Time to wait before closing in tics.
aspeed : Byte angle specifying speed in degrees per tic. *
adist : Byte angle specifying total angular distance to
rotate. *, **
---------------------------------------------------------------
* Byte angles follow this system:
0 = 0 degrees (East)
64 = 90 degrees (North)
128 = 180 degrees (West)
192 = 270 degrees (South)
To convert from degrees to byte angles, use the following calculation:
byteangle = (degrees * 256) / 360
Chop or round the result to an integer.
Valid byte angles fall between 0 and 255, so adjust any angles less than
0 or greater than or equal to 360 before performing this conversion.
** For the adist parameter to Polyobj_Rotate-type specials (excluding
Polyobj_DoorSwing), the values 0 and 255 have the following special
meanings:
0 == The PolyObject will rotate exactly 360 degrees.
255 == The PolyObject will rotate perpetually.
All other byte angle values have their normal meaning.
------------------------------------------------------------------------------
Parameterized Pillar Types
------------------------------------------------------------------------------
# Function ExtraData Name
362 Build pillar Pillar_Build
363 Build pillar and crush Pillar_BuildAndCrush
364 Open pillar Pillar_Open
Parameters
---------------------------------------------------------------
Pillar_Build tag, speed, height
Pillar_BuildAndCrush tag, speed, height, crush
Pillar_Open tag, speed, fdist, cdist
Values
---------------------------------------------------------------
tag : Tag of sector to close or open as a pillar. For the
action to succeed, neither surface may have an
action running on it already. If the tag is zero,
the sector on the backside of a 2S line with this
special will be used.
speed : Speed of the surface with the greatest distance to
move in eighths of a unit per tic. The other surface
will move at a speed which causes it to reach its
destination at the same time.
height : For Build and BuildAndCrush types, this is the
height relative to the floor where the floor and
ceiling should meet. If this value is zero, the
floor and ceiling will meet exactly half-way.
crush : For BuildAndCrush type only, this specifies the
amount of damage to inflict per crush event.
fdist : For Open type only, this is the distance the floor
should move down. If this value is zero, the floor
will move to its lowest neighboring floor.
cdist : For Open type only, this is the distance the
ceiling should move up. If this value is zero, the
ceiling will move to its highest neighboring
ceiling.
------------------------------------------------------------------------------
Parameterized Lighting Types
------------------------------------------------------------------------------
# Function ExtraData Name
368 Raise light by value Light_RaiseByValue
369 Lower light by value Light_LowerByValue
370 Set light to value Light_ChangeToValue
371 Fade light to value Light_FadeToValue
372 Fade continuously between values Light_Glow
373 Flicker between levels randomly Light_Flicker
374 Flicker with specified periodicity Light_Strobe
Parameters
---------------------------------------------------------------------
Light_RaiseByValue tag, level
Light_LowerByValue tag, level
Light_ChangeToValue tag, level
Light_Fade tag, destlevel, speed
Light_Glow tag, maxlevel, minlevel, speed
Light_Flicker tag, maxlevel, minlevel
Light_Strobe tag, maxlevel, minlevel, maxtime, mintime
Values
---------------------------------------------------------------
tag : Tag of sector(s) to change light levels within.
If the tag is zero, the sector on the backside of a
2S line with this special will be used.
level : A light level between 0 and 255.
destlevel : A light level between 0 and 255.
speed : Speed of light level changes in levels per gametic.
maxlevel : The high light level of a perpetual fade or flicker.
minlevel : The low light level of a perpetual fade or flicker.
maxtime : Maximum amount of time in gametics between flickers.
mintime : Minimum amount of time in gametics between flickers.
------------------------------------------------------------------------------
Miscellaneous Parameterized Line Specials
------------------------------------------------------------------------------
# Function ExtraData Name
365 Start ACS script ACS_Execute
366 Suspend ACS script ACS_Suspend
367 Terminate ACS script ACS_Terminate
375 Start earthquake Radius_Quake
Parameters
---------------------------------------------------------------------
ACS_Execute scriptnum, mapnum, arg1, arg2, arg3
ACS_Suspend scriptnum, mapnum
ACS_Terminate scriptnum, mapnum
scriptnum = ACS script number to execute/suspend/terminate
mapnum = Map number on which to schedule action, or 0
for current map
arg1 - arg3 = Arguments passed on to called script
Radius_Quake intensity, duration, damageradius, quakeradius, tid
intensity = "Richter" scale value from 1 to 9 (out-of-range
values are allowed, but may cause HOM to appear).
duration = length of earthquake in gametics
damageradius = if greater than 0, the number of 64-unit blocks
from the epicenter in which players will take
damage and experience additional thrust
quakeradius = number of 64-unit blocks from the epicenter in
which players will experience view-shaking
tid = tid of mapthing(s) to use as earthquake epicenters
------------------------------------------------------------------------------
Return to Table of Contents
Dec Hex Class Description
-------------------------------------------------------------------
0 00 - Normal, no special characteristic.
1 01 Light random off
2 02 Light blink 0.5 second
3 03 Light blink 1.0 second
4 04 Both -10/20% health AND light blink 0.5 second
5 05 Damage -5/10% health
7 07 Damage -2/5% health
8 08 Light oscillates
9 09 Secret a player must stand in this sector to get credit for
finding this secret. This is for the SECRETS ratio
on inter-level screens.
10 0a Door 30 seconds after level start, ceiling closes like a door.
11 0b End -10/20% health. If a player's health is lowered to less
than 11% while standing here, then the level ends! Play
proceeds to the next level. If it is a final level
(levels 8 in DOOM 1, level 30 in DOOM 2), the game ends!
12 0c Light blink 0.5 second, synchronized
13 0d Light blink 1.0 second, synchronized
14 0e Door 300 seconds after level start, ceiling opens like a door.
16 10 Damage -10/20% health
17 11 Light flickers on and off randomly
Note that BOOM will NEVER exit the game on an illegal sector
type, as was the case with DOOM. The sector type will merely be
ignored.Dec Bits 4-0 Description ------------------------------------------------------------------- 0 00000 Normal lighting 1 00001 random off 2 00010 blink 0.5 second 3 00011 blink 1.0 second 4 00100 -10/20% health AND light blink 0.5 second 8 01000 oscillates 12 01100 blink 0.5 second, synchronized 13 01101 blink 1.0 second, synchronized 17 10001 flickers on and off randomlyBits 5 and 6 set the damage type of the sector, with the usual 5/10/20 damage units per second.
Dec Bits 6-5 Description ------------------------------------------------------------------- 0 00 No damage 32 01 5 units damage per sec (halve damage in TYTD skill) 64 10 10 units damage per sec 96 11 20 units damage per secBit 7 makes the sector count towards the secrets total at game end
Dec Bit 7 Description ------------------------------------------------------------------- 0 0 Sector is not secret 128 1 Sector is secretBit 8 enables the ice/mud effect controlled by linedef 223
Dec Bit 8 Description ------------------------------------------------------------------- 0 0 Sector friction disabled 256 1 Sector friction enabledBit 9 enables the wind effects controlled by linedefs 224-226
Dec Bit 9 Description ------------------------------------------------------------------- 0 0 Sector wind disabled 512 1 Sector wind enabled=== New to SMMU ===
Dec Bit 10 Description ------------------------------------------------------------------- 0 0 Sounds made in sector function normally 1024 1 Sounds made in sector are suppressed Dec Bit 11 Description ------------------------------------------------------------------- 0 0 Sounds made by sector floor/ceiling movement normal 2048 1 Sounds made by sector floor/ceiling movement suppressedReturn to Table of Contents
Dec Bit 9 Description ------------------------------------------------------------------- 0 0 Line absorbs all push actions as normal 512 1 Line passes push actions through to lines behind it=== New to Eternity v3.31 ===
Dec Bit 10 Description ------------------------------------------------------------------- 0 0 Linedef is normal with respect to clipping 1024 1 2S linedef clips objects with respect to mid texture=== New to Eternity v3.33.33 ===
Dec Bit 11 Description ------------------------------------------------------------------- 0 0 Extended flags are normal 2048 1 Extended flags are clearedReturn to Table of Contents
Menu text --------- M_KEYBND Key Bindings entry in setup menu M_AUTO Automap entry in setup menu M_CHATM Chat strings entry in setup menu (Replaces M_CHAT, New to SMMU) M_ENEM Enemies options entry in setup menu M_STAT Status bar and Hud entry in setup menu M_WEAP Weapons entry in setup menu M_COLORS Palette color picker diagram M_PALNO Xed-out symbol for unused automap features M_BUTT1 Setup reset button off state (currently unused) M_BUTT2 Setup reset button on state (currently unused) M_LDSV Load/Save menu graphic (new to SMMU) M_FEAT Features menu graphic (new to SMMU) M_MULTI Multiplayer options menu graphic (new to SMMU) M_ABOUT About menu graphic (new to SMMU) M_DEMOS Demos menu graphic (new to SMMU) M_WAD Wad loading menu graphic (new to SMMU) M_SOUND Sound options menu graphic (new to SMMU) M_VIDEO Video options menu graphic (new to SMMU) M_MOUSE Mouse options menu graphic (new to SMMU) M_HUD Heads-up options menu graphic (new to SMMU) M_TCPIP TCP/IP connect menu graphic (new to SMMU) M_SERIAL Serial connect menu graphic (new to SMMU) M_PLAYER Player options menu graphic (new to SMMU) M_COMPAT Compatibility options menu graphic (new to MBF) M_SLIDEM Small slider gfx, middle segment (new to SMMU) M_SLIDEL Small slider gfx, left end (new to SMMU) M_SLIDEO Small slider gfx, caret (new to SMMU) M_SLIDER Small slider gfx, right end (new to SMMU) MBFTEXT Marine's Best Friend menu graphic (new to MBF, currently unused) M_ETCOPT Eternity options menu graphic (new to Eternity) Font chars ---------- STCFN096 ` character for standard DOOM font STCFN123 left end of console horizontal divider bar (new to SMMU) STCFN124 center of console horizontal divider bar (new to SMMU) STCFN125 right end of console horizontal divider bar (new to SMMU) STBR123 HUD font bargraph char, full, 4 vertical bars STBR124 HUD font bargraph char, partial, 3 vertical bars STBR125 HUD font bargraph char, partial, 2 vertical bars STBR126 HUD font bargraph char, partial, 1 vertical bars STBR127 HUD font bargraph char, empty, 0 vertical bars DIG0 HUD font 0 char DIG1 HUD font 1 char DIG2 HUD font 2 char DIG3 HUD font 3 char DIG4 HUD font 4 char DIG5 HUD font 5 char DIG6 HUD font 6 char DIG7 HUD font 7 char DIG8 HUD font 8 char DIG9 HUD font 9 char DIGA HUD font A char DIGB HUD font B char DIGC HUD font C char DIGD HUD font D char DIGE HUD font E char DIGF HUD font F char DIGG HUD font G char DIGH HUD font H char DIGI HUD font I char DIGJ HUD font J char DIGK HUD font K char DIGL HUD font L char DIGM HUD font M char DIGN HUD font N char DIGO HUD font O char DIGP HUD font P char DIGQ HUD font Q char DIGR HUD font R char DIGS HUD font S char DIGT HUD font T char DIGU HUD font U char DIGV HUD font V char DIGW HUD font W char DIGX HUD font X char DIGY HUD font Y char DIGZ HUD font Z char DIG45 HUD font - char DIG47 HUD font / char DIG58 HUD font : char DIG91 HUD font [ char DIG93 HUD font ] char Status bar ---------- STKEYS6 Both blue keys graphic STKEYS7 Both yellow keys graphic STKEYS8 Both red keys graphic Box chars --------- BOXUL Upper left corner of box BOXUC Center of upper border of box BOXUR Upper right corner of box BOXCL Center of left border of box BOXCC Center of box BOXCR Center of right border of box BOXLL Lower left corner of box BOXLC Center of lower border of box BOXLR Lower right corner of box Misc HUD Graphics ----------------- HU_FRAGS Frags display header graphic (new to SMMU) HU_FRAGBX Frags display name plate graphic (new to SMMU) CROSS1 + crosshair graphic (new to SMMU) CROSS2 Angle crosshair graphic (new to SMMU) VPO Visplane overflow indicator (new to SMMU) OPENSOCK Network connection error indicator (new to SMMU) Misc Graphics ------------- UDTTL00 Hires Ultimate DOOM title screen, upper left (new to SMMU) UDTTL01 Hires Ultimate DOOM title screen, lower left (new to SMMU) UDTTL10 Hires Ultimate DOOM title screen, upper rght (new to SMMU) UDTTL11 Hires Ultimate DOOM title screen, lower rght (new to SMMU) D2TTL00 Hires DOOM II title screen, upper left (new to SMMU) D2TTL01 Hires DOOM II title screen, lower left (new to SMMU) D2TTL10 Hires DOOM II title screen, upper rght (new to SMMU) D2TTL11 Hires DOOM II title screen, lower rght (new to SMMU) DLGBACK Default dialog background graphic (new to Eternity) Lumps missing in v1.1 --------------------- STTMINUS minus sign for neg frags in status bar WIMINUS minus sign for neg frags on end screen M_NMARE nightmare skill menu string STBAR status bar background DSGETPOW sound for obtaining power-up Sprites ------- TNT1A0 Invisible sprite for push/pull controller things DOGS* MBF helper dog sprite (new to MBF) PLS1* BFG 2704 plasma 1 sprite (new to MBF) PLS2* BFG 2704 plasma 2 sprite (new to MBF) SLDG* FLOOR_SLUDGE TerrainType fx sprite (new to Eternity) LVAS* FLOOR_LAVA TerrainType fx sprite (new to Eternity) SPSH* FLOOR_WATER TerrainType fx sprite (new to Eternity) Misc Sounds ----------- DSDGSIT MBF helper dog alert (new to MBF) DSDGATK MBF helper dog attack (new to MBF) DSDGACT MBF helper dog idle (new to MBF) DSDGDTH MBF helper dog death (new to MBF) DSDGPAIN MBF helper dog pain (new to MBF) DSPLFEET Light player impact (new to Eternity) DSFALLHT Falling damage impact death (new to Eternity) DSPLFALL Falling damage player scream (new to Eternity) DSTHUNDR MapInfo global thunder effect (new to Eternity) DSMUCK FLOOR_SLUDGE TerrainType sound (new to Eternity) DSBURN FLOOR_LAVA TerrainType sound (new to Eternity) DSGLOOP FLOOR_WATER TerrainType sound (new to Eternity) Flats ----- METAL Complimentary brown metal flat (new to SMMU) F_SKY2 Dummy flat for Hexen-style sky sectors (new to Eternity) Maps ---- START DOOM II Mode Start Map (new to SMMU) Switches and Animations ----------------------- SWITCHES Definition of switch textures recognized ANIMATED Definition of animated textures and flats recognizedSWITCHES format:
9 bytes Null terminated string naming "off" state texture for switch
9 bytes Null terminated string naming "off" state texture for switch
2 bytes Short integer for the IWADs switch will work in
1 = shareware
2 = registered/retail DOOM or shareware
3 = DOOM II, registered/retail DOOM, or shareware
0 = terminates list of known switches
ANIMATED format:1 byte -1 to terminate list, 0 if a flat, 1 if a texture 9 bytes Null terminated string naming last texture/flat in animation 9 bytes Null terminated string naming first texture/flat in animation 4 bytes Animation speed, number of frames between animation changesThe utility package contains a program, SWANTBLS.EXE that will generate both the SWITCHES and ANIMATED lumps from a text file. An example is provided, DEFSWANI.DAT that generates the standard set of switches and animations for DOOM.
Colormaps --------- WATERMAP Custom greenish colormap for underwater use LAVAMAP Custom red colormap for lava (new to SMMU)The WATERMAP lump has the same format as COLORMAP, 34 tables of 256 bytes each, see the UDS for details. Note that colormaps you add to a PWAD must be between C_START and C_END markers.
Color translation tables ------------------------ CRBRICK Translates red range to brick red CRTAN Translates red range to tan CRGRAY Translates red range to gray CRGREEN Translates red range to green CRBROWN Translates red range to brown CRGOLD Translates red range to dark yellow CRRED Translates red range to red range (no change) CRBLUE Translates red range to light blue CRBLUE2 Translates red range to dark blue (status bar numerals) CRORANGE Translates red range to orange CRYELLOW Translates red range to light yellowThese tables are used to translate the red font characters to other colors. They are made replaceable in order to support custom palettes in TC's better. Note however that the font character graphics must be defined using the palette indices for the standard red range of the palette 176-191.
Data Lumps and Scripts ---------------------- TXTRCONV DOOM -> DOOM II texture conversion table (new to SMMU) KEYDEFS Default keybindings (new to Eternity) STARTSCR Compiled Small script for start map (new to Eternity)TXTRCONV format:
The x, y, and angle fields of the ExtraData control object are passed on to the thing which will be spawned at the control point's location, so those fields of the control object should be set normally. The true type and options fields of the thing to be spawned, along with any extended fields, are specified in the ExtraData record which the control thing references.
Any number of ExtraData control objects can reference the same ExtraData record. In the event
that a control object references a non-existent ExtraData record, the ExtraData script for a
level is missing, or the thing type referenced by an ExtraData record isn't valid, an Unknown
thing will be spawned at the control point's location. See the EDF
Documentation for information on the required Unknown thingtype definition. Note that you
cannot spawn ExtraData control objects using ExtraData. Attempting this will also result in an
Unknown thing.
Diagram:
+-----------------------------+ mapthing
| | {
| | recordnum = 1
| | type = thing:DoomImp
| | options = EASY|NORMAL|HARD
| | tid = 666
| | height = 240
| O | args = { 0, 1, 2, 3, 4 }
| | }
| |
| |
| |
| |
+-----------------------------+
Assume that in the diagram, the point marked O is a thing of type 5004 with its options field
set to 1. This object will use the ExtraData mapthing section defined to the right of
the diagram, provided that such a section exists in the level's ExtraData script. This
particular object will become an Imp who appears in all difficulty levels, has a Small/ACS
scripting thing ID of 666, spawns 240 units above the ground, and has all five of its argument
values set to different numbers. Note that the fields tid, height, and
args are values that would otherwise only be available in the Hexen map format. ExtraData
allows use of all Hexen-format fields in DOOM, and may also provide access to even more custom
Eternity Engine fields in the future.
Each control linedef specifies its corresponding ExtraData linedef record number as an integer value in its linedef tag field. If your editor does not allow entering arbitrary values up to 32767 into the tag field of linedefs, you will need to use the BOOM command-line editor, CLED. As of the initial writing time of this document, both DETH and Doom Builder support entering arbitrary integer values for the tag field. Check your editor's documentation or user interface to verify if it supports this.
The flags, sidedefs, textures, and location of the ExtraData control linedef are used normally by the line and cannot be altered from within ExtraData. The true special and tag fields of the linedef, along with any extended fields, are specified in the ExtraData record which the control linedef references.
Any number of ExtraData control linedefs can reference the same ExtraData record. In the event
that a control linedef references a non-existent ExtraData record or the ExtraData script for a
level is missing, the special and tag of the ExtraData control linedef will both be set to zero.
Diagram:
+-----------------------------+ linedef
| | {
| | recordnum = 1
| | special = Polyobj_RotateRight
| | args = { 1, 4, 64 }
| | extflags = PLAYER|CROSS|REPEAT
| | }
| +-------------------+ |
| 1 |
| |
| |
| |
| |
+-----------------------------+
Assume that in the diagram, the line marked 1 is a 2S linedef with special 270 and with its tag
field set to 1. This line will use the ExtraData linedef section defined to the right of
the diagram, provided that such a section exists in the level's ExtraData script. This
particular line will become a Polyobj_RotateRight trigger that turns PolyObject #1 90 degrees
at approximately 5 degrees per gametic and which can be activated any number of times but only
when crossed by the player. Note that the args field would otherwise only be available in
the Hexen map format, and that the extflags field, which affects only parameterized line
specials, is new to the Eternity Engine. ExtraData enables the use of both Hexen and Eternity
extended linedef features within the DOOM map format.