Difference between revisions of "Sector"

From DoomWiki.org

[unchecked revision][unchecked revision]
(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.)
(+ cat)
Line 152: Line 152:
  
 
[[Category:Doom engine]]
 
[[Category:Doom engine]]
 +
[[Category:Lists]]

Revision as of 04:09, 26 February 2007

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

Doom level format

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.
  • Damage is halved at skill level 1.
  • Damage is split between health and armor (if any).

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