summaryrefslogtreecommitdiff
path: root/src/ui/menudef.h
blob: d4ed0b271df68f4536db5fcdb10bd0fa8fe01d5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362

#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_ALIGN_LEFT 0                 // left alignment
#define ITEM_ALIGN_CENTER 1               // center alignment
#define ITEM_ALIGN_RIGHT 2                // right 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 ITEM_TEXTSTYLE_NEON     7         // 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 MENU_TRUE 1                       // uh.. true
#define MENU_FALSE 0                      // and false

#define HUD_VERTICAL        0x00
#define HUD_HORIZONTAL        0x01

// 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_ALIENTEAM_LIST           0x05      // red team members
#define FEEDER_HUMANTEAM_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_Q3HEADS                  0x0c      // model heads
#define FEEDER_SERVERSTATUS             0x0d      // server status
#define FEEDER_FINDPLAYER               0x0e      // find player
#define FEEDER_CINEMATICS               0x0f      // cinematics

//TA: tremulous menus
#define FEEDER_TREMTEAMS                0x10      //teams
#define FEEDER_TREMALIENCLASSES         0x11      //alien classes
#define FEEDER_TREMHUMANITEMS           0x12      //human items
#define FEEDER_TREMHUMANARMOURYBUY      0x13      //human buy
#define FEEDER_TREMHUMANARMOURYSELL     0x14      //human sell
#define FEEDER_TREMALIENUPGRADE         0x15      //alien upgrade
#define FEEDER_TREMALIENBUILD           0x16      //alien buildables
#define FEEDER_TREMHUMANBUILD           0x17      //human buildables
//TA: tremulous menus
#define FEEDER_IGNORE_LIST              0x18      //ignored players

// 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_HARVESTER                 0x00000008
#define CG_SHOW_ONEFLAG                   0x00000010
#define CG_SHOW_CTF                       0x00000020
#define CG_SHOW_OBELISK                   0x00000040
#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
#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

#define UI_SHOW_VOTEACTIVE                0x00002000
#define UI_SHOW_CANVOTE                   0x00004000
#define UI_SHOW_TEAMVOTEACTIVE            0x00008000
#define UI_SHOW_CANTEAMVOTE               0x00010000

#define UI_SHOW_NOTSPECTATING             0x00020000

// 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_ARMOR_ICON        1              
#define CG_PLAYER_ARMOR_VALUE       2
#define CG_PLAYER_HEAD              3
#define CG_PLAYER_HEALTH            4
#define CG_PLAYER_HEALTH_BAR        92
#define CG_PLAYER_HEALTH_CROSS      99
#define CG_PLAYER_AMMO_ICON         5
#define CG_PLAYER_AMMO_VALUE        6
#define CG_PLAYER_CLIPS_VALUE       70
#define CG_PLAYER_BUILD_TIMER       115
#define CG_PLAYER_CREDITS_VALUE     71
#define CG_PLAYER_BANK_VALUE        72
#define CG_PLAYER_CREDITS_VALUE_NOPAD     106
#define CG_PLAYER_BANK_VALUE_NOPAD        107
#define CG_PLAYER_STAMINA           73
#define CG_PLAYER_STAMINA_1         93
#define CG_PLAYER_STAMINA_2         94
#define CG_PLAYER_STAMINA_3         95
#define CG_PLAYER_STAMINA_4         96
#define CG_PLAYER_STAMINA_BOLT      97
#define CG_PLAYER_BOOST_BOLT        112
#define CG_PLAYER_CLIPS_RING        98
#define CG_PLAYER_BUILD_TIMER_RING  113
#define CG_PLAYER_SELECT            74
#define CG_PLAYER_SELECTTEXT        75
#define CG_PLAYER_WEAPONICON        111
#define CG_PLAYER_WALLCLIMBING      103
#define CG_PLAYER_BOOSTED           104
#define CG_PLAYER_POISON_BARBS      105
#define CG_PLAYER_ALIEN_SENSE       108
#define CG_PLAYER_HUMAN_SCANNER     109
#define CG_PLAYER_USABLE_BUILDABLE  110
#define CG_SELECTEDPLAYER_HEAD      7
#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_HEAD         13
#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_SCORE             20

#define CG_BLUE_FLAGHEAD            21
#define CG_BLUE_FLAGSTATUS          22
#define CG_BLUE_FLAGNAME            23
#define CG_RED_FLAGHEAD             24
#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_HARVESTER_SKULLS         31  // only shows in harvester
#define CG_ONEFLAG_STATUS           32  // only shows in one flag
#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_ARMOR     40      
#define CG_SELECTEDPLAYER_HEALTH    41
#define CG_PLAYER_STATUS 42
#define CG_FRAGGED_MSG 43               // painted with old system
#define CG_PROXMINED_MSG 44             // painted with old system
#define CG_AREA_FPSINFO 45              // painted with old system
#define CG_GAME_STATUS 49
#define CG_KILLER 50
#define CG_PLAYER_ARMOR_ICON2D 51              
#define CG_PLAYER_AMMO_ICON2D 52
#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_PLAYER_HASFLAG2D 64            
#define CG_HARVESTER_SKULLS2D 65          // only shows in harvester
#define CG_CAPFRAGLIMIT 66   
#define CG_1STPLACE 67
#define CG_2NDPLACE 68
#define CG_CAPTURES 69

//TA: loading screen
#define CG_LOAD_LEVELSHOT         76
#define CG_LOAD_MEDIA             77
#define CG_LOAD_MEDIA_LABEL       78
#define CG_LOAD_BUILDABLES        79
#define CG_LOAD_BUILDABLES_LABEL  80
#define CG_LOAD_CHARMODEL         81
#define CG_LOAD_CHARMODEL_LABEL   82
#define CG_LOAD_OVERALL           83
#define CG_LOAD_LEVELNAME         84
#define CG_LOAD_MOTD              85
#define CG_LOAD_HOSTNAME          86

#define CG_FPS                    87
#define CG_FPS_FIXED              100
#define CG_TIMER                  88
#define CG_TIMER_MINS             101
#define CG_TIMER_SECS             102
#define CG_SNAPSHOT               89
#define CG_LAGOMETER              90
#define CG_PLAYER_CROSSHAIRNAMES  114
#define CG_STAGE_REPORT_TEXT      116
#define CG_DEMO_PLAYBACK          117
#define CG_DEMO_RECORDING         118

#define CG_CONSOLE                91
#define CG_TUTORIAL               119
#define CG_CLOCK                  120



#define UI_OWNERDRAW_BASE 200
#define UI_HANDICAP 200
#define UI_PLAYERMODEL 202
#define UI_CLANNAME 203
#define UI_CLANLOGO 204
#define UI_GAMETYPE 205
#define UI_MAPPREVIEW 206
#define UI_SKILL 207
#define UI_BLUETEAMNAME 208
#define UI_REDTEAMNAME 209
#define UI_BLUETEAM1 210
#define UI_BLUETEAM2 211
#define UI_BLUETEAM3 212
#define UI_BLUETEAM4 213
#define UI_BLUETEAM5 214
#define UI_REDTEAM1 215
#define UI_REDTEAM2 216
#define UI_REDTEAM3 217
#define UI_REDTEAM4 218
#define UI_REDTEAM5 219
#define UI_NETSOURCE 220
#define UI_NETMAPPREVIEW 221
#define UI_NETFILTER 222
#define UI_TIER 223
#define UI_OPPONENTMODEL 224
#define UI_TIERMAP1 225
#define UI_TIERMAP2 226
#define UI_TIERMAP3 227
#define UI_PLAYERLOGO 228
#define UI_OPPONENTLOGO 229
#define UI_PLAYERLOGO_METAL 230
#define UI_OPPONENTLOGO_METAL 231
#define UI_PLAYERLOGO_NAME 232
#define UI_OPPONENTLOGO_NAME 233
#define UI_TIER_MAPNAME 234
#define UI_TIER_GAMETYPE 235
#define UI_ALLMAPS_SELECTION 236
#define UI_OPPONENT_NAME 237
#define UI_VOTE_KICK 238
#define UI_BOTNAME 239
#define UI_BOTSKILL 240
#define UI_REDBLUE 241
#define UI_SELECTEDPLAYER 243
#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_CLANCINEMATIC      251
#define UI_MAP_TIMETOBEAT     252
#define UI_JOINGAMETYPE       253
#define UI_PREVIEWCINEMATIC   254
#define UI_STARTMAPCINEMATIC  255
#define UI_MAPS_SELECTION     256

//TA:
//#define UI_DIALOG             257
#define UI_TEAMINFOPANE       258
#define UI_ACLASSINFOPANE     259
#define UI_AUPGRADEINFOPANE   260
#define UI_HITEMINFOPANE      261
#define UI_HBUYINFOPANE       262
#define UI_HSELLINFOPANE      263
#define UI_ABUILDINFOPANE     264
#define UI_HBUILDINFOPANE     265

#define UI_PLAYERLIST_SELECTION 266
#define UI_TEAMLIST_SELECTION 267

#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_TRASH       "trash"         // lots of trash talk
#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