Status bar

From DoomWiki.org

Revision as of 02:10, 30 January 2006 by Ryan W (talk | contribs) (gr)


The status bar is displayed at the bottom of the screen during gameplay and shows the player's status. (At the largest screen size the status bar is not shown, except in automap mode.) The status bar shows:

  • Ammo: The remaining ammo of the currently selected weapon.
  • Health: The player's health. This can range from 0-200%. If it does reach 0% the player dies (unless he is in a sector of type 11; in such a sector the observant player may also notice a negative number here for a split second).
  • Arms: The weapons currently possessed by the player (excepting the super shotgun). These correspond to the keys pressed to activate them.
  • Face: The player's face. This gives an immediate indicator of health and also reacts to events such as damage to the player. Specifically, if the player is hurt, the face turns and looks in the direction of the origin of the damage; a new weapon causes the face to grin briefly; and as health falls, the face becomes more beaten and bloodied. If the player has activated iddqd or the invulnerability cheat, or picks up the invulnerability powerup, the face has glowing golden eyes.
  • Armor: The player's armor level. This can range from 0-200% (and, in versions of Doom prior to v1.2, an arbitrarily high number).
  • The keys possessed by the player.
  • Remaining and maximum ammo for all four ammunition types (bullets, shells, rockets and cells).

In deathmatch mode, the "Arms" display is replaced by a "Frags" display showing the player's current score in the game. Furthermore, the background color of the player face is changed to match the player's color.

Status bar

Technical

The status bar code in the Doom source code is responsible not only for drawing the status bar, but also performs the palette special effects when injured or picking up items, and detects the entry of cheat codes.

Beta versions of Doom showed messages to the player and multiplayer chat being performed inside the status bar. This was moved to the Heads-up display; however, the Doom source includes leftover variables relating to "status bar chat" and the message display.

In the Doom source code, ST_* is used as a prefix for files and functions associated with the status bar. This trend continues in the IWAD file, where graphic resources relating to the status bar begin with ST. The following resources are used for the status bar:

STBAR
The main status bar graphic
STGNUM0-9
Small grey numbers used for weapons not yet possessed
STTNUM0-9
Large numbers, used for Health, Armor, Frags, Ammo displays
STTMINUS-9
Negative symbol for large text
STTPRCNT
Percent symbol for large text
STYSNUM0-9
Small yellow numbers to indicate weapons possessed (also used for total ammo display)
STKEYS0-5
Icons used for the key display
STDISK
Floppy disk graphic used when accessing the disk
STCDROM
CD-ROM graphic used when accessing a CD-ROM
STARMS
The STBAR graphic includes a "Frags" box. This graphic overwrites it with the "Arms" box when not in deathmatch. Early versions of Doom (pre 1.2) did not include this graphic, as the status bar did not include a "frags" display.
STFB*
Used as backgrounds for the player face when in multiplayer.
STF*
Player face graphics. The sprite names take the form STF[type][health][frame], where the text [type] represents one of several conditions currently being experienced by the player, [health] is a digit denoting his approximate current health, and [frame] is an optional extra digit signifying a repeating animation sequence.
The possible values of [type] are:
Face type Condition Frame digits
ST Glancing around warily (default) 0-2
TL Looking to his right (attacked
from left side of screen)
0
TR Looking to his left (attacked
from right side of screen)
0
KILL Gritting teeth (e.g. holding
the trigger down for a while)
none
EVL Grinning wickedly (just picked up
a new weapon or large powerup)
none
OUCH Ouch face (gains at least 20%
health while being injured)
none
Additionally, STFGOD0 (unhurt, glowing eyes) appears while an invulnerability powerup or the iddqd cheat code is in effect.
The number [health] can take on the following values:
Range (in sprite name) Player health Default face appearance
0 80% - 100% Completely healthy
1 60% - 79% Bloody nose,
hair slightly mussed
2 40% - 59% Face swollen,
grimacing
3 20% - 39% Eyes closed, face
dirty and bleeding
4 1% - 19% Similar to "3", but
even bloodier

The sprite STFDEAD0 (head bowed and bruised, hair completely dishevelled) takes over when the player is killed.

See also