# SuperHud

### From Q4MAX

Starting from version 0.80, Q4Max uses a custom hud system based on CPMA's implementation - we call it SuperHud.

advantages over using .guis

- performance
- simpler syntax
- no packaging

The syntax, elements and properties are largely similar, so you will find most of this documentation paraphrases CPMA's.

Note : For the time being, you can still revert to .gui based huds by changing hud_useSuperhud to 0 - but support for them is on hold. This will likely change in future releases.

## Syntax

The syntax in CPMA's SuperHud should be pretty straightforward to comprehend. Supports both multi-line and single-line arguments.

    ELEMENT
    {
        PROPERTY VALUE
        PROPERTY VALUE
    }

    # This is a comment !
    // This is also a comment
    /*
    as is this
    */

    # You can also represent elements like this:

    ELEMENT { PROPERTY VALUE PROPERTY VALUE }

All keywords - both element names, and property names, are case insensitive.

Note that unlike CPMA, all properties have a value. Additionally, the value must be quoted if it contains spaces or punctuation of any kind - so "1.3" or "10 10" must be quoted, unlike in CPMA.

## Elements

!Default
  Special type of element which sets default properties which are applied to all elements that follow this element. May occur multiple times.

Awards
  Shows the award icons.
Properties
  Base properties using position+dimensions
  Text properties

Chat1 to Chat5
  Text elements showing the ingame chat.
Properties
  Text properties

Ctf_Holder_Own
  The name of the person currently carrying your teams flag.
Properties
  Text properties

Ctf_Holder_Nmy
  The name of the person currently carrying the enemy flag.
Properties
  Text properties

Ctf_Status_Own
  Image showing the CTF flag state for your own team.
Properties
  Text properties

Ctf_Status_Nmy
  Image showing the CTF flag state for the enemy team.
Properties
  Text properties

Death_Message_1 to Death_Message_3
  Text showing the death messages.
Properties
  Text properties

Fps
  Text containing the current framerate. You can hide/show it by toggling hud_fps.
Properties
  Text properties

Frag_Notice
  Text used to indicate who you just fragged / who fragged you.
Properties
  Text properties

Gametime
  A text element showing the amount of time played/remaining.
Properties
  Text properties

Gametime_Inf
  The infinity sign displayed when there is no timelimit
Properties
  Image properties

Input
  Game controller style images showing the movement keys. You can hide/show it by toggling hud_showInput.
Properties
  Base properties, using position+dimensions
  Text properties
  color
  colorHighlight

Lagometer
  The lagometer. You can hide/show it by toggling net_clientLagometer.
Properties
  Base properties, using position+dimensions

Main_Notice
  Text used for notices such as "you have the flag".
Properties
  Text properties

Motd
  Text field used for the Message Of The Day, and any broadcast messages from the server.
Properties
  Text properties

Name_Nmy
  The enemy's name - shows the team name in team games.
Properties
  Text properties

Name_Own
  Your name - shows the team name in team games.
Properties
  Text properties

Pickup_Text
  Text containing the long name of the last item picked up.
Properties
  Text properties

Pickup_Icon
  Pickup icon corresponding to the last item picked up.
Properties
  Image properties

Powerups
  Dynamic list of powerups that the player currently has. Shows both the powerup icon and remaining time.
Properties
  Base properties, using position+dimensions
  iconDimensions
  colorBG
  iconOffset
  textOffset
  itemSpacer

PostDecorate_Text
  Text decorator available for general use - applied after the rest of the hud.
Properties
  Text properties
  visibleforfreefloats

PostDecorate_Image
  Image decorator available for general use - applied after the rest of the hud.
Properties
  Image properties
  visibleforfreefloats

PreDecorate_Text
  Text decorator available for general use - applied before the rest of the hud.
Properties
  Text properties
  visibleforfreefloats

PreDecorate_Image
  Image decorator available for general use - applied before the rest of the hud.
Properties
  Image properties
  visibleforfreefloats

Score_Own
  Text showing your own score in non-team games.
Properties
  Text properties

Score_Nmy
  Text showing the enemy's score in non-team games.
Properties
  Text properties

Spectimers
  The display of the item timers available when spectating.

Spec_Text_0
  Line 1 of the spectator text.
Properties
  Text properties

Spec_Text_1
  Line 2 of the spectator text.
Properties
  Text properties

Spec_Text_2
  Line 3 of the spectator text.
Properties
  Text properties

Speed
  Text displaying you speed in UPS. You can hide/show it by toggling hud_showSpeed.
Properties
  Text properties

Spread
  Text containing the spread in TDM - the difference between the two teams.
Properties
  Text properties

Statusbar_Ammobar
  Percentage bar showing the current amount of ammo.
Properties
  Percentage bar properties

Statusbar_Ammocount
  Text element showing the amount of ammo the player has.
Properties
  Number properties

Statusbar_Ammoicon
  Image showing the icon for the current weapon.
Properties
  Image properties

Statusbar_Armorbar
  Percentage bar which shows the amount of armor the player has, relative to a maximum of 100.
Properties
  Percentage bar properties

Statusbar_Armorcount
  Text showing the current amount of armor.
Properties
  Number properties

Statusbar_Armoricon
  Image, showing the armor icon.
Properties
  Image properties

Statusbar_Healthbar
  Percentage bar which shows the amount of health the player has, relative to a maximum of 100.
Properties
  Percentage bar properties

Statusbar_Healthcount
  Text showing the players health.
Properties
  Number properties

Statusbar_Healthicon
  Image, showing the health icon
Properties
  Image properties

Team_Overlay_1 to Team_Overlay_8
  Rows of the team overlay.
Properties
  Text properties

Team_Score_Own
  Text showing your own score in team games.
Properties
  Text properties

Team_Score_Nmy
  Text showing the enemy's score in team games.
Properties
  Text properties

Thawbar
  Percentage bar used in Freezetag to show your current thawing state.
Properties
  Percentage bar properties

Voicechat_Transmit
  Icon displayed when transmitting voicechat.
Properties
  Image properties

Vote_Notice
  Text field which is set when a vote is called.
Properties
  Text properties

Weaponlist
  The weapon/ammo bar - a set of images and text showing the current weapons and ammo quantities.
Properties
  Base properties, using position+dimensions)
  Text properties
  color
  colorBG
  colorHighlight
  iconDimensions
  iconOffset
  textOffset
  itemSpacer

Xhair_Text
  Text displaying info about the player your crosshair is currently over.
Properties
  Text properties

## Properties

### Property groups

Base
  rect or position + dimension
  visible
  time
  horizontal

Text
  font
  color
  textscale
  textstyle
  wrap
  monospaced
  tabstops

Image
  image
  color
  colored
  flip
  rotate

Decorate
  text or image properties
  visibleforfreefloats

Percentage bar
  colorHigh
  colorMed
  colorLow
  flip
  medWatermark
  highWatermark
  horizontal
  image
  textalign
  rotate

Number
  All Text properties, and
  colorHigh
  colorMed
  colorLow
  medWatermark
  highWatermark

### All properties

Color
  Color used to draw the element.

Colored
  0/1 flag indicating whether a color should be used.

ColorBG
  Background color used for weaponlist, powerups list etc.

ColorHighlight
  Highlight color used by the weaponlist and input elements.

ColorHigh
  Color used by percentage bars for the high percentage values.

ColorMed
  Color used by percentage bars for the medium percentage values.

ColorLow
  Color used by percentage bars for the low percentage values.

Dimensions
  Width and height of the element. In some cases, such as the input element, this is not directly the dimensions of the element itself, but of part of the element.

flip
  X/Y/BOTH - allows you to flip images and percentage bars in either dimensions, or both at once.

Font
  0 - chain
  1 - marine
  2 - lowpixel
  3 - profont
  4 - chain_outline
  5 - marine_outline
  6 - lowpixel_outline
  7 - profont_outline

HighWatermark
  Percentage value to switch between medium and high colors - expressed as a value between 0 and 1 for percentage bars, and as the absolute value for numbers.

Horizontal
  0 - vertical orientation.
  1 - horizontal orientation.
  Applies to percentage bars, weaponlist, powerups, and awards.

IconDimensions
  Width and height of icons for elements that have both icons and text (weaponlist, awards etc)

IconOffset
  In lists, offset of the icon relative to the top left of the item in the list.

Image
  Path to an image to use - applies to progress bars, decorators etc. "_white" is a useful image if you want a solid color (combine with the color and colored properties).

ItemSpacer
  In lists, the amount of space between items in the list. Note that its specified as "x y". If the list is in a horizontal orientation, only x will be used, while if vertical only y will be used.

ListAlign
  Allows you to specify left/centre aligned on the various lists. This allows you to align it independently of the text alignment (so you can have left aligned list, but centred text)

MarineColor
  Color used for the Marine team. This is a global value, so typically should only be placed in the !default element. Special tokens such as T/E/W cannot be used here.

maxAwards
  Controls the number of awards before switching to a number instead of multiple images.

MedWatermark
  Percentage value to switch between low and medium colors - expressed as a value between 0 and 1 for percentage bars, and as the absolute value for numbers.

Monospaced
  0/1 flag indicating whether the text should be printed in a monospaced font.

Position
  X and Y coordinates of the element.

Rect
  X, Y, Width and Height of the element. Duplicates the functionality of position and Dimensions keywords.

rotate
  0/90/180/270 - allows you to rotate images and percentage bars by the given amount. Note that only the 4 fixed values are used.

StroggColor
  Color used for the Strogg team. This is a global value, so typically should only be placed in the !default element. Special tokens such as T/E/W cannot be used here.

tabstops
  X coordinates, relative to the x/y coordinates of the element, to move to when reaching a tab in the output text. Mainly intended for the Team Overlay.

Text
  Text value used by decorate_text elements.

textalign
  L - left, C - centered, R - right

TextOffset
  In lists, offset of the text relative to the top left of the item in the list.

TextScale
  Scales the text. Values correspond to those in q4's .gui files - the values are not in pixels.

textstyle
  0 - Normal
  1 - Shadowed
  2 - Outline - Switches to the _outline font version, therefore font 4/5/6/7 + textstyle 2 are redundant.
  3 - Ignore Colors
  4 - Ignore Colors, Skip Icons

Time
  Value indicates time (in milliseconds) that the element will be visible after the last update. Used to make elements appear only when they change.

Visible
  Value is a bitmask which indicates whether the hud element is visible. By default, it will be 7 - ie, always visible.
  0 - hidden
  1 - visible in non team-game modes
  2 - visible in team-games, excluding CTF
  4 - visible in CTF

VisibleForFreeFloats
  0/1 selects whether this element is visible for freefloat spectators. This is only needed on decorators - all other elements automatically have sensible values.

Wrap
  X Coordinate to wrap at, for text elements. Especially used in Chat elements. Can also be the Y coordinate to wrap vertical weaponlists to get multi-column lists.

## Colors

The superhud uses "r g b a", which is red green blue alpha. Each channel can have values from 0-1.

`Color "1 1 1 1"` is white, full alpha

`Color "0 0 0 0.5"` is black, half transparent

`Color "0.25 0.25 1 0.75"` is blue, somewhat transparent

It is possible to set a different alpha value for a letter color code. For example, `Color "W 0.9"` uses the weapon's color with 0.9 alpha.

Note that colors set in SuperHud do not override colors set elsewhere. For example if your ui_nick or ui_name is "^3hello" it will be yellow regardless. Text style 3 allows you to override colors stored in the string.

### Team Color

Color T uses your team's color.

- By default, it will be the standard strogg/marine color depending on which side you are.
- If you have set new marineColor/stroggColor values, these will be used.
- If you are using hud_useTeamColors 1, T will match cg_teamColor.

### Enemy Color

Color E uses your team's color.

- By default, it will be the standard strogg/marine color depending on which side you are.
- If you have set new marineColor/stroggColor values, these will be used.
- If you are using hud_useTeamColors 1, E will match cg_enemyColor.

### Weapon Color

Color W uses your current weapon's color. This is used on the ammo bar.

Retrieved from "http://www.q4max.com/wiki/index.php/SuperHud"

##### Search

##### Views

- Article
- Discussion
- View source
- History

##### Personal tools

- Create an account or log in

##### Toolbox

- What links here
- Related changes
- Upload file
- Special pages
- Printable version