Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

menudef.h (13077B)


      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