
A sector is an area referenced by sidedefs on the linedefs. Sectors should be closed areas, meaning that all the sidedefs that reference a particular sector should make up a closed shape. Unclosed sectors can be used for a few special effects, but under some circumstances they can lead to undesirable results (including crashes).
A sector does not have to be a single polygon. For instance, two squares can be separate and non-contiguous, but still be part of the same sector.
A sector entry specifies the following:
Ceiling flat - Name of the flat (texture) used on the ceiling of the sector.
Floor flat - Name of the flat used on the floor.
Ceiling height - Height of the ceiling.
Floor height - Height of the floor.
Lighting - How bright the sector is.
Sector tag - A number that makes the sector a target of the action specified by any linedef with the same tag number. Used, for example, to alter the sector's ceiling and/or floor height, lighting level or flats.
Sector type - Special properties of the sector. This is used to give the sector a damaging floor (for things like lava and slime), have the sector's light level change constantly, enable wind or currents or even push the player in a certain direction. See below.
Sector structure
|
Sectors are stored in WAD files in the following format:
Offset | Size (bytes) | Description |
---|---|---|
0 | 2 | Floor height |
2 | 2 | Ceiling height |
4 | 8 | Name of floor texture |
12 | 8 | Name of ceiling texture |
20 | 2 | Light level |
22 | 2 | Type |
24 | 2 | Tag number |
Sector types
The type field of the sector structure is used to specify lighting, damage, and a few other special effects.
- There are linedef types that can change the sector type field during gameplay, either to zero or to a copy of another sector's type field. This is how, for example, a safe bridge rises out of a pool of nukage.
- Any damage caused by Damaging floor sectors (types 4, 5, 7, 11, and 16) is halved, rounded down, at skill level 1, and is split between health and armor if the player has any armor.
- In certain source ports, players may activate cheats that allow them to fly. A flying player must touch the ground in order to get credit for finding a secret in sectors of Type 9, or to sustain damage in a damaging floor sector. This means that for players also using the God mode cheat, God mode will remain active in a Type 11 sector until the player touches the ground.
Vanilla Doom
In vanilla Doom, the sector type values are mutually exclusive.
Type | Class | Effect |
---|---|---|
0 | Normal | |
1 | Light | Blink random |
2 | Light | Blink 0.5 second |
3 | Light | Blink 1.0 second |
4 | Both | 20% damage per second plus light blink 0.5 second |
5 | Damage | 10% damage per second |
7 | Damage | 5% damage per second |
8 | Light | Oscillates |
9 | Secret | Player entering this sector gets credit for finding a secret |
10 | Door | 30 seconds after level start, ceiling closes like a door |
11 | End | Cancel God mode if active. 20% damage per second. When player dies, level ends |
12 | Light | Blink 0.5 second, synchronized |
13 | Light | Blink 1.0 second, synchronized |
14 | Door | 300 seconds after level start, ceiling opens like a door |
16 | Damage | 20% damage per second |
17 | Light | Flickers randomly |
Boom
Boom (and compatible source ports) support the Doom sector types above, and also provide "generalized" sector types. The latter are based on bit fields, which allows several sector type properties to be independently specified for a sector. Texture change linedef types can be used to switch some or all of these properties dynamically, outside lighting.
Bits 0 thru 4 specify the lighting type in the sector, and the same codes that Doom uses are employed (0, 1, 2, 3, 4, 8, 12, 13 and 17 from above).
Bits 5 and 6 set the damage type of the sector, with the usual 5/10/20 damage units per second.
Dec | Bits 6-5 | Effect |
---|---|---|
32 | 01 | 5% damage per second |
64 | 10 | 10% damage per second |
96 | 11 | 20% damage per second |
Bit 7, when set, makes the sector count towards the secrets total at game end.
Bit 8, when set, enables the ice/mud effect controlled by linedef 223.
Bit 9, when set, enables the wind effects controlled by linedefs 224–226.
Sources
- Unofficial Doom Specs
- Boom source code: boomref.txt
|