| Offset | Size | Label | Meaning |
|---|---|---|---|
| 0 | word | v1 | Line's start vertex |
| 2 | word | v2 | Line's end vertex |
| 4 | word | flags | Line's flags (see below) |
| 6 | byte | special | Line's special type |
| 7 | byte | args[0] | Line special's first argument |
| 8 | byte | args[1] | Line special's second argument |
| 9 | byte | args[2] | Line special's third argument |
| 10 | byte | args[3] | Line special's fourth argument |
| 11 | byte | args[4] | Line special's fifth argument |
| 12 | word | sidenum[0] | Line's front sidedef number |
| 14 | word | sidenum[1] | Line's back sidedef number |
The meanings of the bits in the linedef's flags field are:
| Bit | Hex Equiv | Meaning | 0 | 0x0001 | Blocks players and monsters |
|---|---|---|
| 1 | 0x0002 | Blocks monsters only |
| 2 | 0x0004 | Line is two-sided |
| 3 | 0x0008 | Upper texture is unpegged |
| 4 | 0x0010 | Lower texture is unpegged |
| 5 | 0x0020 | Secret line (drawn as one-sided in automap) |
| 6 | 0x0040 | Blocks sounds |
| 7 | 0x0080 | Never draw this line on the automap |
| 8 | 0x0100 | Always draw this line on the automap |
| 9 | 0x0200 | This line's special is repeatable |
| 10-12 | 0x1c00 | This line's activation type (see below) |
| 13 | 0x2000 | Line can be activated by monsters (and players) |
| 14 | 0x4000 | Reserved |
| 15 | 0x8000 | Blocks everything (including gunshots and missiles) |
Each line special can have one of the following activation types:
| Value | Flag Value | Meaning |
|---|---|---|
| 0 | 0x0000 | Activated when a player crosses the line |
| 1 | 0x0400 | Activated when a player uses the line |
| 2 | 0x0800 | Activated when a monster crosses the line |
| 3 | 0x0c00 | Activated when a projectile hits the line |
| 4 | 0x1000 | Activated when a player bumps the line |
| 5 | 0x1400 | Activated when a projectile crosses the line |
| 6 | 0x1800 | Same as 1, but with passthru (see boomref.txt) |
| 7 | 0x1c0 | Reserved |
| Offset | Size | Label | Meaning |
|---|---|---|---|
| 0 | short | thingid | Thing's id |
| 2 | short | x | Thing's x location |
| 4 | short | y | Thing's y location |
| 6 | short | z | Thing's z location relative to floor/ceiling |
| 8 | short | angle | Thing's facing angle (in degrees) |
| 10 | short | type | Thing's type |
| 12 | short | flags | Thing's flags (see below) |
| 14 | byte | special | Thing's special |
| 15 | byte | args[0] | Special's first argument |
| 16 | byte | args[1] | Special's second argument |
| 17 | byte | args[2] | Special's third argument |
| 18 | byte | args[3] | Special's fourth argument |
| 19 | byte | args[4] | Special's fifth argument |
Note that in this case, the thing's angle is specified in degrees with 0 being east and larger values proceed counterclockwise. The angle given here will be rounded down to a 45 degree increment.
Under normal circumstances, the thing's special will be executed when the thing dies, this allowing you to perform some special action upon killing a monster.
The meanings of the bits in the thing's flags field are:
| Bit | Hex Equiv | Meaning |
|---|---|---|
| 0 | 0x0001 | Thing will appear on easy skill setting (0/1) |
| 1 | 0x0002 | Thing will appear on medium skill setting (2) |
| 2 | 0x0004 | Thing will appear on hard skill setting (3/4) |
| 3 | 0x0008 | Thing is deaf |
| 4 | 0x0010 | Thing is dormant (will not react until activated) |
| 5 | 0x0020 | Reserved |
| 6 | 0x0040 | Reserved |
| 7 | 0x0080 | Reserved |
| 8 | 0x0100 | Thing appears in single-player games |
| 9 | 0x0200 | Thing appears in cooperative games |
| 10 | 0x0400 | Thing appears in deathmatch games |
| 11 | 0x0800 | Reserved |
| 12 | 0x1000 | Reserved |
| 13 | 0x2000 | Reserved |
| 14 | 0x4000 | Reserved |
| 15 | 0x8000 | Reserved |