I just updated stuff, so try again.
Custom HUD gauges:
;this should actually work.
#Custom Gauges
$Name: Steak_gauge
$Name: Yo_mama
$Name: Holy_hannah
#End
#Main Gauges
$Default: (640 480)
$Steak_gauge: (256 256)
+Text: Lumberjack
$Yo_mama: (128 128)
+Text: Yo mama
$Holy_hannah: (64 64)
+Image: attacker
#End
At the top of hud_gauges.tbl, all that's needed to add three custom gauges. Once you've added a custom gauge, it's appended to the main gauges (or mini-gauges, if a parent is specified) list.
$Name:
Name of the Custom HUD, also used as the name for variables
$Default640X:
Default X coordinates in 640x480
$Default640Y:
Y coordinates
$Default1024X:
1024x480 X coordinates; used if a nonstandard resolution is specified
$Default1024Y:
ditto, except Y coordinates
$Parent:
Name of the HUD gauge's parent. If this is specified, it is a mini-gauge
$Addparent:
If $Parent is specified, this specifies the HUD gauge to add coordinates on to. This is useful if you need something to be placed right next to another gauge.
Say you wanted a gauge to be exactly 6 pixels to the right of another gauge's coordinates; you would set addparent to that gauge's name, and set the Default X values to 6.
Once added Custom gauges function exactly like normal gauges, except they are static; nothing changes about them. For use on future gauges - all images for an individual gauge should be in an ANI, like Volition's are. Switching image files mid-game is a bad idea.
For now, static images are supported, animations (and ANIs) are not.
My thoughts on SEXPs are that a set-hud-frame and set-hud-text and set-hud-coords could be implemented.
Set-hud-text would take the HUD variable name and the string for the gauge to display.
Set-hud-frame would take the HUD variable name and the frame nubmer in the ANI.
Set-hud-coords would take the var name, and the X coord, and the Y coord.
As of now, there is a limit total of 32 custom gauges.
linkieEdit: Not sure if I mentioned this, but this is the specification form for ships:
$Ship: GTF Myrmidon
$Resolution: (640 480)
$Gauge: Shield Mini
$Text Base: (310 298)
$Default: (640 480)
$Gauge: Shield Mini
$Text Base: (310 298)
$Ship: ...
Edit 2: BTW, with a set-hud-coords and some creative SEXPing you could build a radar

.