menudef.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. /*
  2. ===========================================================================
  3. Return to Castle Wolfenstein multiplayer GPL Source Code
  4. Copyright (C) 1999-2010 id Software LLC, a ZeniMax Media company.
  5. This file is part of the Return to Castle Wolfenstein multiplayer GPL Source Code (“RTCW MP Source Code”).
  6. RTCW MP Source Code is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. RTCW MP Source Code is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with RTCW MP Source Code. If not, see <http://www.gnu.org/licenses/>.
  16. In addition, the RTCW MP Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the RTCW MP Source Code. If not, please request a copy in writing from id Software at the address below.
  17. If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
  18. ===========================================================================
  19. */
  20. #define ITEM_TYPE_TEXT 0 // simple text
  21. #define ITEM_TYPE_BUTTON 1 // button, basically text with a border
  22. #define ITEM_TYPE_RADIOBUTTON 2 // toggle button, may be grouped
  23. #define ITEM_TYPE_CHECKBOX 3 // check box
  24. #define ITEM_TYPE_EDITFIELD 4 // editable text, associated with a cvar
  25. #define ITEM_TYPE_COMBO 5 // drop down list
  26. #define ITEM_TYPE_LISTBOX 6 // scrollable list
  27. #define ITEM_TYPE_MODEL 7 // model
  28. #define ITEM_TYPE_OWNERDRAW 8 // owner draw, name specs what it is
  29. #define ITEM_TYPE_NUMERICFIELD 9 // editable text, associated with a cvar
  30. #define ITEM_TYPE_SLIDER 10 // mouse speed, volume, etc.
  31. #define ITEM_TYPE_YESNO 11 // yes no cvar setting
  32. #define ITEM_TYPE_MULTI 12 // multiple list setting, enumerated
  33. #define ITEM_TYPE_BIND 13 // multiple list setting, enumerated
  34. #define ITEM_TYPE_MENUMODEL 14 // special menu model
  35. #define ITEM_ALIGN_LEFT 0 // left alignment
  36. #define ITEM_ALIGN_CENTER 1 // center alignment
  37. #define ITEM_ALIGN_RIGHT 2 // right alignment
  38. #define ITEM_TEXTSTYLE_NORMAL 0 // normal text
  39. #define ITEM_TEXTSTYLE_BLINK 1 // fast blinking
  40. #define ITEM_TEXTSTYLE_PULSE 2 // slow pulsing
  41. #define ITEM_TEXTSTYLE_SHADOWED 3 // drop shadow ( need a color for this )
  42. #define ITEM_TEXTSTYLE_OUTLINED 4 // drop shadow ( need a color for this )
  43. #define ITEM_TEXTSTYLE_OUTLINESHADOWED 5 // drop shadow ( need a color for this )
  44. #define ITEM_TEXTSTYLE_SHADOWEDMORE 6 // drop shadow ( need a color for this )
  45. #define WINDOW_BORDER_NONE 0 // no border
  46. #define WINDOW_BORDER_FULL 1 // full border based on border color ( single pixel )
  47. #define WINDOW_BORDER_HORZ 2 // horizontal borders only
  48. #define WINDOW_BORDER_VERT 3 // vertical borders only
  49. #define WINDOW_BORDER_KCGRADIENT 4 // horizontal border using the gradient bars
  50. #define WINDOW_STYLE_EMPTY 0 // no background
  51. #define WINDOW_STYLE_FILLED 1 // filled with background color
  52. #define WINDOW_STYLE_GRADIENT 2 // gradient bar based on background color
  53. #define WINDOW_STYLE_SHADER 3 // gradient bar based on background color
  54. #define WINDOW_STYLE_TEAMCOLOR 4 // team color
  55. #define WINDOW_STYLE_CINEMATIC 5 // cinematic
  56. #define MENU_TRUE 1 // uh.. true
  57. #define MENU_FALSE 0 // and false
  58. #define HUD_VERTICAL 0x00
  59. #define HUD_HORIZONTAL 0x01
  60. #define RANGETYPE_ABSOLUTE 0
  61. #define RANGETYPE_RELATIVE 1
  62. // list box element types
  63. #define LISTBOX_TEXT 0x00
  64. #define LISTBOX_IMAGE 0x01
  65. // list feeders
  66. #define FEEDER_HEADS 0x00 // model heads
  67. #define FEEDER_MAPS 0x01 // text maps based on game type
  68. #define FEEDER_SERVERS 0x02 // servers
  69. #define FEEDER_CLANS 0x03 // clan names
  70. #define FEEDER_ALLMAPS 0x04 // all maps available, in graphic format
  71. #define FEEDER_REDTEAM_LIST 0x05 // red team members
  72. #define FEEDER_BLUETEAM_LIST 0x06 // blue team members
  73. #define FEEDER_PLAYER_LIST 0x07 // players
  74. #define FEEDER_TEAM_LIST 0x08 // team members for team voting
  75. #define FEEDER_MODS 0x09 // team members for team voting
  76. #define FEEDER_DEMOS 0x0a // team members for team voting
  77. #define FEEDER_SCOREBOARD 0x0b // team members for team voting
  78. #define FEEDER_Q3HEADS 0x0c // model heads
  79. #define FEEDER_SERVERSTATUS 0x0d // server status
  80. #define FEEDER_FINDPLAYER 0x0e // find player
  81. #define FEEDER_CINEMATICS 0x0f // cinematics
  82. #define FEEDER_SAVEGAMES 0x10 // savegames
  83. #define FEEDER_PICKSPAWN 0x11 // NERVE - SMF - wolf mp pick spawn point
  84. #define FEEDER_SOLDIERWEAP 0x12 // NERVE - SMF - wolf mp soldier weapon list
  85. #define FEEDER_LIEUTWEAP 0x13 // NERVE - SMF - wolf mp lieutenant weapon list
  86. // display flags
  87. #define CG_SHOW_BLUE_TEAM_HAS_REDFLAG 0x00000001
  88. #define CG_SHOW_RED_TEAM_HAS_BLUEFLAG 0x00000002
  89. #define CG_SHOW_ANYTEAMGAME 0x00000004
  90. #define CG_SHOW_HARVESTER 0x00000008
  91. #define CG_SHOW_ONEFLAG 0x00000010
  92. #define CG_SHOW_CTF 0x00000020
  93. #define CG_SHOW_OBELISK 0x00000040
  94. #define CG_SHOW_HEALTHCRITICAL 0x00000080
  95. #define CG_SHOW_SINGLEPLAYER 0x00000100
  96. #define CG_SHOW_TOURNAMENT 0x00000200
  97. #define CG_SHOW_DURINGINCOMINGVOICE 0x00000400
  98. #define CG_SHOW_IF_PLAYER_HAS_FLAG 0x00000800
  99. #define CG_SHOW_LANPLAYONLY 0x00001000
  100. #define CG_SHOW_MINED 0x00002000
  101. #define CG_SHOW_HEALTHOK 0x00004000
  102. #define CG_SHOW_TEAMINFO 0x00008000
  103. #define CG_SHOW_NOTEAMINFO 0x00010000
  104. #define CG_SHOW_OTHERTEAMHASFLAG 0x00020000
  105. #define CG_SHOW_YOURTEAMHASENEMYFLAG 0x00040000
  106. #define CG_SHOW_ANYNONTEAMGAME 0x00080000
  107. //(SA)
  108. #define CG_SHOW_TEXTASINT 0x00200000
  109. #define CG_SHOW_HIGHLIGHTED 0x00100000
  110. #define CG_SHOW_NOT_V_BINOC 0x00200000 //----(SA) added // hide on binoc huds
  111. #define CG_SHOW_NOT_V_SNIPER 0x00400000 //----(SA) added // hide on sniper huds
  112. #define CG_SHOW_NOT_V_SNOOPER 0x00800000 //----(SA) added // hide on snooper huds
  113. #define CG_SHOW_NOT_V_FGSCOPE 0x01000000 //----(SA) added // hide on fg42 scope huds
  114. #define CG_SHOW_NOT_V_CLEAR 0x02000000 //----(SA) added // hide on normal, full-view huds
  115. #define CG_SHOW_2DONLY 0x10000000
  116. #define UI_SHOW_LEADER 0x00000001
  117. #define UI_SHOW_NOTLEADER 0x00000002
  118. #define UI_SHOW_FAVORITESERVERS 0x00000004
  119. #define UI_SHOW_ANYNONTEAMGAME 0x00000008
  120. #define UI_SHOW_ANYTEAMGAME 0x00000010
  121. #define UI_SHOW_NEWHIGHSCORE 0x00000020
  122. #define UI_SHOW_DEMOAVAILABLE 0x00000040
  123. #define UI_SHOW_NEWBESTTIME 0x00000080
  124. #define UI_SHOW_FFA 0x00000100
  125. #define UI_SHOW_NOTFFA 0x00000200
  126. #define UI_SHOW_NETANYNONTEAMGAME 0x00000400
  127. #define UI_SHOW_NETANYTEAMGAME 0x00000800
  128. #define UI_SHOW_NOTFAVORITESERVERS 0x00001000
  129. // owner draw types
  130. // ideally these should be done outside of this file but
  131. // this makes it much easier for the macro expansion to
  132. // convert them for the designers ( from the .menu files )
  133. #define CG_OWNERDRAW_BASE 1
  134. #define CG_PLAYER_ARMOR_ICON 1
  135. #define CG_PLAYER_ARMOR_VALUE 2
  136. #define CG_PLAYER_HEAD 3
  137. #define CG_PLAYER_HEALTH 4
  138. #define CG_PLAYER_AMMO_ICON 5
  139. #define CG_PLAYER_AMMO_VALUE 6
  140. #define CG_SELECTEDPLAYER_HEAD 7
  141. #define CG_SELECTEDPLAYER_NAME 8
  142. #define CG_SELECTEDPLAYER_LOCATION 9
  143. #define CG_SELECTEDPLAYER_STATUS 10
  144. #define CG_SELECTEDPLAYER_WEAPON 11
  145. #define CG_SELECTEDPLAYER_POWERUP 12
  146. #define CG_FLAGCARRIER_HEAD 13
  147. #define CG_FLAGCARRIER_NAME 14
  148. #define CG_FLAGCARRIER_LOCATION 15
  149. #define CG_FLAGCARRIER_STATUS 16
  150. #define CG_FLAGCARRIER_WEAPON 17
  151. #define CG_FLAGCARRIER_POWERUP 18
  152. #define CG_PLAYER_ITEM 19
  153. #define CG_PLAYER_SCORE 20
  154. #define CG_BLUE_FLAGHEAD 21
  155. #define CG_BLUE_FLAGSTATUS 22
  156. #define CG_BLUE_FLAGNAME 23
  157. #define CG_RED_FLAGHEAD 24
  158. #define CG_RED_FLAGSTATUS 25
  159. #define CG_RED_FLAGNAME 26
  160. #define CG_BLUE_SCORE 27
  161. #define CG_RED_SCORE 28
  162. #define CG_RED_NAME 29
  163. #define CG_BLUE_NAME 30
  164. #define CG_HARVESTER_SKULLS 31 // only shows in harvester
  165. #define CG_ONEFLAG_STATUS 32 // only shows in one flag
  166. #define CG_PLAYER_LOCATION 33
  167. #define CG_TEAM_COLOR 34
  168. #define CG_CTF_POWERUP 35
  169. #define CG_AREA_POWERUP 36
  170. #define CG_AREA_LAGOMETER 37 // painted with old system
  171. #define CG_PLAYER_HASFLAG 38
  172. #define CG_GAME_TYPE 39 // not done
  173. #define CG_SELECTEDPLAYER_ARMOR 40
  174. #define CG_SELECTEDPLAYER_HEALTH 41
  175. #define CG_PLAYER_STATUS 42
  176. #define CG_FRAGGED_MSG 43 // painted with old system
  177. #define CG_PROXMINED_MSG 44 // painted with old system
  178. #define CG_AREA_FPSINFO 45 // painted with old system
  179. #define CG_AREA_SYSTEMCHAT 46 // painted with old system
  180. #define CG_AREA_TEAMCHAT 47 // painted with old system
  181. #define CG_AREA_CHAT 48 // painted with old system
  182. #define CG_GAME_STATUS 49
  183. #define CG_KILLER 50
  184. #define CG_PLAYER_ARMOR_ICON2D 51
  185. #define CG_PLAYER_AMMO_ICON2D 52
  186. #define CG_ACCURACY 53
  187. #define CG_ASSISTS 54
  188. #define CG_DEFEND 55
  189. #define CG_EXCELLENT 56
  190. #define CG_IMPRESSIVE 57
  191. #define CG_PERFECT 58
  192. #define CG_GAUNTLET 59
  193. #define CG_SPECTATORS 60
  194. #define CG_TEAMINFO 61
  195. #define CG_VOICE_HEAD 62
  196. #define CG_VOICE_NAME 63
  197. #define CG_PLAYER_HASFLAG2D 64
  198. #define CG_HARVESTER_SKULLS2D 65 // only shows in harvester
  199. #define CG_CAPFRAGLIMIT 66
  200. #define CG_1STPLACE 67
  201. #define CG_2NDPLACE 68
  202. #define CG_CAPTURES 69
  203. // (SA) adding
  204. #define CG_PLAYER_AMMOCLIP_VALUE 70
  205. #define CG_PLAYER_WEAPON_ICON2D 71
  206. #define CG_CURSORHINT 72
  207. #define CG_STAMINA 73
  208. #define CG_PLAYER_WEAPON_HEAT 74
  209. #define CG_PLAYER_POWERUP 75
  210. #define CG_PLAYER_HOLDABLE 76
  211. #define CG_PLAYER_INVENTORY 77
  212. #define CG_AREA_WEAPON 78 // draw weapons here
  213. #define CG_AREA_HOLDABLE 79
  214. #define CG_CURSORHINT_STATUS 80 // like 'health' bar when pointing at a func_explosive
  215. #define CG_PLAYER_WEAPON_STABILITY 81 // shows aimSpreadScale value
  216. #define CG_PLAYER_WEAPON_RECHARGE 82 // DHM - Nerve :: For various multiplayer weapons that have recharge times
  217. #define UI_OWNERDRAW_BASE 200
  218. #define UI_HANDICAP 200
  219. #define UI_EFFECTS 201
  220. #define UI_PLAYERMODEL 202
  221. #define UI_CLANNAME 203
  222. #define UI_CLANLOGO 204
  223. #define UI_GAMETYPE 205
  224. #define UI_MAPPREVIEW 206
  225. #define UI_SKILL 207
  226. #define UI_BLUETEAMNAME 208
  227. #define UI_REDTEAMNAME 209
  228. #define UI_BLUETEAM1 210
  229. #define UI_BLUETEAM2 211
  230. #define UI_BLUETEAM3 212
  231. #define UI_BLUETEAM4 213
  232. #define UI_BLUETEAM5 214
  233. #define UI_REDTEAM1 215
  234. #define UI_REDTEAM2 216
  235. #define UI_REDTEAM3 217
  236. #define UI_REDTEAM4 218
  237. #define UI_REDTEAM5 219
  238. #define UI_NETSOURCE 220
  239. #define UI_NETMAPPREVIEW 221
  240. #define UI_NETFILTER 222
  241. #define UI_TIER 223
  242. #define UI_OPPONENTMODEL 224
  243. #define UI_TIERMAP1 225
  244. #define UI_TIERMAP2 226
  245. #define UI_TIERMAP3 227
  246. #define UI_PLAYERLOGO 228
  247. #define UI_OPPONENTLOGO 229
  248. #define UI_PLAYERLOGO_METAL 230
  249. #define UI_OPPONENTLOGO_METAL 231
  250. #define UI_PLAYERLOGO_NAME 232
  251. #define UI_OPPONENTLOGO_NAME 233
  252. #define UI_TIER_MAPNAME 234
  253. #define UI_TIER_GAMETYPE 235
  254. #define UI_ALLMAPS_SELECTION 236
  255. #define UI_OPPONENT_NAME 237
  256. #define UI_VOTE_KICK 238
  257. #define UI_BOTNAME 239
  258. #define UI_BOTSKILL 240
  259. #define UI_REDBLUE 241
  260. #define UI_CROSSHAIR 242
  261. #define UI_SELECTEDPLAYER 243
  262. #define UI_MAPCINEMATIC 244
  263. #define UI_NETGAMETYPE 245
  264. #define UI_NETMAPCINEMATIC 246
  265. #define UI_SERVERREFRESHDATE 247
  266. #define UI_SERVERMOTD 248
  267. #define UI_GLINFO 249
  268. #define UI_KEYBINDSTATUS 250
  269. #define UI_CLANCINEMATIC 251
  270. #define UI_MAP_TIMETOBEAT 252
  271. #define UI_JOINGAMETYPE 253
  272. #define UI_PREVIEWCINEMATIC 254
  273. #define UI_STARTMAPCINEMATIC 255
  274. #define UI_MAPS_SELECTION 256
  275. //----(SA) added
  276. #define UI_MENUMODEL 257
  277. #define UI_SAVEGAME_SHOT 258
  278. //----(SA) end
  279. // NERVE - SMF
  280. #define UI_LIMBOCHAT 259
  281. // -NERVE - SMF
  282. #define VOICECHAT_GETFLAG "getflag" // command someone to get the flag
  283. #define VOICECHAT_OFFENSE "offense" // command someone to go on offense
  284. #define VOICECHAT_DEFEND "defend" // command someone to go on defense
  285. #define VOICECHAT_DEFENDFLAG "defendflag" // command someone to defend the flag
  286. #define VOICECHAT_PATROL "patrol" // command someone to go on patrol (roam)
  287. #define VOICECHAT_CAMP "camp" // command someone to camp (we don't have sounds for this one)
  288. #define VOICECHAT_FOLLOWME "followme" // command someone to follow you
  289. #define VOICECHAT_RETURNFLAG "returnflag" // command someone to return our flag
  290. #define VOICECHAT_FOLLOWFLAGCARRIER "followflagcarrier" // command someone to follow the flag carrier
  291. #define VOICECHAT_YES "yes" // yes, affirmative, etc.
  292. #define VOICECHAT_NO "no" // no, negative, etc.
  293. #define VOICECHAT_ONGETFLAG "ongetflag" // I'm getting the flag
  294. #define VOICECHAT_ONOFFENSE "onoffense" // I'm on offense
  295. #define VOICECHAT_ONDEFENSE "ondefense" // I'm on defense
  296. #define VOICECHAT_ONPATROL "onpatrol" // I'm on patrol (roaming)
  297. #define VOICECHAT_ONCAMPING "oncamp" // I'm camping somewhere
  298. #define VOICECHAT_ONFOLLOW "onfollow" // I'm following
  299. #define VOICECHAT_ONFOLLOWCARRIER "onfollowcarrier" // I'm following the flag carrier
  300. #define VOICECHAT_ONRETURNFLAG "onreturnflag" // I'm returning our flag
  301. #define VOICECHAT_INPOSITION "inposition" // I'm in position
  302. #define VOICECHAT_IHAVEFLAG "ihaveflag" // I have the flag
  303. #define VOICECHAT_BASEATTACK "baseattack" // the base is under attack
  304. #define VOICECHAT_ENEMYHASFLAG "enemyhasflag" // the enemy has our flag (CTF)
  305. #define VOICECHAT_STARTLEADER "startleader" // I'm the leader
  306. #define VOICECHAT_STOPLEADER "stopleader" // I resign leadership
  307. #define VOICECHAT_WHOISLEADER "whoisleader" // who is the team leader
  308. #define VOICECHAT_WANTONDEFENSE "wantondefense" // I want to be on defense
  309. #define VOICECHAT_WANTONOFFENSE "wantonoffense" // I want to be on offense
  310. #define VOICECHAT_KILLINSULT "kill_insult" // I just killed you
  311. #define VOICECHAT_TAUNT "taunt" // I want to taunt you
  312. #define VOICECHAT_DEATHINSULT "death_insult" // you just killed me
  313. #define VOICECHAT_KILLGAUNTLET "kill_gauntlet" // I just killed you with the gauntlet
  314. #define VOICECHAT_PRAISE "praise" // you did something good
  315. // NERVE - SMF - wolf multiplayer class/item selection mechanism
  316. #define WM_START_SELECT 0
  317. #define WM_SELECT_TEAM 1
  318. #define WM_SELECT_CLASS 2
  319. #define WM_SELECT_WEAPON 3
  320. #define WM_SELECT_PISTOL 4
  321. #define WM_SELECT_GRENADE 5
  322. #define WM_SELECT_ITEM1 6
  323. #define WM_AXIS 1
  324. #define WM_ALLIES 2
  325. #define WM_SPECTATOR 3
  326. #define WM_SOLDIER 1
  327. #define WM_MEDIC 2
  328. #define WM_LIEUTENANT 3
  329. #define WM_ENGINEER 4
  330. #define WM_PISTOL_1911 1
  331. #define WM_PISTOL_LUGER 2
  332. #define WM_WEAPON_MP40 3
  333. #define WM_WEAPON_THOMPSON 4
  334. #define WM_WEAPON_STEN 5
  335. #define WM_WEAPON_MAUSER 6
  336. //#define WM_WEAPON_GARAND 7
  337. #define WM_WEAPON_PANZERFAUST 8
  338. #define WM_WEAPON_VENOM 9
  339. #define WM_WEAPON_FLAMETHROWER 10
  340. #define WM_PINEAPPLE_GRENADE 11
  341. #define WM_STICK_GRENADE 12
  342. // -NERVE - SMF
  343. // NERVE - SMF - ui font stuff
  344. #define UI_FONT_DEFAULT 0
  345. #define UI_FONT_NORMAL 1
  346. #define UI_FONT_BIG 2
  347. #define UI_FONT_SMALL 3
  348. #define UI_FONT_HANDWRITING 4
  349. // -NERVE - SMF