#define ITEM_TYPE_TEXT 0 // simple text
#define ITEM_TYPE_BUTTON 1 // button, basically text with a border
#define ITEM_TYPE_RADIOBUTTON 2 // toggle button, may be grouped
#define ITEM_TYPE_CHECKBOX 3 // check box
#define ITEM_TYPE_EDITFIELD 4 // editable text, associated with a cvar
#define ITEM_TYPE_COMBO 5 // drop down list
#define ITEM_TYPE_LISTBOX 6 // scrollable list
#define ITEM_TYPE_MODEL 7 // model
#define ITEM_TYPE_OWNERDRAW 8 // owner draw, name specs what it is
#define ITEM_TYPE_NUMERICFIELD 9 // editable text, associated with a cvar
#define ITEM_TYPE_SLIDER 10 // mouse speed, volume, etc.
#define ITEM_TYPE_YESNO 11 // yes no cvar setting
#define ITEM_TYPE_MULTI 12 // multiple list setting, enumerated
#define ITEM_TYPE_BIND 13 // multiple list setting, enumerated
#define ITEM_TYPE_MENUMODEL 14 // special menu model
#define ITEM_TYPE_UPREDITFIELD 15 // editable text, associated with a cvar
#define ITEM_ALIGN_LEFT 0 // left alignment
#define ITEM_ALIGN_CENTER 1 // center alignment
#define ITEM_ALIGN_RIGHT 2 // right alignment
#define ITEM_ALIGN_CENTER2 3 // center alignment
#define ITEM_TEXTSTYLE_NORMAL 0 // normal text
#define ITEM_TEXTSTYLE_BLINK 1 // fast blinking
#define ITEM_TEXTSTYLE_PULSE 2 // slow pulsing
#define ITEM_TEXTSTYLE_SHADOWED 3 // drop shadow ( need a color for this )
#define ITEM_TEXTSTYLE_OUTLINED 4 // drop shadow ( need a color for this )
#define ITEM_TEXTSTYLE_OUTLINESHADOWED 5 // drop shadow ( need a color for this )
#define ITEM_TEXTSTYLE_SHADOWEDMORE 6 // drop shadow ( need a color for this )
#define WINDOW_BORDER_NONE 0 // no border
#define WINDOW_BORDER_FULL 1 // full border based on border color ( single pixel )
#define WINDOW_BORDER_HORZ 2 // horizontal borders only
#define WINDOW_BORDER_VERT 3 // vertical borders only
#define WINDOW_BORDER_KCGRADIENT 4 // horizontal border using the gradient bars
#define WINDOW_STYLE_EMPTY 0 // no background
#define WINDOW_STYLE_FILLED 1 // filled with background color
#define WINDOW_STYLE_GRADIENT 2 // gradient bar based on background color
#define WINDOW_STYLE_SHADER 3 // gradient bar based on background color
#define WINDOW_STYLE_TEAMCOLOR 4 // team color
#define WINDOW_STYLE_CINEMATIC 5 // cinematic
#define WINDOW_STYLE_CVAR_SHADER 6 // draws the shader specified by the cvar
#define MENU_TRUE 1 // uh.. true
#define MENU_FALSE 0 // and false
#define HUD_VERTICAL 0x00
#define HUD_HORIZONTAL 0x01
#define RANGETYPE_ABSOLUTE 0
#define RANGETYPE_RELATIVE 1
// list box element types
#define LISTBOX_TEXT 0x00
#define LISTBOX_IMAGE 0x01
// list feeders
#define FEEDER_HEADS 0x00 // model heads
#define FEEDER_MAPS 0x01 // text maps based on game type
#define FEEDER_SERVERS 0x02 // servers
#define FEEDER_CLANS 0x03 // clan names
#define FEEDER_ALLMAPS 0x04 // all maps available, in graphic format
#define FEEDER_REDTEAM_LIST 0x05 // red team members
#define FEEDER_BLUETEAM_LIST 0x06 // blue team members
#define FEEDER_PLAYER_LIST 0x07 // players
#define FEEDER_TEAM_LIST 0x08 // team members for team voting
#define FEEDER_MODS 0x09 // team members for team voting
#define FEEDER_DEMOS 0x0a // team members for team voting
#define FEEDER_SCOREBOARD 0x0b // team members for team voting
#define FEEDER_SERVERSTATUS 0x0d // server status
#define FEEDER_FINDPLAYER 0x0e // find player
#define FEEDER_CINEMATICS 0x0f // cinematics
// display flags
#define CG_SHOW_BLUE_TEAM_HAS_REDFLAG 0x00000001
#define CG_SHOW_RED_TEAM_HAS_BLUEFLAG 0x00000002
#define CG_SHOW_ANYTEAMGAME 0x00000004
#define CG_SHOW_CTF 0x00000020
#define CG_SHOW_HEALTHCRITICAL 0x00000080
#define CG_SHOW_SINGLEPLAYER 0x00000100
#define CG_SHOW_TOURNAMENT 0x00000200
#define CG_SHOW_DURINGINCOMINGVOICE 0x00000400
#define CG_SHOW_IF_PLAYER_HAS_FLAG 0x00000800
#define CG_SHOW_LANPLAYONLY 0x00001000
#define CG_SHOW_MINED 0x00002000
#define CG_SHOW_HEALTHOK 0x00004000
#define CG_SHOW_TEAMINFO 0x00008000
#define CG_SHOW_NOTEAMINFO 0x00010000
#define CG_SHOW_OTHERTEAMHASFLAG 0x00020000
#define CG_SHOW_YOURTEAMHASENEMYFLAG 0x00040000
#define CG_SHOW_ANYNONTEAMGAME 0x00080000
//(SA)
#define CG_SHOW_TEXTASINT 0x00200000
#define CG_SHOW_HIGHLIGHTED 0x00100000
#define CG_SHOW_NOT_V_CLEAR 0x02000000 //----(SA) added // hide on normal, full-view huds
#define CG_SHOW_2DONLY 0x10000000
#define UI_SHOW_LEADER 0x00000001
#define UI_SHOW_NOTLEADER 0x00000002
#define UI_SHOW_FAVORITESERVERS 0x00000004
#define UI_SHOW_ANYNONTEAMGAME 0x00000008
#define UI_SHOW_ANYTEAMGAME 0x00000010
#define UI_SHOW_NEWHIGHSCORE 0x00000020
#define UI_SHOW_DEMOAVAILABLE 0x00000040
#define UI_SHOW_NEWBESTTIME 0x00000080
#define UI_SHOW_FFA 0x00000100
#define UI_SHOW_NOTFFA 0x00000200
#define UI_SHOW_NETANYNONTEAMGAME 0x00000400
#define UI_SHOW_NETANYTEAMGAME 0x00000800
#define UI_SHOW_NOTFAVORITESERVERS 0x00001000
// owner draw types
// ideally these should be done outside of this file but
// this makes it much easier for the macro expansion to
// convert them for the designers ( from the .menu files )
#define CG_OWNERDRAW_BASE 1
#define CG_PLAYER_HEAD 3
#define CG_PLAYER_HEALTH 4
#define CG_PLAYER_AMMO_VALUE 5
#define CG_PLAYER_AMMO_BACKDROP 6
#define CG_SELECTEDPLAYER_NAME 8
#define CG_SELECTEDPLAYER_LOCATION 9
#define CG_SELECTEDPLAYER_STATUS 10
#define CG_SELECTEDPLAYER_WEAPON 11
#define CG_SELECTEDPLAYER_POWERUP 12
#define CG_FLAGCARRIER_NAME 14
#define CG_FLAGCARRIER_LOCATION 15
#define CG_FLAGCARRIER_STATUS 16
#define CG_FLAGCARRIER_WEAPON 17
#define CG_FLAGCARRIER_POWERUP 18
#define CG_PLAYER_ITEM 19
#define CG_PLAYER_STANCE 20
#define CG_PLAYER_SCORE 21
#define CG_BLUE_FLAGSTATUS 22
#define CG_BLUE_FLAGNAME 23
#define CG_RED_FLAGSTATUS 25
#define CG_RED_FLAGNAME 26
#define CG_BLUE_SCORE 27
#define CG_RED_SCORE 28
#define CG_RED_NAME 29
#define CG_BLUE_NAME 30
#define CG_PLAYER_LOCATION 33
#define CG_TEAM_COLOR 34
#define CG_CTF_POWERUP 35
#define CG_AREA_POWERUP 36
#define CG_AREA_LAGOMETER 37 // painted with old system
#define CG_PLAYER_HASFLAG 38
#define CG_GAME_TYPE 39 // not done
#define CG_SELECTEDPLAYER_HEALTH 41
#define CG_PLAYER_STATUS 42
#define CG_FRAGGED_MSG 43 // painted with old system
#define CG_AREA_FPSINFO 45 // painted with old system
#define CG_AREA_SYSTEMCHAT 46 // painted with old system
#define CG_AREA_TEAMCHAT 47 // painted with old system
#define CG_AREA_CHAT 48 // painted with old system
#define CG_GAME_STATUS 49
#define CG_KILLER 50
#define CG_ACCURACY 53
#define CG_ASSISTS 54
#define CG_DEFEND 55
#define CG_EXCELLENT 56
#define CG_IMPRESSIVE 57
#define CG_PERFECT 58
#define CG_GAUNTLET 59
#define CG_SPECTATORS 60
#define CG_TEAMINFO 61
#define CG_VOICE_HEAD 62
#define CG_VOICE_NAME 63
#define CG_CAPFRAGLIMIT 66
#define CG_1STPLACE 67
#define CG_2NDPLACE 68
#define CG_CAPTURES 69
// (SA) adding
#define CG_PLAYER_AMMOCLIP_VALUE 70
#define CG_CURSORHINT 72
#define CG_PLAYER_POWERUP 75
#define CG_PLAYER_HOLDABLE 76
#define CG_PLAYER_INVENTORY 77
#define CG_AREA_WEAPON 78 // draw weapons here
#define CG_AREA_HOLDABLE 79
#define CG_CURSORHINT_STATUS 80
#define CG_PLAYER_WEAPON_NAME 81
#define CG_PLAYER_WEAPON_NAME_BACK 82
#define CG_PLAYER_WEAPON_MODE_ICON 83
#define CG_PLAYER_COMPASS 84
#define CG_PLAYER_COMPASS_BACK 85
#define CG_PLAYER_COMPASS_POINTERS 86
#define CG_PLAYER_COMPASS_FRIENDS 88
#define CG_PLAYER_BAR_HEALTH 89
#define CG_PLAYER_BAR_HEALTH_TITLE 90
#define CG_DRAW_SHADER 91
#define UI_OWNERDRAW_BASE 200
#define UI_HANDICAP 200
#define UI_GAMETYPE 205
#define UI_MAPPREVIEW 206
#define UI_NETSOURCE 220
#define UI_NETMAPPREVIEW 221
#define UI_NETFILTER 222
#define UI_VOTE_KICK 238
#define UI_MAPCINEMATIC 244
#define UI_NETGAMETYPE 245
#define UI_NETMAPCINEMATIC 246
#define UI_SERVERREFRESHDATE 247
#define UI_SERVERMOTD 248
#define UI_GLINFO 249
#define UI_KEYBINDSTATUS 250
#define UI_JOINGAMETYPE 253
#define UI_PREVIEWCINEMATIC 254
#define UI_STARTMAPCINEMATIC 255
//----(SA) added
#define UI_MENUMODEL 257
//----(SA) end
#define VOICECHAT_GETFLAG "getflag" // command someone to get the flag
#define VOICECHAT_OFFENSE "offense" // command someone to go on offense
#define VOICECHAT_DEFEND "defend" // command someone to go on defense
#define VOICECHAT_DEFENDFLAG "defendflag" // command someone to defend the flag
#define VOICECHAT_PATROL "patrol" // command someone to go on patrol (roam)
#define VOICECHAT_CAMP "camp" // command someone to camp (we don't have sounds for this one)
#define VOICECHAT_FOLLOWME "followme" // command someone to follow you
#define VOICECHAT_RETURNFLAG "returnflag" // command someone to return our flag
#define VOICECHAT_FOLLOWFLAGCARRIER "followflagcarrier" // command someone to follow the flag carrier
#define VOICECHAT_YES "yes" // yes, affirmative, etc.
#define VOICECHAT_NO "no" // no, negative, etc.
#define VOICECHAT_ONGETFLAG "ongetflag" // I'm getting the flag
#define VOICECHAT_ONOFFENSE "onoffense" // I'm on offense
#define VOICECHAT_ONDEFENSE "ondefense" // I'm on defense
#define VOICECHAT_ONPATROL "onpatrol" // I'm on patrol (roaming)
#define VOICECHAT_ONCAMPING "oncamp" // I'm camping somewhere
#define VOICECHAT_ONFOLLOW "onfollow" // I'm following
#define VOICECHAT_ONFOLLOWCARRIER "onfollowcarrier" // I'm following the flag carrier
#define VOICECHAT_ONRETURNFLAG "onreturnflag" // I'm returning our flag
#define VOICECHAT_INPOSITION "inposition" // I'm in position
#define VOICECHAT_IHAVEFLAG "ihaveflag" // I have the flag
#define VOICECHAT_BASEATTACK "baseattack" // the base is under attack
#define VOICECHAT_ENEMYHASFLAG "enemyhasflag" // the enemy has our flag (CTF)
#define VOICECHAT_STARTLEADER "startleader" // I'm the leader
#define VOICECHAT_STOPLEADER "stopleader" // I resign leadership
#define VOICECHAT_WHOISLEADER "whoisleader" // who is the team leader
#define VOICECHAT_WANTONDEFENSE "wantondefense" // I want to be on defense
#define VOICECHAT_WANTONOFFENSE "wantonoffense" // I want to be on offense
#define VOICECHAT_KILLINSULT "kill_insult" // I just killed you
#define VOICECHAT_TAUNT "taunt" // I want to taunt you
#define VOICECHAT_DEATHINSULT "death_insult" // you just killed me
#define VOICECHAT_KILLGAUNTLET "kill_gauntlet" // I just killed you with the gauntlet
#define VOICECHAT_PRAISE "praise" // you did something good
#define UI_FONT_DEFAULT 0
#define UI_FONT_NORMAL 1
#define UI_FONT_BIG 2
#define UI_FONT_SMALL 3
#define UI_FONT_BOLD 4
#define UI_FONT_CONSOLE 5
#define WEAPON_NAME_OFS 28 // This defined the amount of space to leave for the weapon mode icon
#define WEAPON_NAME_EDGE_SPACE 8 // space to leave on the left side of the weapon name
// size defines for the hud compass
// These are used for both the dynamic & non-dynamic compass drawing
// If these are changed, the cgame should be recompiled
//#define COMPASS_X 6
//#define COMPASS_Y 367
//#define COMPASS_SIZE 106
//#define COMPASS_HEALTH_OFF 25
//#define COMPASS_HEALTH_SIZE 56
//#define COMPASS_NEEDLE_XOFF 46
//#define COMPASS_NEEDLE_YOFF 29
//#define COMPASS_NEEDLE_WIDTH 14
//#define COMPASS_NEEDLE_HEIGHT 28
//#define COMPASS_POINTER_RADIUS 50
//#define COMPASS_POINTER_WIDTH 8
//#define COMPASS_POINTER_HEIGHT 16
#define PRONE_BLOCK_X 320
#define PRONE_BLOCK_Y 270
#define COMPASS_X -25 // -40
#define COMPASS_Y 345 // 552
#define COMPASS_SIZE 160 // 256
#define COMPASS_HEALTH_OFF 54.375 // 87
#define COMPASS_HEALTH_SIZE 51.25 // 82
#define COMPASS_NEEDLE_XOFF 60 // 96
#define COMPASS_NEEDLE_YOFF 50 // 80
#define COMPASS_NEEDLE_WIDTH 40 // 64
#define COMPASS_NEEDLE_HEIGHT 40 // 64
#define COMPASS_POINTER_RADIUS 43.75 // 70
#define COMPASS_POINTER_WIDTH 20 // 32
#define COMPASS_POINTER_HEIGHT 20 // 32
#define COMPASS_FRIENDLY_WIDTH 10 // 16
#define COMPASS_FRIENDLY_HEIGHT 10 // 16
#define OPTIONS_CONTROL_SIZE 350 12
//#define OPTIONS_WINDOW 10 75 360 325
#define OPTIONS_WINDOW_POS 5 75
#define OPTIONS_WINDOW_SIZE 360 325
#define OPTIONS_WINDOW_BACKCOLOR 0 0 0 .7
#define OPTIONS_CONTROL_XALIGN 165
#define OPTIONS_CONTROL_YALIGN 11
#define OPTIONS_CONTROL_TXTSCALE .225
#define OPTIONS_CONTROL_BACKCOLOR 0 0 .25 .3
#define OPTIONS_CONTROL_FORECOLOR .9 .9 .9 1
//menu backgrounds, 1024x768 image split to 1024x512 & 1024x256 images
#define UI_MAIN_BACKGROUND_TOP main_back_top
#define UI_MAIN_BACKGROUND_BOTTOM main_back_bottom
#define UI_BUTTON_STYLE 1
//#define UI_BUTTON_BACK_COLOR .84 .82 .45 .8
//#define UI_BUTTON_BACK_COLOR .26 .3 .28 .8
#define UI_BUTTON_BACK_COLOR .1747 .1903 .2335 .8
#define UI_BUTTON_BACK_COLOR_HOVER .50 .45 0 .8
#define UI_BUTTON_BORDER 1
//#define UI_BUTTON_BORDER_COLOR .64 .92 .48 .2
#define UI_BUTTON_BORDER_COLOR 0 0 0 .4
#define UI_BUTTON_TEXT_COLOR .9 .9 .95 1
#define UI_BUTTON_TEXT_STYLE 3
//#define UI_FOCUS_COLOR 1 .75 0 1
#define UI_FOCUS_COLOR .98 .96 .39 1