1 /* 2 =========================================================================== 3 Copyright (C) 2000 - 2013, Raven Software, Inc. 4 Copyright (C) 2001 - 2013, Activision, Inc. 5 Copyright (C) 2013 - 2015, OpenJK contributors 6 7 This file is part of the OpenJK source code. 8 9 OpenJK is free software; you can redistribute it and/or modify it 10 under the terms of the GNU General Public License version 2 as 11 published by the Free Software Foundation. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, see <http://www.gnu.org/licenses/>. 20 =========================================================================== 21 */ 22 23 // this file is parsed at runtime by botlib's text preprocessor (used for .menu scripting) 24 // include guards aren't necessary 25 26 #define CT_LTBLUE1 0.367 0.261 0.722 27 #define CT_DKBLUE1 0.199 0.0 0.398 28 29 #define CT_LTCYAN 0 0.5 0.5 30 #define CT_DKCYAN 0 0.25 0.25 31 32 #define ITEM_TYPE_TEXT 0 // simple text 33 #define ITEM_TYPE_BUTTON 1 // button, basically text with a border 34 #define ITEM_TYPE_RADIOBUTTON 2 // toggle button, may be grouped 35 #define ITEM_TYPE_CHECKBOX 3 // check box 36 #define ITEM_TYPE_EDITFIELD 4 // editable text, associated with a cvar 37 #define ITEM_TYPE_COMBO 5 // drop down list 38 #define ITEM_TYPE_LISTBOX 6 // scrollable list 39 #define ITEM_TYPE_MODEL 7 // model 40 #define ITEM_TYPE_OWNERDRAW 8 // owner draw, name specs what it is 41 #define ITEM_TYPE_NUMERICFIELD 9 // editable text, associated with a cvar 42 #define ITEM_TYPE_SLIDER 10 // mouse speed, volume, etc. 43 #define ITEM_TYPE_YESNO 11 // yes no cvar setting 44 #define ITEM_TYPE_MULTI 12 // multiple list setting, enumerated 45 #define ITEM_TYPE_BIND 13 // multiple list setting, enumerated 46 #define ITEM_TYPE_TEXTSCROLL 14 // scrolls text 47 #define ITEM_TYPE_INTSLIDER 15 // mouse speed, volume, etc. 48 49 #define ITEM_ALIGN_LEFT 0 // left alignment 50 #define ITEM_ALIGN_CENTER 1 // center alignment 51 #define ITEM_ALIGN_RIGHT 2 // right alignment 52 53 #define ITEM_TEXTSTYLE_NORMAL 0 // normal text 54 #define ITEM_TEXTSTYLE_BLINK 1 // fast blinking 55 #define ITEM_TEXTSTYLE_PULSE 2 // slow pulsing 56 #define ITEM_TEXTSTYLE_SHADOWED 3 // drop shadow ( need a color for this ) 57 #define ITEM_TEXTSTYLE_OUTLINED 4 // drop shadow ( need a color for this ) 58 #define ITEM_TEXTSTYLE_OUTLINESHADOWED 5 // drop shadow ( need a color for this ) 59 #define ITEM_TEXTSTYLE_SHADOWEDMORE 6 // drop shadow ( need a color for this ) 60 61 #define WINDOW_BORDER_NONE 0 // no border 62 #define WINDOW_BORDER_FULL 1 // full border based on border color ( single pixel ) 63 #define WINDOW_BORDER_HORZ 2 // horizontal borders only 64 #define WINDOW_BORDER_VERT 3 // vertical borders only 65 #define WINDOW_BORDER_KCGRADIENT 4 // horizontal border using the gradient bars 66 67 #define WINDOW_STYLE_EMPTY 0 // no background 68 #define WINDOW_STYLE_FILLED 1 // filled with background color 69 #define WINDOW_STYLE_GRADIENT 2 // gradient bar based on background color 70 #define WINDOW_STYLE_SHADER 3 // gradient bar based on background color 71 #define WINDOW_STYLE_TEAMCOLOR 4 // team color 72 #define WINDOW_STYLE_CINEMATIC 5 // cinematic 73 74 #define MENU_TRUE 1 // uh.. true 75 #define MENU_FALSE 0 // and false 76 77 #define HUD_VERTICAL 0x00 78 #define HUD_HORIZONTAL 0x01 79 80 // list box element types 81 #define LISTBOX_TEXT 0x00 82 #define LISTBOX_IMAGE 0x01 83 84 // list feeders 85 #define FEEDER_MAPS 0x01 // text maps based on game type 86 #define FEEDER_SERVERS 0x02 // servers 87 #define FEEDER_ALLMAPS 0x04 // all maps available, in graphic format 88 #define FEEDER_REDTEAM_LIST 0x05 // red team members 89 #define FEEDER_BLUETEAM_LIST 0x06 // blue team members 90 #define FEEDER_PLAYER_LIST 0x07 // players 91 #define FEEDER_TEAM_LIST 0x08 // team members for team voting 92 #define FEEDER_MODS 0x09 // team members for team voting 93 #define FEEDER_DEMOS 0x0a // team members for team voting 94 #define FEEDER_SCOREBOARD 0x0b // team members for team voting 95 #define FEEDER_Q3HEADS 0x0c // model heads 96 #define FEEDER_SERVERSTATUS 0x0d // server status 97 #define FEEDER_FINDPLAYER 0x0e // find player 98 #define FEEDER_CINEMATICS 0x0f // cinematics 99 100 #define FEEDER_FORCECFG 0x10 // force config list 101 102 #define FEEDER_SIEGE_TEAM1 0x11 // siege class list for team1 103 #define FEEDER_SIEGE_TEAM2 0x12 // siege class list for team2 104 105 #define FEEDER_PLAYER_SPECIES 0x13 // models/player/* 106 #define FEEDER_PLAYER_SKIN_HEAD 0x14 // head*.skin files in species folder 107 #define FEEDER_PLAYER_SKIN_TORSO 0x15 // torso*.skin files in species folder 108 #define FEEDER_PLAYER_SKIN_LEGS 0x16 // lower*.skin files in species folder 109 #define FEEDER_COLORCHOICES 0x17 // special hack to feed text/actions from playerchoice.txt in species folder 110 111 #define FEEDER_TEAM1_INFANTRY 0x18 // for siege team choice 112 #define FEEDER_TEAM1_VANGUARD 0x19 // for siege team choice 113 #define FEEDER_TEAM1_SUPPORT 0x1a // for siege team choice 114 #define FEEDER_TEAM1_JEDI 0x1b // for siege team choice 115 #define FEEDER_TEAM1_DEMO 0x1c // for siege team choice 116 #define FEEDER_TEAM1_HEAVY 0x1d // for siege team choice 117 118 #define FEEDER_TEAM2_INFANTRY 0x1e // for siege team choice 119 #define FEEDER_TEAM2_VANGUARD 0x1f // for siege team choice 120 #define FEEDER_TEAM2_SUPPORT 0x20 // for siege team choice 121 #define FEEDER_TEAM2_JEDI 0x21 // for siege team choice 122 #define FEEDER_TEAM2_DEMO 0x22 // for siege team choice 123 #define FEEDER_TEAM2_HEAVY 0x23 // for siege team choice 124 125 #define FEEDER_SIEGE_BASE_CLASS 0x24 // for siege team choice 126 #define FEEDER_SIEGE_CLASS_WEAPONS 0x25 // for siege team choice 127 #define FEEDER_SIEGE_CLASS_INVENTORY 0x26 // for siege team choice 128 #define FEEDER_SIEGE_CLASS_FORCE 0x27 // for siege team choice 129 #define FEEDER_LANGUAGES 0x28 // for language choice 130 #define FEEDER_MOVES 0x29 // moves for the data pad moves screen 131 #define FEEDER_MOVES_TITLES 0x2a // move titles for the data pad moves screen 132 #define FEEDER_SABER_SINGLE_INFO 0x2b // saber single 133 #define FEEDER_SABER_STAFF_INFO 0x2c // saber staff 134 135 136 // Xbox specific, hope no one minds 137 #define FEEDER_XBL_ACCOUNTS 0xA0 // list of available XBL accounts 138 #define FEEDER_XBL_PLAYERS 0xA1 // players (current and recent) 139 #define FEEDER_XBL_FRIENDS 0xA2 // friends 140 #define FEEDER_XBL_SERVERS 0xA3 // results of an optimatch query 141 142 // display flags 143 #define CG_SHOW_BLUE_TEAM_HAS_REDFLAG 0x00000001 144 #define CG_SHOW_RED_TEAM_HAS_BLUEFLAG 0x00000002 145 #define CG_SHOW_ANYTEAMGAME 0x00000004 146 #define CG_SHOW_HARVESTER 0x00000008 147 #define CG_SHOW_ONEFLAG 0x00000010 148 #define CG_SHOW_CTF 0x00000020 149 #define CG_SHOW_OBELISK 0x00000040 150 #define CG_SHOW_HEALTHCRITICAL 0x00000080 151 #define CG_SHOW_SINGLEPLAYER 0x00000100 152 #define CG_SHOW_TOURNAMENT 0x00000200 153 #define CG_SHOW_DURINGINCOMINGVOICE 0x00000400 154 #define CG_SHOW_IF_PLAYER_HAS_FLAG 0x00000800 155 #define CG_SHOW_LANPLAYONLY 0x00001000 156 #define CG_SHOW_MINED 0x00002000 157 #define CG_SHOW_HEALTHOK 0x00004000 158 #define CG_SHOW_TEAMINFO 0x00008000 159 #define CG_SHOW_NOTEAMINFO 0x00010000 160 #define CG_SHOW_OTHERTEAMHASFLAG 0x00020000 161 #define CG_SHOW_YOURTEAMHASENEMYFLAG 0x00040000 162 #define CG_SHOW_ANYNONTEAMGAME 0x00080000 163 #define CG_SHOW_2DONLY 0x10000000 164 165 166 #define UI_SHOW_LEADER 0x00000001 167 #define UI_SHOW_NOTLEADER 0x00000002 168 #define UI_SHOW_FAVORITESERVERS 0x00000004 169 #define UI_SHOW_ANYNONTEAMGAME 0x00000008 170 #define UI_SHOW_ANYTEAMGAME 0x00000010 171 #define UI_SHOW_NEWHIGHSCORE 0x00000020 172 #define UI_SHOW_DEMOAVAILABLE 0x00000040 173 #define UI_SHOW_NEWBESTTIME 0x00000080 174 #define UI_SHOW_FFA 0x00000100 175 #define UI_SHOW_NOTFFA 0x00000200 176 #define UI_SHOW_NETANYNONTEAMGAME 0x00000400 177 #define UI_SHOW_NETANYTEAMGAME 0x00000800 178 #define UI_SHOW_NOTFAVORITESERVERS 0x00001000 179 180 181 182 183 // owner draw types 184 // ideally these should be done outside of this file but 185 // this makes it much easier for the macro expansion to 186 // convert them for the designers ( from the .menu files ) 187 #define CG_OWNERDRAW_BASE 1 188 #define CG_PLAYER_ARMOR_ICON 1 189 #define CG_PLAYER_ARMOR_VALUE 2 190 #define CG_PLAYER_HEAD 3 191 #define CG_PLAYER_HEALTH 4 192 #define CG_PLAYER_AMMO_ICON 5 193 #define CG_PLAYER_AMMO_VALUE 6 194 #define CG_SELECTEDPLAYER_HEAD 7 195 #define CG_SELECTEDPLAYER_NAME 8 196 #define CG_SELECTEDPLAYER_LOCATION 9 197 #define CG_SELECTEDPLAYER_STATUS 10 198 #define CG_SELECTEDPLAYER_WEAPON 11 199 #define CG_SELECTEDPLAYER_POWERUP 12 200 201 #define CG_FLAGCARRIER_HEAD 13 202 #define CG_FLAGCARRIER_NAME 14 203 #define CG_FLAGCARRIER_LOCATION 15 204 #define CG_FLAGCARRIER_STATUS 16 205 #define CG_FLAGCARRIER_WEAPON 17 206 #define CG_FLAGCARRIER_POWERUP 18 207 208 #define CG_PLAYER_ITEM 19 209 #define CG_PLAYER_SCORE 20 210 211 #define CG_BLUE_FLAGHEAD 21 212 #define CG_BLUE_FLAGSTATUS 22 213 #define CG_BLUE_FLAGNAME 23 214 #define CG_RED_FLAGHEAD 24 215 #define CG_RED_FLAGSTATUS 25 216 #define CG_RED_FLAGNAME 26 217 218 #define CG_BLUE_SCORE 27 219 #define CG_RED_SCORE 28 220 #define CG_RED_NAME 29 221 #define CG_BLUE_NAME 30 222 #define CG_HARVESTER_SKULLS 31 // only shows in harvester 223 #define CG_ONEFLAG_STATUS 32 // only shows in one flag 224 #define CG_PLAYER_LOCATION 33 225 #define CG_TEAM_COLOR 34 226 #define CG_CTF_POWERUP 35 227 228 #define CG_AREA_POWERUP 36 229 #define CG_AREA_LAGOMETER 37 // painted with old system 230 #define CG_PLAYER_HASFLAG 38 231 #define CG_GAME_TYPE 39 // not done 232 233 #define CG_SELECTEDPLAYER_ARMOR 40 234 #define CG_SELECTEDPLAYER_HEALTH 41 235 #define CG_PLAYER_STATUS 42 236 #define CG_FRAGGED_MSG 43 // painted with old system 237 #define CG_PROXMINED_MSG 44 // painted with old system 238 #define CG_AREA_FPSINFO 45 // painted with old system 239 #define CG_AREA_SYSTEMCHAT 46 // painted with old system 240 #define CG_AREA_TEAMCHAT 47 // painted with old system 241 #define CG_AREA_CHAT 48 // painted with old system 242 #define CG_GAME_STATUS 49 243 #define CG_KILLER 50 244 #define CG_PLAYER_ARMOR_ICON2D 51 245 #define CG_PLAYER_AMMO_ICON2D 52 246 #define CG_ACCURACY 53 247 #define CG_ASSISTS 54 248 #define CG_DEFEND 55 249 #define CG_EXCELLENT 56 250 #define CG_IMPRESSIVE 57 251 #define CG_PERFECT 58 252 #define CG_GAUNTLET 59 253 #define CG_SPECTATORS 60 254 #define CG_TEAMINFO 61 255 #define CG_VOICE_HEAD 62 256 #define CG_VOICE_NAME 63 257 #define CG_PLAYER_HASFLAG2D 64 258 #define CG_HARVESTER_SKULLS2D 65 // only shows in harvester 259 #define CG_CAPFRAGLIMIT 66 260 #define CG_1STPLACE 67 261 #define CG_2NDPLACE 68 262 #define CG_CAPTURES 69 263 #define CG_PLAYER_FORCE_VALUE 70 264 265 266 267 268 #define UI_OWNERDRAW_BASE 200 269 #define UI_HANDICAP 200 270 #define UI_EFFECTS 201 271 #define UI_PLAYERMODEL 202 272 #define UI_CLANNAME 203 273 #define UI_CLANLOGO 204 274 #define UI_GAMETYPE 205 275 #define UI_MAPPREVIEW 206 276 #define UI_SKILL 207 277 #define UI_BLUETEAMNAME 208 278 #define UI_REDTEAMNAME 209 279 #define UI_BLUETEAM1 210 280 #define UI_BLUETEAM2 211 281 #define UI_BLUETEAM3 212 282 #define UI_BLUETEAM4 213 283 #define UI_BLUETEAM5 214 284 #define UI_REDTEAM1 215 285 #define UI_REDTEAM2 216 286 #define UI_REDTEAM3 217 287 #define UI_REDTEAM4 218 288 #define UI_REDTEAM5 219 289 #define UI_NETSOURCE 220 290 #define UI_NETMAPPREVIEW 221 291 #define UI_NETFILTER 222 292 #define UI_TIER 223 293 #define UI_OPPONENTMODEL 224 294 #define UI_TIERMAP1 225 295 #define UI_TIERMAP2 226 296 #define UI_TIERMAP3 227 297 #define UI_PLAYERLOGO 228 298 #define UI_OPPONENTLOGO 229 299 #define UI_PLAYERLOGO_METAL 230 300 #define UI_OPPONENTLOGO_METAL 231 301 #define UI_PLAYERLOGO_NAME 232 302 #define UI_OPPONENTLOGO_NAME 233 303 #define UI_TIER_MAPNAME 234 304 #define UI_TIER_GAMETYPE 235 305 #define UI_ALLMAPS_SELECTION 236 306 #define UI_OPPONENT_NAME 237 307 #define UI_VOTE_KICK 238 308 #define UI_BOTNAME 239 309 #define UI_BOTSKILL 240 310 #define UI_REDBLUE 241 311 #define UI_CROSSHAIR 242 312 #define UI_SELECTEDPLAYER 243 313 #define UI_MAPCINEMATIC 244 314 #define UI_NETGAMETYPE 245 315 #define UI_NETMAPCINEMATIC 246 316 #define UI_SERVERREFRESHDATE 247 317 #define UI_SERVERMOTD 248 318 #define UI_GLINFO 249 319 #define UI_KEYBINDSTATUS 250 320 #define UI_CLANCINEMATIC 251 321 #define UI_MAP_TIMETOBEAT 252 322 #define UI_JOINGAMETYPE 253 323 #define UI_PREVIEWCINEMATIC 254 324 #define UI_STARTMAPCINEMATIC 255 325 #define UI_MAPS_SELECTION 256 326 #define UI_FORCE_SIDE 257 327 #define UI_FORCE_RANK 258 328 #define UI_FORCE_RANK_HEAL 259 329 #define UI_FORCE_RANK_LEVITATION 260 330 #define UI_FORCE_RANK_SPEED 261 331 #define UI_FORCE_RANK_PUSH 262 332 #define UI_FORCE_RANK_PULL 263 333 #define UI_FORCE_RANK_TELEPATHY 264 334 #define UI_FORCE_RANK_GRIP 265 335 #define UI_FORCE_RANK_LIGHTNING 266 336 #define UI_FORCE_RANK_RAGE 267 337 #define UI_FORCE_RANK_PROTECT 268 338 #define UI_FORCE_RANK_ABSORB 269 339 #define UI_FORCE_RANK_TEAM_HEAL 270 340 #define UI_FORCE_RANK_TEAM_FORCE 271 341 #define UI_FORCE_RANK_DRAIN 272 342 #define UI_FORCE_RANK_SEE 273 343 #define UI_FORCE_RANK_SABERATTACK 274 344 #define UI_FORCE_RANK_SABERDEFEND 275 345 #define UI_FORCE_RANK_SABERTHROW 276 346 #define UI_VERSION 277 347 #define UI_TOTALFORCESTARS 278 348 #define UI_AUTOSWITCHLIST 279 349 350 //How handy it would be if this were an enum. 351 #define UI_BLUETEAM6 280 352 #define UI_BLUETEAM7 281 353 #define UI_BLUETEAM8 282 354 #define UI_REDTEAM6 283 355 #define UI_REDTEAM7 284 356 #define UI_REDTEAM8 285 357 358 // Yes it would be handy 359 #define UI_FORCE_MASTERY_SET 286 360 #define UI_SKIN_COLOR 287 361 #define UI_FORCE_POINTS 288 362 363 //extra, for patch 364 #define UI_JEDI_NONJEDI 289 365 366 #define UI_CHAT_MAIN 291 367 #define UI_CHAT_ATTACK 292 368 #define UI_CHAT_DEFEND 293 369 #define UI_CHAT_REQUEST 294 370 #define UI_CHAT_REPLY 295 371 #define UI_CHAT_SPOT 296 372 #define UI_CHAT_TACTICAL 297 373 374 #define VOICECHAT_GETFLAG "getflag" // command someone to get the flag 375 #define VOICECHAT_OFFENSE "offense" // command someone to go on offense 376 #define VOICECHAT_DEFEND "defend" // command someone to go on defense 377 #define VOICECHAT_DEFENDFLAG "defendflag" // command someone to defend the flag 378 #define VOICECHAT_PATROL "patrol" // command someone to go on patrol (roam) 379 #define VOICECHAT_CAMP "camp" // command someone to camp (we don't have sounds for this one) 380 #define VOICECHAT_FOLLOWME "followme" // command someone to follow you 381 #define VOICECHAT_RETURNFLAG "returnflag" // command someone to return our flag 382 #define VOICECHAT_FOLLOWFLAGCARRIER "followflagcarrier" // command someone to follow the flag carrier 383 #define VOICECHAT_YES "yes" // yes, affirmative, etc. 384 #define VOICECHAT_NO "no" // no, negative, etc. 385 #define VOICECHAT_ONGETFLAG "ongetflag" // I'm getting the flag 386 #define VOICECHAT_ONOFFENSE "onoffense" // I'm on offense 387 #define VOICECHAT_ONDEFENSE "ondefense" // I'm on defense 388 #define VOICECHAT_ONPATROL "onpatrol" // I'm on patrol (roaming) 389 #define VOICECHAT_ONCAMPING "oncamp" // I'm camping somewhere 390 #define VOICECHAT_ONFOLLOW "onfollow" // I'm following 391 #define VOICECHAT_ONFOLLOWCARRIER "onfollowcarrier" // I'm following the flag carrier 392 #define VOICECHAT_ONRETURNFLAG "onreturnflag" // I'm returning our flag 393 #define VOICECHAT_INPOSITION "inposition" // I'm in position 394 #define VOICECHAT_IHAVEFLAG "ihaveflag" // I have the flag 395 #define VOICECHAT_BASEATTACK "baseattack" // the base is under attack 396 #define VOICECHAT_ENEMYHASFLAG "enemyhasflag" // the enemy has our flag (CTF) 397 #define VOICECHAT_STARTLEADER "startleader" // I'm the leader 398 #define VOICECHAT_STOPLEADER "stopleader" // I resign leadership 399 #define VOICECHAT_TRASH "trash" // lots of trash talk 400 #define VOICECHAT_WHOISLEADER "whoisleader" // who is the team leader 401 #define VOICECHAT_WANTONDEFENSE "wantondefense" // I want to be on defense 402 #define VOICECHAT_WANTONOFFENSE "wantonoffense" // I want to be on offense 403 #define VOICECHAT_KILLINSULT "kill_insult" // I just killed you 404 #define VOICECHAT_TAUNT "taunt" // I want to taunt you 405 #define VOICECHAT_DEATHINSULT "death_insult" // you just killed me 406 #define VOICECHAT_KILLGAUNTLET "kill_gauntlet" // I just killed you with the gauntlet 407 #define VOICECHAT_PRAISE "praise" // you did something good 408