DooM - Afterburn bietet dir Informationen, FAQs, Tuts und downloadbare Dateien zu DooM und DooM-2. Dabei werden die Source-Ports jDoom, gzDoom, Doomsday, Risen3d und andere berücksichtigt. Doom als 3D-Spiel ist ein bekannter Horror-Shooter und Ego-Shooter.

Aber sorry, für die Ansicht dieser Seite ist ein modernerer Browser erforderlich !

DooM - xFAQ

↓bottom↓   ↓Menu↓   ↑top↑

» DooM - xFAQ «


 

The LINEDEF Resource

by Matthew S. Fell [with revisions by Steve Benner] / Ben Morris

 


 LINEDEF structure

↓bottom↓   ↑Menu↑   ↑top↑

 

Each LINEDEF represents a line from one VERTEX to another. The structure of a Hexen LINEDEF differs from that of the LINEDEFs used in DOOM, DOOM II and Heretic, as shown in the following table:

The structure of the LINEDEF in DOOM and Hexen WADs
Offset (DOOM)Offset (Hexen)SizePurpose
00shortStart VERTEX: the LINEDEF runs from this point...
22shortEnd VERTEX: ...to this one.
44shortLine attribute flags
6-shortLine Special Effect type
8-short"tag" or "trigger" number which ties this line's effect type to all SECTORS that have the same tag number
-6byteLine Special Action type
-75 bytesThe Special Action's arguments
1012shortnumber of the "right" SIDEDEF for this LINEDEF
1214shortnumber of the "left" SIDEDEF if this LINEDEF adjoins 2 SECTORS. Otherwise, it is equal to -1 (FFFF hex).

The handedness of lines

When considering sides of a LINEDEF, "right" and "left" are based on the direction as indicated by the "from" and "to", or "start" and "end", VERTEXES. This sketch should make it clear:

             left side               right side
    start -----------------> end <----------------- start
             right side              left side

IMPORTANT: All lines must have a right side. If it is a one-sided line, then it must go the proper direction, so its single side is facing the sector it is part of. All versions of the game engine will crash on a level that has a line with no right side.

 


 LINEDEF Flags

↓bottom↓   ↑Menu↑   ↑top↑

 

The third short field of each LINEDEF controls some attributes of that line. These attributes (aka flags) are indicated by bits. If the bit is set (equal to 1), the condition is true for that line. If the bit is not set (equal to 0), the condition is not true. Note that the "unpegged" flags cannot be independently set for the two SIDEDEFs of a line. Here's a list of the flags:

LINEDEF attribute flags
BitMeaning when Set
0Impassable: Players and monsters cannot cross this line. Note that if there is no SECTOR on the other side, they can't go through the line anyway, regardless of the setting of this flag.
1Blocks Monsters: Monsters cannot cross this line.
2Two-sided/Shoot-through/See-through: The line's two SIDEDEFS can have "-" as a texture, which in this case means "transparent". If this flag is not set, the SIDEDEFS can't be transparent: if "-" is viewed, it will result in the "Hall of Mirrors" effect. A side-effect of this flag is that if it is set, then gunfire (pistol, shotgun, chaingun) can go through it. If this flag is not set, gunfire cannot go through the line. Projectiles (rockets, plasma etc.) are not restricted this way--they can go through as long as there's a sector on the other side (and the sector heights allow it). Finally, monsters can see through and attack through two-sided lines, despite any of the line's other flag settings and textures (once again, provided sector heights and the REJECT table allow it).
3Upper Unpegged: The upper texture is pasted onto the wall from the top down instead of from the bottom up like usual. [More.]
4Lower Unpegged: The alignment of lower textures is calculated from the ceiling, instead of from the top of the lower texture as usual. In addition, the middle texture is drawn from the bottom up, instead of from the top of that texture. [More.]
5Secret: On the automap, this line appears in red like a normal solid wall that has nothing on the other side. This is useful in protecting secret doors and such. Note that if the sector on the other side of this "secret" line has its floor height higher than the sector on the facing side of the secret line, then the map will show the lines beyond and thus give up the secret. Also note that this flag has nothing to do with the SECRETS ratio on inter-level screens. That's done with special sector 9.
6Blocks Sound: Affects the sound propagation across the line. Note that this flag does not stop sound dead.
7Not on Map: The line is not shown on the automap, even if the computer all-map power up is acquired.
8Already on Map: When the level is begun, this line is already on the automap, even though it hasn't been seen (in the display) yet. Normally lines only get mapped once part of the line has been seen in the display window.
9Special Repeatable (Hexen only): If set, the line's Special Action is repeatable, otherwise it will activate only once.
10, 11, 12Special Activation (Hexen only): These three bits determine how the line's Special Action is activated. [Values]

Texture pegging

The upper and lower texture pegging flags are used to control the way textures appear on walls around openings. Upper textures normally have the bottom of the wall texture to be drawn lined up with the bottom of the "upper" space in which it is to be drawn. This can result in the upper texture being misaligned with a neighboring "middle" texture. To help solve this problem, common over openings in walls, the upper unpegged flag can be set. If the upper texture is unpegged, it is drawn with the wall texture's top row at the ceiling, just like middle and lower textures are usually drawn. This can help realign the upper texture with a neighbour.

The lower unpegged flag is commonly used on lower textures around openings. It is used on doorjambs, because when the door opens, the sector ceiling is rising, so the "sides" (the doorjambs), which are middle textures, will be drawn from the ever-changing ceiling height down, and thus will appear to be moving with the ceiling. Unpegging them will make them be drawn from the floor up, and since the floor height doesn't change when a door opens, then will not move.

NOTE: There is much more information on the use of the Unpegged flags (and other alignment features) in Texture Alignment pages of The WADster's Guide.


Automap line colours

On the automap in DOOM and DOOM II, red lines indicate a line is one-sided, that there is a sector on only one side (or the line is marked secret). Brown lines are between two sectors with different floor heights but the same ceiling height. Yellow lines are between two sectors with different ceiling heights and the same or different floor heights. Gray lines are as-yet-unseen lines revealed by the computer all-map. Without the all-map, lines between sectors with identical floor and ceiling heights don't show up. With it, they are gray.


Sound propagation

Every time a player fires a weapon, the "sound" of it travels from sector to sector, alerting all non-deaf monsters in each new sector. But the sound will die when it hits a second line with this flag, providing that line is on a sector boundary. The sound can cross one such line, but not two. All possible routes for the sound to take are taken, so it can get to some out-of-the-way places.

Another thing that blocks sound, instantly, is incompatible sector heights: an air-gap is always required to permit sound to pass. Sound can go from a sector with 0/72 floor/ceiling heights to one with 64/192, but the sound cannot go from a 0/128 sector to an adjacent 128/256 sector.

 


 LINEDEF Special Effects

↓bottom↓   ↑Menu↑   ↑top↑

 

The way that Special Actions are structured and triggered from LINEDEFS differs widely between the basic engine of DOOM, DOOM II and Heretic, and the much more advanced engine used in Hexen.


DOOM, DOOM II and Heretic Line Specials

The short in field 4 of 7 of a LINEDEF can control various special effects like doors opening, floors moving, etc. Some of them must be activated by "using" them, like switches, and some of them are activated when they are walked over. There are a huge number of ways to use these effects, but it's all done by using one of a hundred or so line function types.

The most common way they work is this: a player walks across a line or activates (presses the spacebar or the use key) right in front of a line. That line has a function type that is non-zero. It also has a tag number. Then all sectors on the level with the same tag number, that are not already engaged in some action, undergo the effects that the LINEDEF type number dictates. Note that the tag numbers are not the SECTOR numbers, nor the LINEDEF numbers. A tag number is in a LINEDEF's 5th short field, and a SECTOR's last short field.


Hexen Line Special Actions

Hexen uses a much more flexible Special Action system than does DOOM. In the earlier model of game engine, all of the characteristics of an action, including its trigger type and all aspects of its operation were hard-coded into the particular action. With Hexen, much of this has changed. An action's repeatability, for instance, is now part of the LINEDEF structure: bit 9 of the line's Attribute flags. The precise way that any line triggers the action is also encoded in the line's Attribute flag: bits 10, 11 and 12 of the flag provide a three-bit value which is decoded as follows:


Hexen line activation flags
ValueCauses line to activate when
0Player crosses the line
1Player uses the line with the use key
2Monster crosses the line
3Projectile impacts the wall
4Player pushes the wall
5Projectile crosses the line

Finally, Hexen's Special Actions permit the passing of up to five arguments from the LINEDEF to control the precise way that the triggered activity is carried out. Full details of these are given in the pages dealing with the Special Actions of Hexen.

 


+  ↑ Menu ↑  HTML-Version new styled on Nov 2008 by Dieter Heinrich  ↑ top ↑ 
Home
Flash-Plugin fehlt !