1 /* 2 =========================================================================== 3 Copyright (C) 1999-2005 Id Software, Inc. 4 5 This file is part of Quake III Arena source code. 6 7 Quake III Arena source code is free software; you can redistribute it 8 and/or modify it under the terms of the GNU General Public License as 9 published by the Free Software Foundation; either version 2 of the License, 10 or (at your option) any later version. 11 12 Quake III Arena source code is distributed in the hope that it will be 13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with Foobar; if not, write to the Free Software 19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 20 =========================================================================== 21 */ 22 23 #define ITEM_TYPE_TEXT 0 // simple text 24 #define ITEM_TYPE_BUTTON 1 // button, basically text with a border 25 #define ITEM_TYPE_RADIOBUTTON 2 // toggle button, may be grouped 26 #define ITEM_TYPE_CHECKBOX 3 // check box 27 #define ITEM_TYPE_EDITFIELD 4 // editable text, associated with a cvar 28 #define ITEM_TYPE_COMBO 5 // drop down list 29 #define ITEM_TYPE_LISTBOX 6 // scrollable list 30 #define ITEM_TYPE_MODEL 7 // model 31 #define ITEM_TYPE_OWNERDRAW 8 // owner draw, name specs what it is 32 #define ITEM_TYPE_NUMERICFIELD 9 // editable text, associated with a cvar 33 #define ITEM_TYPE_SLIDER 10 // mouse speed, volume, etc. 34 #define ITEM_TYPE_YESNO 11 // yes no cvar setting 35 #define ITEM_TYPE_MULTI 12 // multiple list setting, enumerated 36 #define ITEM_TYPE_BIND 13 // multiple list setting, enumerated 37 38 #define ITEM_ALIGN_LEFT 0 // left alignment 39 #define ITEM_ALIGN_CENTER 1 // center alignment 40 #define ITEM_ALIGN_RIGHT 2 // right alignment 41 42 #define ITEM_TEXTSTYLE_NORMAL 0 // normal text 43 #define ITEM_TEXTSTYLE_BLINK 1 // fast blinking 44 #define ITEM_TEXTSTYLE_PULSE 2 // slow pulsing 45 #define ITEM_TEXTSTYLE_SHADOWED 3 // drop shadow ( need a color for this ) 46 #define ITEM_TEXTSTYLE_OUTLINED 4 // drop shadow ( need a color for this ) 47 #define ITEM_TEXTSTYLE_OUTLINESHADOWED 5 // drop shadow ( need a color for this ) 48 #define ITEM_TEXTSTYLE_SHADOWEDMORE 6 // drop shadow ( need a color for this ) 49 50 #define WINDOW_BORDER_NONE 0 // no border 51 #define WINDOW_BORDER_FULL 1 // full border based on border color ( single pixel ) 52 #define WINDOW_BORDER_HORZ 2 // horizontal borders only 53 #define WINDOW_BORDER_VERT 3 // vertical borders only 54 #define WINDOW_BORDER_KCGRADIENT 4 // horizontal border using the gradient bars 55 56 #define WINDOW_STYLE_EMPTY 0 // no background 57 #define WINDOW_STYLE_FILLED 1 // filled with background color 58 #define WINDOW_STYLE_GRADIENT 2 // gradient bar based on background color 59 #define WINDOW_STYLE_SHADER 3 // gradient bar based on background color 60 #define WINDOW_STYLE_TEAMCOLOR 4 // team color 61 #define WINDOW_STYLE_CINEMATIC 5 // cinematic 62 63 #define MENU_TRUE 1 // uh.. true 64 #define MENU_FALSE 0 // and false 65 66 #define HUD_VERTICAL 0x00 67 #define HUD_HORIZONTAL 0x01 68 69 // list box element types 70 #define LISTBOX_TEXT 0x00 71 #define LISTBOX_IMAGE 0x01 72 73 // list feeders 74 #define FEEDER_HEADS 0x00 // model heads 75 #define FEEDER_MAPS 0x01 // text maps based on game type 76 #define FEEDER_SERVERS 0x02 // servers 77 #define FEEDER_CLANS 0x03 // clan names 78 #define FEEDER_ALLMAPS 0x04 // all maps available, in graphic format 79 #define FEEDER_REDTEAM_LIST 0x05 // red team members 80 #define FEEDER_BLUETEAM_LIST 0x06 // blue team members 81 #define FEEDER_PLAYER_LIST 0x07 // players 82 #define FEEDER_TEAM_LIST 0x08 // team members for team voting 83 #define FEEDER_MODS 0x09 // team members for team voting 84 #define FEEDER_DEMOS 0x0a // team members for team voting 85 #define FEEDER_SCOREBOARD 0x0b // team members for team voting 86 #define FEEDER_Q3HEADS 0x0c // model heads 87 #define FEEDER_SERVERSTATUS 0x0d // server status 88 #define FEEDER_FINDPLAYER 0x0e // find player 89 #define FEEDER_CINEMATICS 0x0f // cinematics 90 91 // display flags 92 #define CG_SHOW_BLUE_TEAM_HAS_REDFLAG 0x00000001 93 #define CG_SHOW_RED_TEAM_HAS_BLUEFLAG 0x00000002 94 #define CG_SHOW_ANYTEAMGAME 0x00000004 95 #define CG_SHOW_HARVESTER 0x00000008 96 #define CG_SHOW_ONEFLAG 0x00000010 97 #define CG_SHOW_CTF 0x00000020 98 #define CG_SHOW_OBELISK 0x00000040 99 #define CG_SHOW_HEALTHCRITICAL 0x00000080 100 #define CG_SHOW_SINGLEPLAYER 0x00000100 101 #define CG_SHOW_TOURNAMENT 0x00000200 102 #define CG_SHOW_DURINGINCOMINGVOICE 0x00000400 103 #define CG_SHOW_IF_PLAYER_HAS_FLAG 0x00000800 104 #define CG_SHOW_LANPLAYONLY 0x00001000 105 #define CG_SHOW_MINED 0x00002000 106 #define CG_SHOW_HEALTHOK 0x00004000 107 #define CG_SHOW_TEAMINFO 0x00008000 108 #define CG_SHOW_NOTEAMINFO 0x00010000 109 #define CG_SHOW_OTHERTEAMHASFLAG 0x00020000 110 #define CG_SHOW_YOURTEAMHASENEMYFLAG 0x00040000 111 #define CG_SHOW_ANYNONTEAMGAME 0x00080000 112 #define CG_SHOW_2DONLY 0x10000000 113 114 115 #define UI_SHOW_LEADER 0x00000001 116 #define UI_SHOW_NOTLEADER 0x00000002 117 #define UI_SHOW_FAVORITESERVERS 0x00000004 118 #define UI_SHOW_ANYNONTEAMGAME 0x00000008 119 #define UI_SHOW_ANYTEAMGAME 0x00000010 120 #define UI_SHOW_NEWHIGHSCORE 0x00000020 121 #define UI_SHOW_DEMOAVAILABLE 0x00000040 122 #define UI_SHOW_NEWBESTTIME 0x00000080 123 #define UI_SHOW_FFA 0x00000100 124 #define UI_SHOW_NOTFFA 0x00000200 125 #define UI_SHOW_NETANYNONTEAMGAME 0x00000400 126 #define UI_SHOW_NETANYTEAMGAME 0x00000800 127 #define UI_SHOW_NOTFAVORITESERVERS 0x00001000 128 129 130 131 132 // owner draw types 133 // ideally these should be done outside of this file but 134 // this makes it much easier for the macro expansion to 135 // convert them for the designers ( from the .menu files ) 136 #define CG_OWNERDRAW_BASE 1 137 #define CG_PLAYER_ARMOR_ICON 1 138 #define CG_PLAYER_ARMOR_VALUE 2 139 #define CG_PLAYER_HEAD 3 140 #define CG_PLAYER_HEALTH 4 141 #define CG_PLAYER_AMMO_ICON 5 142 #define CG_PLAYER_AMMO_VALUE 6 143 #define CG_SELECTEDPLAYER_HEAD 7 144 #define CG_SELECTEDPLAYER_NAME 8 145 #define CG_SELECTEDPLAYER_LOCATION 9 146 #define CG_SELECTEDPLAYER_STATUS 10 147 #define CG_SELECTEDPLAYER_WEAPON 11 148 #define CG_SELECTEDPLAYER_POWERUP 12 149 150 #define CG_FLAGCARRIER_HEAD 13 151 #define CG_FLAGCARRIER_NAME 14 152 #define CG_FLAGCARRIER_LOCATION 15 153 #define CG_FLAGCARRIER_STATUS 16 154 #define CG_FLAGCARRIER_WEAPON 17 155 #define CG_FLAGCARRIER_POWERUP 18 156 157 #define CG_PLAYER_ITEM 19 158 #define CG_PLAYER_SCORE 20 159 160 #define CG_BLUE_FLAGHEAD 21 161 #define CG_BLUE_FLAGSTATUS 22 162 #define CG_BLUE_FLAGNAME 23 163 #define CG_RED_FLAGHEAD 24 164 #define CG_RED_FLAGSTATUS 25 165 #define CG_RED_FLAGNAME 26 166 167 #define CG_BLUE_SCORE 27 168 #define CG_RED_SCORE 28 169 #define CG_RED_NAME 29 170 #define CG_BLUE_NAME 30 171 #define CG_HARVESTER_SKULLS 31 // only shows in harvester 172 #define CG_ONEFLAG_STATUS 32 // only shows in one flag 173 #define CG_PLAYER_LOCATION 33 174 #define CG_TEAM_COLOR 34 175 #define CG_CTF_POWERUP 35 176 177 #define CG_AREA_POWERUP 36 178 #define CG_AREA_LAGOMETER 37 // painted with old system 179 #define CG_PLAYER_HASFLAG 38 180 #define CG_GAME_TYPE 39 // not done 181 182 #define CG_SELECTEDPLAYER_ARMOR 40 183 #define CG_SELECTEDPLAYER_HEALTH 41 184 #define CG_PLAYER_STATUS 42 185 #define CG_FRAGGED_MSG 43 // painted with old system 186 #define CG_PROXMINED_MSG 44 // painted with old system 187 #define CG_AREA_FPSINFO 45 // painted with old system 188 #define CG_AREA_SYSTEMCHAT 46 // painted with old system 189 #define CG_AREA_TEAMCHAT 47 // painted with old system 190 #define CG_AREA_CHAT 48 // painted with old system 191 #define CG_GAME_STATUS 49 192 #define CG_KILLER 50 193 #define CG_PLAYER_ARMOR_ICON2D 51 194 #define CG_PLAYER_AMMO_ICON2D 52 195 #define CG_ACCURACY 53 196 #define CG_ASSISTS 54 197 #define CG_DEFEND 55 198 #define CG_EXCELLENT 56 199 #define CG_IMPRESSIVE 57 200 #define CG_PERFECT 58 201 #define CG_GAUNTLET 59 202 #define CG_SPECTATORS 60 203 #define CG_TEAMINFO 61 204 #define CG_VOICE_HEAD 62 205 #define CG_VOICE_NAME 63 206 #define CG_PLAYER_HASFLAG2D 64 207 #define CG_HARVESTER_SKULLS2D 65 // only shows in harvester 208 #define CG_CAPFRAGLIMIT 66 209 #define CG_1STPLACE 67 210 #define CG_2NDPLACE 68 211 #define CG_CAPTURES 69 212 213 214 215 216 #define UI_OWNERDRAW_BASE 200 217 #define UI_HANDICAP 200 218 #define UI_EFFECTS 201 219 #define UI_PLAYERMODEL 202 220 #define UI_CLANNAME 203 221 #define UI_CLANLOGO 204 222 #define UI_GAMETYPE 205 223 #define UI_MAPPREVIEW 206 224 #define UI_SKILL 207 225 #define UI_BLUETEAMNAME 208 226 #define UI_REDTEAMNAME 209 227 #define UI_BLUETEAM1 210 228 #define UI_BLUETEAM2 211 229 #define UI_BLUETEAM3 212 230 #define UI_BLUETEAM4 213 231 #define UI_BLUETEAM5 214 232 #define UI_REDTEAM1 215 233 #define UI_REDTEAM2 216 234 #define UI_REDTEAM3 217 235 #define UI_REDTEAM4 218 236 #define UI_REDTEAM5 219 237 #define UI_NETSOURCE 220 238 #define UI_NETMAPPREVIEW 221 239 #define UI_NETFILTER 222 240 #define UI_TIER 223 241 #define UI_OPPONENTMODEL 224 242 #define UI_TIERMAP1 225 243 #define UI_TIERMAP2 226 244 #define UI_TIERMAP3 227 245 #define UI_PLAYERLOGO 228 246 #define UI_OPPONENTLOGO 229 247 #define UI_PLAYERLOGO_METAL 230 248 #define UI_OPPONENTLOGO_METAL 231 249 #define UI_PLAYERLOGO_NAME 232 250 #define UI_OPPONENTLOGO_NAME 233 251 #define UI_TIER_MAPNAME 234 252 #define UI_TIER_GAMETYPE 235 253 #define UI_ALLMAPS_SELECTION 236 254 #define UI_OPPONENT_NAME 237 255 #define UI_VOTE_KICK 238 256 #define UI_BOTNAME 239 257 #define UI_BOTSKILL 240 258 #define UI_REDBLUE 241 259 #define UI_CROSSHAIR 242 260 #define UI_SELECTEDPLAYER 243 261 #define UI_MAPCINEMATIC 244 262 #define UI_NETGAMETYPE 245 263 #define UI_NETMAPCINEMATIC 246 264 #define UI_SERVERREFRESHDATE 247 265 #define UI_SERVERMOTD 248 266 #define UI_GLINFO 249 267 #define UI_KEYBINDSTATUS 250 268 #define UI_CLANCINEMATIC 251 269 #define UI_MAP_TIMETOBEAT 252 270 #define UI_JOINGAMETYPE 253 271 #define UI_PREVIEWCINEMATIC 254 272 #define UI_STARTMAPCINEMATIC 255 273 #define UI_MAPS_SELECTION 256 274 275 #define VOICECHAT_GETFLAG "getflag" // command someone to get the flag 276 #define VOICECHAT_OFFENSE "offense" // command someone to go on offense 277 #define VOICECHAT_DEFEND "defend" // command someone to go on defense 278 #define VOICECHAT_DEFENDFLAG "defendflag" // command someone to defend the flag 279 #define VOICECHAT_PATROL "patrol" // command someone to go on patrol (roam) 280 #define VOICECHAT_CAMP "camp" // command someone to camp (we don't have sounds for this one) 281 #define VOICECHAT_FOLLOWME "followme" // command someone to follow you 282 #define VOICECHAT_RETURNFLAG "returnflag" // command someone to return our flag 283 #define VOICECHAT_FOLLOWFLAGCARRIER "followflagcarrier" // command someone to follow the flag carrier 284 #define VOICECHAT_YES "yes" // yes, affirmative, etc. 285 #define VOICECHAT_NO "no" // no, negative, etc. 286 #define VOICECHAT_ONGETFLAG "ongetflag" // I'm getting the flag 287 #define VOICECHAT_ONOFFENSE "onoffense" // I'm on offense 288 #define VOICECHAT_ONDEFENSE "ondefense" // I'm on defense 289 #define VOICECHAT_ONPATROL "onpatrol" // I'm on patrol (roaming) 290 #define VOICECHAT_ONCAMPING "oncamp" // I'm camping somewhere 291 #define VOICECHAT_ONFOLLOW "onfollow" // I'm following 292 #define VOICECHAT_ONFOLLOWCARRIER "onfollowcarrier" // I'm following the flag carrier 293 #define VOICECHAT_ONRETURNFLAG "onreturnflag" // I'm returning our flag 294 #define VOICECHAT_INPOSITION "inposition" // I'm in position 295 #define VOICECHAT_IHAVEFLAG "ihaveflag" // I have the flag 296 #define VOICECHAT_BASEATTACK "baseattack" // the base is under attack 297 #define VOICECHAT_ENEMYHASFLAG "enemyhasflag" // the enemy has our flag (CTF) 298 #define VOICECHAT_STARTLEADER "startleader" // I'm the leader 299 #define VOICECHAT_STOPLEADER "stopleader" // I resign leadership 300 #define VOICECHAT_TRASH "trash" // lots of trash talk 301 #define VOICECHAT_WHOISLEADER "whoisleader" // who is the team leader 302 #define VOICECHAT_WANTONDEFENSE "wantondefense" // I want to be on defense 303 #define VOICECHAT_WANTONOFFENSE "wantonoffense" // I want to be on offense 304 #define VOICECHAT_KILLINSULT "kill_insult" // I just killed you 305 #define VOICECHAT_TAUNT "taunt" // I want to taunt you 306 #define VOICECHAT_DEATHINSULT "death_insult" // you just killed me 307 #define VOICECHAT_KILLGAUNTLET "kill_gauntlet" // I just killed you with the gauntlet 308 #define VOICECHAT_PRAISE "praise" // you did something good 309