BTW do you have more tutorials? i'm trying to make a hud but i need more info 
I've always wanted to, but somehow never get to. Probably cause I don't know how.
I'm on a Mac by the way
So heres my question (to all HUD-Makers)- how DOES one make an HUD?
If you have an answer, please do share it. If you don't- go to another topic please :-)

"Kk lets get started the short and simple way to making a Heads up display for tremulous"Step 1 Getting a kickass Text editorWindows Notepad++ FullVersionMac Textwrangler FreeMulti Platform JEdit Free/OpensourceStep 2 Creating a Project Folder"Bassically what you want to do is create a folder named "ui", or "W/e name you want" and place it in the right location
(Tremulous Base) so you're able to build a hud."
Windows 2000 C:/Program Files/Tremulous/Base/
Windows xp service pack 1&2C:/Documents and Settings/Your Login Name/Application Data/Tremulous/base/
Windows Vista c:/ProgramData/Microsoft/Windows/Start Menu/Programs/Tremulous/base/
Mac ~/Library/Application Support/Tremulous/base/
Linux ~/.tremulous/base/
Step 3 Gathering Files to base a hud on (Refrence Huds)Hud's On my Web FolderHud CatalogRecommended huds to look for for referenceVolt Hud 1.8 bias
K-Otic&Exclamation hud Very well put togehter, they've set the standards of tremulous HudsAdditionally you can just start from scratch, and use the tremulous default hud as your base.
Step 3.a Getting tremulous Defualt hud files In your base folder there is a file named
data-1.1.0.pk3 You need to
copy that and
paste it in a safe location(DO NOT REMOVE OR MODIFY THE ORIGINAL data-1.1.0.pk3), Then rename the filetype of data-1.1.0.pk3 to data-1.1.0.zip then proceed to extract it. This might take some time after it is done extracting you'll have a folder named data-1.1.0 open it up and navigate to the Ui folder, use anything from this directory to build your hud.
I've taken into consideration that some might not be able to do the above steps so i've extracted that folder from the data-1.1.0.pk3 for you
Ui.zipStep 4 Creating a well orginized hud using Oticz amazing hud orginazation formatThis format is
catagorising-not real word, everything into more specific groups.
-Then subgroups
In the
Hud-Directory you place everything that effects the hud.
in the
Menu -Directory you place everything that effects the menus.
In the
Assets- Directory you place things you want to use in your project, raw media formats.
Some huds that use this format are
VoltHud1.8/ k-otichud2.2 /MoxHud1.3step 4.a making a well orginized project folderInside your allready created project folder create these directories(Folders) hud,menu,assets.
Hud-inside this folder should be 3 folders,default,common,yourhud.
menu-nothing fancy in here just place all your menu files in here
assets-this directory should have 4folders.
1.
menu-where you place your menu gfx,2.
neutral-neutral images go here,like a logo, 3.
sounds-intromusic, or menu button sounds should go here, and last 4.
thumbs-this is for thumbnail views of hudstyles or menu, bassically anything you want to thumbnail,those imagines would fall under this directory.
step 4.a.1 i took into consideration that some might not want to go through all that so i've put together a sample project folder, including the industry standard features sampleprojectfolder.zip Great template for anyone instrested in making a well built hud.(skip to step 5 if you have chosen to use template)
step 4.bIf you didnt use the template above you're going to need to create a install.cfg,uninstall.cfg,and a menu.cfg.
Install.cfg-is a cfg file that tells tremulous what to set cvars to make sure to save this in the main part of your project folder (
optional as install.cfg),example
//cvar switches for your hud or any other settings
seta cg_hudfiles "ui/hud/test/hud.cfg"
seta ui_menufiles "ui/menus.cfg"
vid_restart
Uninstall.cfg- is a cfg file that is used to reset the cvars that were set in the install.cfg, bassically undo the changes done in the install.cfg,make sure to save this in the main part of your project folder(
optional as kill.cfg)
// unstaller yourhud (place in reset commands to reset cvars in your huds uninstallation)
reset cg_hudfiles
reset ui_menuFiles
vid_restart
menus.cfg-this is where you list all the locations of all the .menu files you wish to use in your project(excluding anything that is ingame like human hud,alien hud). save this in the main part of your project folder.
// menu defs
//
{
loadMenu { "ui/menu/main.menu" }
loadMenu { "ui/menu/joinserver.menu" }
loadMenu { "ui/menu/punkbuster.menu" }
loadMenu { "ui/menu/createserver.menu" }
loadMenu { "ui/menu/mod.menu" }
loadMenu { "ui/menu/credit.menu" }
loadMenu { "ui/menu/connect.menu" }
loadMenu { "ui/menu/password.menu" }
loadMenu { "ui/menu/quit.menu" }
loadMenu { "ui/menu/addfilter.menu" }
loadMenu { "ui/menu/error.menu" }
loadMenu { "ui/menu/serverinfo.menu" }
loadMenu { "ui/menu/findplayer.menu" }
loadMenu { "ui/menu/quitcredit.menu" }
loadMenu { "ui/menu/createfavorite.menu" }
}
If you make some new menu, example a hud options menu you'll need to include its location in that file.4.c Making a folder for a hud(
Optional But recommened The folder has to be in this directory ui>hud>HERE!)
so in the hud directory create a folder for a hudstyle, example create a folder named "
center".
example: ui>hud>center
4.c.1You should now be in ui>hud>Yourhud
in this directory you'll need to create 5 files.
alien_builder_hud.menu-this is where you edit the alien builder hud a.k.a fatty granger hud,make sure to save this file under ui>hud>yourhud,(
Optional but recommened as alien_builder_hud.menu) example
#include "ui/menudef.h"
// Volt
//this file links to the stuff in alien_common_hud.cfg
{
menuDef
{
name "alien_builder_hud"
fullScreen MENU_FALSE
visible MENU_TRUE
rect 0 0 640 480
#include "ui/hud/center/alien_common_hud.cfg"
}
}
alien_general_hud.menu-this hud is for any class excluding the builder(granger fatty!)make sure to save this file under ui>hud>yourhud,(
Optional but recommened as alien_general_hud.menu) example
#include "ui/menudef.h"
// Volt
{
menuDef
{
name "alien_general_hud"
fullScreen MENU_FALSE
visible MENU_TRUE
rect 0 0 640 480
#include "ui/hud/center/alien_common_hud.cfg"
//edit from here down this includes everything in alien_common_hud.cfg, and adds goon barbs
//BLOB
itemDef
{
name "blob"
rect 311 250 18 60
visible 1
forecolor 1 .677638 .345144 .8
background "ui/assets/alien/tremublob.tga"
ownerdraw CG_PLAYER_POISON_BARBS
//Volt
}
}
}
alien_common_hud.cfg-this is using a common file so you can just link to it, example in alien_builder,and alien_general we link to this common cfg,bassically place anything thats common between the alien_builder.menu,and alien_general.menu in here. somethings that would be included here would be backdrops and stage indicators.(You dont need a menudef for this file just list itemdef's. make sure to save this file under ui>hud>yourhud,(
Optional but recommened as alien_common_hud.cfg)
// Volt
//edit this to change alien hud
#include "ui/hud/common/alien.cfg"
#include "ui/hud/common/chatmenu_alien.cfg"
//edit from here down
//Stage Display
itemDef
{
name "stageDisplay"
align ITEM_ALIGN_CENTER
textscale .3
textstyle ITEM_TEXTSTYLE_SHADOWED
rect 280 470 100 23
forecolor 1 .677638 .345144 .7
decoration
visible 1
ownerdraw CG_STAGE_REPORT_TEXT
//Volt
}
human_hud.menu-unlike the alien hud, the human hud requires only a single file for all its itemdefs,so place all itemdefs for the human hud in here. Make sure to save this file under ui>hud>yourhud (
Optional but recommened as human_hud.menu.) example
#include "ui/menudef.h"
{
menuDef
{
name "human_hud"
fullScreen MENU_FALSE
visible MENU_TRUE
rect 0 0 640 480
#include "ui/hud/common/human.cfg"
#include "ui/hud/common/chatmenu_human.cfg"
//edit from here down
}
}
}
files that do not directly pertain to the hud directory but are required.spectator_hud.menu-this is a very common file especially if you have more than one hudstyle,this just list the itemdefs for the spectator hud,bassically what you can place in here is watermarks,your name or anything else. Make sure to save this file under ui>hud>common (
Optional but recommened as spectator_hud.menu) example
#include "ui/menudef.h"
// volt
{
menuDef
{
name "default_hud"
fullScreen MENU_FALSE
visible MENU_TRUE
rect 0 0 640 480
#include "ui/hud/common/chatmenu_spec.cfg"
//edit from here down, just paste itemdefs or use the standardhuds spectatorhud as a template.
}
}
}
Teamscore.menu-this is that menu that appears when you press tab, or any key binded to +scores. Make sure to save this file under ui>hud>common (
Optional but recommened as teamscore.menu) example
#include "ui/menudef.h"
{
\\ score_menu \\
menuDef
{
name "teamscore_menu"
visible 0
fullscreen 0
rect 0 0 640 480
focusColor 1 .75 0 1
style 0
border 1
//edit from here down,use someone else hud's
//teamscore as teamplate or use the standard and edit it.
}
}
}
loading.menu-this is that menu that appears when you join a server and see the bars, Make sure to save this file under ui>hud>common (
Optional but recommened as loading.menu) example
#include "ui/menudef.h"
{
assetGlobalDef
{
cursor "ui/assets/3_cursor3" // cursor
gradientBar "ui/assets/gradientbar2.tga" // gradient bar
fadeClamp 1.0 // sets the fadeup alpha
fadeCycle 1 // how often fade happens in milliseconds
fadeAmount 0.1 // amount to adjust alpha per cycle
shadowX 5 // x amount for shadow offset
shadowY 5 // y amount for shadow offset
shadowColor 0.1 0.1 0.1 0.25 // shadow color
font "fonts/font" 26 // font
smallFont "fonts/smallfont" 20 // font
bigFont "fonts/bigfont" 34 // font
}
menuDef
{
name "Loading"
rect 0 0 640 480
fullScreen MENU_TRUE
//edit from here down,use someone else hud's loading as template
//or edit original tremulous loading.
}
}
}
hud.cfg-this is where you list the locations of all the files that will be used in your hudstyle,list the locations of the human_hud.menu,alien_builder_hud.menu,alien_general_hud.menu,spectator_hud.menu,teamscore.menu,and loading.menu.Make sure to save this file under ui>hud>yourhud (
Optional but recommened as hud.cfg)
// hud menu defs
//
{
loadMenu { "ui/hud/center/human_hud.menu" }
loadMenu { "ui/hud/center/alien_builder_hud.menu" }
loadMenu { "ui/hud/center/alien_general_hud.menu" }
loadMenu { "ui/hud/common/spectator_hud.menu"}
loadMenu { "ui/hud/common/teamscore.menu" }
loadMenu { "ui/hud/common/loading.menu" }
}
Step 5 Actually coding the hud and testing it!Working EnviromentThe working environment-you want to have as much free ram as possible, so close them applications.
After you've done that open your text editor (Hopefully tab supported) and then minimize it, open tremulous get it into halfscreen.
Half screenwindows-press
alt+
enter to enter halfscreen mode.
mac- press
apple+
enter to enter halfscreen mode.
linux-volt needs help
step 5.a installing your test hudbring up up tremulous and install your test hud,this is bassically calling on your install.cfg in the main part of the project folder, additionally you can just manually set the commands in console
/seta cg_hudfiles "ui/hud/"
the location of your hud.cfg in your hudstyle folder.
seta
/ui_menufiles "ui/menus.cfg"
the location of the menus.cfg in the main part of your project folder. then for the changes to take effect you need to type in
/vid_restart
Step 5.a Working on menusIn your text editor open up a menu you wish to change, for learning purposes were going to tag up the mainmenu. So open up main.menu in your text editor the files location should be ui>menu>main.menu
ok after you've opened it up we're going to edit some code,frist line is going to be line 128
text "Tremulous (C) 2005-2006 darklegion development"
change that to
text "YOUR NAME i am HUD CODDER WOOT!"
then scroll down to line 130
textstyle ITEM_TEXTSTYLE_NORMAL
and change that to
textstyle ITEM_TEXTSTYLE_NEON
after you've done this make sure to save, usually shortcut key for save is
ctrl+
s, after you have saved minimize your texteditor and open up tremulous, in tremulous open console by pressing
~
aka tilde and type
/vid_restart
when tremulous reloads look to the very bottom you should see a shinny piece of text that says what you inputed. If you have done this right congratulations you're ready to begin coding a hud, if you have failed at this no worries try try agian, took me forever to learn this so dont feel disencouraged.
This tutorial is very basic it only aims to get the subject ready to code a hud,it does not aim to make one proliferate at making a hud, but to help one get to know the process. I will make a second tutorial in the very near future with more advance proccesses, that include making cvars limited to itemdefs,and explations of very common ownerdraws,flags,purecheck limitations,building pk3's,common.cfg files,documintations+publishing ,and ancor tequines.Some very very useful sites to look at for referenceQ3 TA Menu Def Description of the Quake III: Team Arena menu scripting language in its role as general menuing and as HUD. The Reaction Factory Site filled with tutuorials on how to build huds for the engine that tremulous runs on.hopefully this qualifies as a sticky,if not i am curently in the process of adding more detailed explations,and more steps.
Void of deity we aim to help the tremulous player
Page source incase someone wants to repost this on another forum.