Here is the original page.
The syntax in CPMA's SuperHud should be pretty straightforward to comprehend. Supports both multi-line and single-line arguments.
ELEMENT { ELEMENT_COMMAND VALUE ELEMENT_COMMAND VALUE } ELEMENT { ELEMENT_COMMAND VALUE; ELEMENT_COMMAND VALUE; }
You can comment using #. // cannot be used.
Some Element Commands have optional "," seperators.
Each piece of the HUD is called an ELEMENT. Elements are sorted z-layer-wise alphabetically. Each element can be hidden or shown using hud_hide/hud_show <element>.
The first element in the hudfile MUST be "!DEFAULT", and every other element inherits from that default:
this gives you an easy way to change fonts/colors/etc for a whole bunch of elements at once.
!DEFAULT can be reused later in the document affecting every following element but it will not overwrite the parameters set by previous !DEFAULT(s).
It is advisable to place Team1-8 and Chat1-8 at the bottom of your hud config so that !DEFAULTs can be used without interfering with other elements.
Empty elements that can be used to draw separator bars etc. Limit 64 total.
Low ammo/Out of ammo. The audio feedback "click" can be toggled using cg_ammoWarning.
Who attacked you last.
Who attacked you last.
Chat area - if you want the order of the messages reversed then reverse the Y coordinates.
Examples:
!DEFAULT { textalign l time 5000 color 1 1 1 1 fade 0.5 0.5 0.5 0 font id fontsize 7 8 } # Normal order Chat1 { rect 0 340 640 8; } Chat2 { rect 0 348 640 8; } Chat3 { rect 0 356 640 8; } Chat4 { rect 0 364 640 8; } Chat5 { rect 0 372 640 8; } Chat6 { rect 0 380 640 8; } Chat7 { rect 0 388 640 8; } Chat8 { rect 0 396 640 8; } # Reversed order Chat1 { rect 0 396 640 8; } Chat2 { rect 0 388 640 8; } Chat3 { rect 0 380 640 8; } Chat4 { rect 0 372 640 8; } Chat5 { rect 0 364 640 8; } Chat6 { rect 0 356 640 8; } Chat7 { rect 0 348 640 8; } Chat8 { rect 0 340 640 8; }
Replacement for ID's console. Requires con_notifyTime -1.
Console { rect 0 0 640 48 #monospace time 3000 }
Status of enemy flag. To get old RED/BLUE use color T and color E, plus bgcolor. Check hud/old.cfg.
# Oldschool RED/BLUE style FlagStatus_NME { rect 568 400 32 32; bgcolor 1 1 1 1; color E; } # Green FlagStatus_NME { rect 568 400 32 32; color 0 1 0 1; }
Status of your flag. To get old RED/BLUE use color T and color E, plus bgcolor. Check hud/old.cfg.
# Oldschool RED/BLUE style FlagStatus_OWN { rect 608 400 32 32; bgcolor 1 1 1 1; color T; } # White FlagStatus_OWN { rect 608 400 32 32; color 1 1 1 1; }
Following <Player>.
Frames Per Second.
You fragged <Player>.
Game Clock.
Game Type - Warmup only. Cannot be omitted. To hide place at off-screen x,y coordinates or set alpha 0.
Text string of item you pick up.
Icon of item you pick up.
Lagometer.
Ping.
Units Per Second.
Powerup Icons. PowerUp1_Icon is also used for the O/D indicator in CTFS - and also for FLAG.
Powerup Time left.
Placed 1st with 30 frags.
Frag/Cap/round limit (if set). Cannot be omitted. To hide place at off-screen x,y coordinates or set alpha 0.
Enemy score. Cannot be omitted. To hide place at off-screen x,y coordinates or set alpha 0. To get old RED/BLUE use color T and color E, plus bgcolor. Check hud/old.cfg.
# Oldschool RED/BLUE style Score_NME { rect 0, 440, 32, 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; color E; } # Green Score_NME { rect 0, 460, 32, 20; textalign R; fontsize 20; bgcolor 0 1 0 0.5; fill; }
Your score. Cannot be omitted. To hide place at off-screen x,y coordinates or set alpha 0. To get old RED/BLUE use color T and color E, plus bgcolor. Check hud/old.cfg.
# Oldschool RED/BLUE style Score_OWN { rect 0, 440, 32, 20; textalign R; fontsize 16 20; bgcolor 1 1 1 0.5; fill; color T; } # White Score_OWN { rect 0, 440, 32, 20; textalign R; fontsize 20; bgcolor 1 1 1 0.5; fill; }
SPECTATOR, FRAGGED (in CA/CTFS/FT).
Armor level in bar form.
Armor level in number form.
Type of armor - essential in cpm but irrelevant in vq3.
Ammo level in bar form.
Ammo level in number form.
Current weapon ammo icon.
Health level in bar form.
Health level in number form.
Defaults to mynx icon but can be any model, image or shader found in pk3s - provided that the pk3 is on the pure server you join.
Current target's playername - requires cg_drawCrosshairNames above 0.
Current friendly target's health/armor level - requires cg_drawCrosshairNames above 0.
Players alive on enemy team (CA/CTFS/FT).
Players alive on your team (CA/CTFS/FT).
Defaults to sarge icon but can be any model, image or shader found in pk3s - provided that the pk3 is on the pure server you join.
Defaults to mynx icon but can be any model, image or shader found in pk3s - provided that the pk3 is on the pure server you join.
Teamoverlay.
Examples:
# Top-right !DEFAULT { textalign r; font id; fontsize 7 8; monospace; bgcolor 0 0 0 0.5; color 1 1 1 1; } Team1 { rect 0 0 640 8; } Team2 { rect 0 8 640 8; } Team3 { rect 0 16 640 8; } Team4 { rect 0 24 640 8; } Team5 { rect 0 32 640 8; } Team6 { rect 0 40 640 8; } Team7 { rect 0 48 640 8; } Team8 { rect 0 56 640 8; } # Bottom-right !DEFAULT { textalign r; font id; fontsize 7 8; monospace; bgcolor 0 0 0 0.5; color 1 1 1 1; } Team1 { rect 0 472 640 8; } Team2 { rect 0 464 640 8; } Team3 { rect 0 456 640 8; } Team4 { rect 0 448 640 8; } Team5 { rect 0 440 640 8; } Team6 { rect 0 432 640 8; } Team7 { rect 0 424 640 8; } Team8 { rect 0 416 640 8; } # Bottom-left !DEFAULT { textalign l; font id; fontsize 7 8; monospace; bgcolor 0 0 0 0.5; color 1 1 1 1; } Team1 { rect 0 472 640 8; } Team2 { rect 0 464 640 8; } Team3 { rect 0 456 640 8; } Team4 { rect 0 448 640 8; } Team5 { rect 0 440 640 8; } Team6 { rect 0 432 640 8; } Team7 { rect 0 424 640 8; } Team8 { rect 0 416 640 8; } # Top-left !DEFAULT { textalign l; font id; fontsize 7 8; monospace; bgcolor 0 0 0 0.3; color 1 1 1 1; } Team1 { rect 0 0 640 8; } Team2 { rect 0 8 640 8; } Team3 { rect 0 16 640 8; } Team4 { rect 0 24 640 8; } Team5 { rect 0 32 640 8; } Team6 { rect 0 40 640 8; } Team7 { rect 0 48 640 8; } Team8 { rect 0 56 640 8; } # Low-centered !DEFAULT { textalign c; font id; fontsize 7 8; monospace; bgcolor 0 0 0 0.5; color 1 1 1 1; } Team1 { rect 0 372 640 8; } Team2 { rect 0 364 640 8; } Team3 { rect 0 356 640 8; } Team4 { rect 0 348 640 8; } Team5 { rect 0 340 640 8; } Team6 { rect 0 332 640 8; } Team7 { rect 0 324 640 8; } Team8 { rect 0 316 640 8; }
Multiarena, ra3maps.
Normal votes.
10sec countdown, Waiting for players, etc. Cannot be omitted. To hide place at off-screen x,y coordinates or set alpha 0.
The WeaponList has to get a little funky to be able to handle all the legacyhud tricks: W and H are the size of EACH weapon, not the total.
For the horizontal weaponlist (textalign C) X is the point to center around.
Use fill to show ammo for weapons you do not have, useful for tdm.
Weaponlist wraps at the bottom of the screen so you can sneak a multi-column one in.
Supports TIME.
Examples:
# Bottom-left, triple-column WeaponList { rect 0 441 33 9 color 0.2 0.2 0.7 0.75 font id fontsize 11 textalign l } # Low-centered WeaponList { rect 320 428 34 13 color 0.2 0.2 0.7 0.75 font id textalign C fontsize 11 13 } # Left WeaponList { rect 0 80 48 16 color 0.25 0.25 1 0.75 bgcolor 0.25 0.25 0.25 0.75 fontsize 12 16 textalign l fill }
CPMA hud 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.
Note that colors set in SuperHud do not override colors set elsewhere. For example if your \nick or \name is ^3hello it will be yellow regardless.
Color T and color E for elements to use red/blue according to your current team. Useful for flag modes, but not necessarily for tdm/1v1.
Set bgcolor for these, even for images - see hud/old.cfg.
Some elements will have special functions (for instance Bars) when color 0 0 0 0 is used.
ch_teamBackground does not exist any longer but the same effect can be achieved using:
PreDecorate { rect 0 420 640 60; bgcolor 1 1 1 0.3; color T; image "white"; }
Or you can use a more pretty and fancy version such as:
PreDecorate { rect 0 420 640 60; bgcolor 1 1 1 0.8; color T; image "gfx/2d/grad_mid"; }
The commands you can use within an element are:
Alters the display of MODEL. Note that most Q3 models do not work properly if r_vertexlight is on.
Example:
PostDecorate { rect 300 440 40 40; ANGLES 10 -180 0 45; MODEL "models/powerups/armor/armor_red.md3" }
Sets the background color for the element.
The element must have a width and height.
Sets the foreground color for the element.
Makes bars two lines. Obviously only works on BAR elements (StatusBar_ArmorBar etc). Check out hud7 for examples.
If both a model and an icon are present, use the model - irrelevant for most elements.
If the element has a TIME, its text will fade from COLOR to this linearly over TIME milliseconds.
If the element has a background color, this fills the area it occupies with that color.
The element must have a width and height.
CPMA, Bitstream Vera Bold, which is a high-resolution font best suited to 1024x768 and up - or large font-size on low-resolution.
ID, which is the standard Q3 font - good for small font-size and/or low-resolution.
IDBLOCK, only supports numbers, NOT letters.
THREEWAVE, which is an outlined copy of the id font.
SANSMAN, Digital Graphics Labs "Enter Sansman".
The CPMA font is correctly aspect-adjusted already, and looks best if you just specify a pointsize.
The other fonts are square, and look much better if you specify distinct x and y sizes, with y being 25-50% larger than x.
Element texts can be mirrored using negative x y. Note this is an unintended and unsupported "hack", so might be a bit buggy.
Display the image specified. Or the skin for a MODEL if it's a player model. You can use ANY image or shader found in pk3s. Mostly useful for displaying team/enemy model icons in CA/CTFS/FT but you can also have some fun with it:
PreDecorate { rect 0 0 640 480; image "models/powerups/health/red_sphere"; } PreDecorate { rect 0 0 640 480; image "textures/sfx/logo512"; color 1 1 1 0.9; } PostDecorate { rect 0 352 128 128; image "rocketExplosionNPM"; } PostDecorate { rect 512 352 128 128; image "grenadeExplosionNPM"; } PostDecorate { rect 0 330 640 640; image "textures/sfx/fan"; }
Surely someone will come up with more useful implementations of this feature, like alternative, but useful, crosshairs ;)
Can be any model in the game. Note that most Q3 models do not work properly if r_vertexlight is on.
Example:
PostDecorate { rect 300 440 40 40; ANGLES 0 0 0 -120; MODEL "models/powerups/armor/armor_red.md3" }
By default, all HUD fonts are proportionally spaced, meaning that an "i" takes up less room than an "m".
Monospacing forces every character to take up the same amount of space. It's very useful for the team overlay, as it keeps everyone's
health and armor in the same columns, but generally looks worse than proportional spacing on everything else, especially chat.
It also takes up more room overall.
Offset MODEL along x y z axis.
Sets the position and size of the element. Note that text is NOT "clipped" to this rectangle.
Elements can be mirrored using negative w h. Note this is an unintended and unsupported "hack", so might be a bit buggy.
Mostly useful for decorations. Requires RECT.
Justify the text either Left, Centered, or Right within RECT.
Currently only one flag is supported: "1", for dropshadowed text.
How long the element will be displayed for if it doesn't update again. Generally used for item pickups, frag messages, chat, etc.
Limitation: Color fails on elements with color codes embedded in their strings (StatusBar_HealthCount, StatusBar_ArmorCount, NetGraphPing, etc).
Limitation: Alpha fails on some elements containing images (StatusBar_AmmoIcon, StatusBar_ArmorIcon, etc).
Limitation: Fade fails on some elements containing images without alpha channels (ItemPickupIcon etc).
Limitation: If a !DEFAULT sets MONOSPACE, FILL or DOUBLEBAR there is no method to remove it again (so don't do it, unless it's at the end of the document).
Limitation: Color T and E act funny when in non-teamplay modes such as 1v1 (like the #ch_teamBackground hack).
Limitation: FILL plus bgcolor when used on elements that disappear without having TIME makes bgcolor remain indefinately.
Not implimented: cg_drawRewards element not included in SuperHud.
These cvars do not directly influence the SuperHud but are still related to the HUD in some way.
cg_customLoc <0|1> (default = 1)
Use custom locations for a map if possible.
Loc files are locs/map.cfg, and must have a "v2" header.
Can only replace existing locations.
bspfix
Small utility to extract map locations directly from map files. VERY useful for making custom locations.
cg_drawRewards <0|1> (default = 1)
Toggle display of reward icons and the accompanying sounds (IMPRESSIVE! EXCELLENT! etc..)
Might get merged with the superhud but it is not a priority at the moment.
cg_teamChatsOnly <0|1> (default = 0)
Controls what text reaches the HUD Chat elements if set, non-team text still shows up in the console area.
ch_3waveFont <0|1> (default = 1)
Toggle use of the Threewave font - does not affect SuperHud settings.
ch_drawWarmup (<0|1> (default = 0)
Toggle display of arena settings before a game starts.
ch_drawWeaponSelect <0|1> (default = 0)
Toggle id standard weapon selection.
ch_recordMessage <0|1> (default = 1)
0 gets rid of the sodding "recording blahblah" message - must be set before demo record start.
ch_selfOnTeamOverlay <0|1> (default = 1)
Toggle your own information showing in the team overlay.
ch_shortNames <0|1> (default = 0)
Toggle use of \nick - set a short name to use for team chat/overlay.
Limited to 5 visible characters, but allows colors.
Useful to have your \nick shown instead of [longclantag] in team chat/overlay.
Note: \nick is only used for team chat/overlay. \name is still used for anything else.
ch_wstatsTime <seconds> (default = 10)
How long the auto-wstats window stays up at the end of a game.
con_notifyTime <seconds> (default = 3)
-1 uses the CPMA Console hud element instead of id's.
Doesn't affect the console *buffer*, just the text in the top left.
mvw_DM (default "464 48 160 120")
x, y, width, height of Picture in Picture window for DM games.
mvw_TDM<1-9>
Controls teamplay Multi View layout. br/> Format is the same as mvw_DM, default no child windows.
seta mvw_TDM1 "480 65 160 120" seta mvw_TDM2 "480 190 160 120" seta mvw_TDM3 "480 315 160 120"
cg_crosshairHealth <0|1> (default = 0)
Red crosshair when low on health - turn off or ch_crosshairColor will not work.
cg_crosshairsize <value> (default = 24)
Size of crosshair.
cg_drawcrosshair <0-19> (default = 4)
Switch between different crosshairs. 11-19 are high res, high quality crosshairs.
ch_crosshairAlpha <0.0 to 1.0> (default = 0.8)
Controls the transparency of the crosshair.
cg_drawCrosshairNames 0-2 (default = 1)
Toggles TargetName and TargetStatus.
ch_crosshairColor <color> (default = y (White))
CPMA_Colors.
Important note: cg_crosshairHealth overrides this function, turn it off to use colored crosshairs.
ch_crosshairPulse <0|1> (default = 0)
Controls crosshair size changes when picking up items.
ch_crosshairText <string> (default = "" disabled)
Use any text sting as crosshair.
You can find some huds, here, on the profile of the users (if they have added one).
Here are some from Noob-anonymous website.