summaryrefslogtreecommitdiff
path: root/assets/ui/menudef.h
blob: 49792096f3f6b2696edf0444c3374a7242bd14b2 (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
#ifndef MENUDEF_H
#define MENUDEF_H

enum
{
  ITEM_TYPE_ANY = -1,     // invalid type
  ITEM_TYPE_NONE,         // no specified type
  ITEM_TYPE_TEXT,         // simple text
  ITEM_TYPE_BUTTON,       // button, basically text with a border
  ITEM_TYPE_RADIOBUTTON,  // toggle button, may be grouped
  ITEM_TYPE_CHECKBOX,     // check box
  ITEM_TYPE_EDITFIELD,    // editable text, associated with a cvar
  ITEM_TYPE_SAYFIELD,     // the chat field
  ITEM_TYPE_COMBO,        // drop down list
  ITEM_TYPE_LISTBOX,      // scrollable list
  ITEM_TYPE_MODEL,        // model
  ITEM_TYPE_OWNERDRAW,    // owner draw, has an associated ownerdraw number
  ITEM_TYPE_NUMERICFIELD, // editable text, associated with a cvar
  ITEM_TYPE_SLIDER,       // mouse speed, volume, etc.
  ITEM_TYPE_YESNO,        // boolean cvar setting
  ITEM_TYPE_MULTI,        // multiple list setting, enumerated
  ITEM_TYPE_BIND          // keyboard control configuration
};

// The first items in these enums are the defaults if menus do not specify
enum
{
  ALIGN_LEFT,   // left alignment
  ALIGN_CENTER, // center alignment
  ALIGN_RIGHT,  // right alignment
  ASPECT_NONE,  // no aspect compensation
  ALIGN_NONE
};

enum
{
  VALIGN_BOTTOM, // bottom alignment
  VALIGN_CENTER, // center alignment
  VALIGN_TOP,    // top alignment
  VALIGN_NONE
};

enum
{
  ITEM_TEXTSTYLE_NORMAL,          // normal text
  ITEM_TEXTSTYLE_BLINK,           // fast blinking
  ITEM_TEXTSTYLE_PULSE,           // slow pulsing
  ITEM_TEXTSTYLE_SHADOWED,        // drop shadow (need a color for this)
  ITEM_TEXTSTYLE_OUTLINED,        // apparently unimplemented
  ITEM_TEXTSTYLE_OUTLINESHADOWED, // apparently unimplemented
  ITEM_TEXTSTYLE_SHADOWEDMORE,    // drop shadow (need a color for this)
  ITEM_TEXTSTYLE_NEON             // glow (need a color for this)
};

enum
{
  WINDOW_BORDER_NONE,      // no border
  WINDOW_BORDER_FULL,      // full border based on border color (single pixel)
  WINDOW_BORDER_HORZ,      // horizontal borders only
  WINDOW_BORDER_VERT,      // vertical borders only
  WINDOW_BORDER_KCGRADIENT // horizontal border using the gradient bars
};

enum
{
  WINDOW_STYLE_EMPTY,     // no background
  WINDOW_STYLE_FILLED,    // filled with background color
  WINDOW_STYLE_GRADIENT,  // gradient bar based on background color
  WINDOW_STYLE_SHADER,    // use background shader
  WINDOW_STYLE_TEAMCOLOR, // team color
  WINDOW_STYLE_CINEMATIC  // cinematic
};

#define MENU_TRUE                         1     // uh.. true
#define MENU_FALSE                        0     // and false

enum
{
  HUD_VERTICAL,
  HUD_HORIZONTAL
};

// list box element types
enum
{
  LISTBOX_TEXT,
  LISTBOX_IMAGE
};

// list feeders
enum
{
  FEEDER_SERVERS,        // servers
  FEEDER_MAPS,           // all maps available, in graphic format
  FEEDER_ALIENTEAM_LIST, // alien team members
  FEEDER_HUMANTEAM_LIST, // human team members
  FEEDER_TEAM_LIST,      // team members for team voting
  FEEDER_PLAYER_LIST,    // players
  FEEDER_NEWS,           // news
  FEEDER_MODS,           // list of available mods
  FEEDER_DEMOS,          // list of available demo files
  FEEDER_SERVERSTATUS,   // server status
  FEEDER_FINDPLAYER,     // find player
  FEEDER_CINEMATICS,     // cinematics

  FEEDER_TREMTEAMS,            // teams
  FEEDER_TREMALIENCLASSES,     // alien classes
  FEEDER_TREMHUMANITEMS,       // human items
  FEEDER_TREMHUMANARMOURYBUY,  // human buy
  FEEDER_TREMHUMANARMOURYSELL, // human sell
  FEEDER_TREMALIENUPGRADE,     // alien upgrade
  FEEDER_TREMALIENBUILD,       // alien buildables
  FEEDER_TREMHUMANBUILD,       // human buildables
  FEEDER_IGNORE_LIST,          // ignored players
  FEEDER_HELP_LIST,            // help topics
  FEEDER_RESOLUTIONS           // display resolutions
};

// display flags
#define UI_SHOW_FAVORITESERVERS           0x00000001
#define UI_SHOW_NOTFAVORITESERVERS        0x00000002

#define UI_SHOW_VOTEACTIVE                0x00000004
#define UI_SHOW_CANVOTE                   0x00000008
#define UI_SHOW_TEAMVOTEACTIVE            0x00000010
#define UI_SHOW_CANTEAMVOTE               0x00000020

#define UI_SHOW_NOTSPECTATING             0x00000040

// owner draw types
enum
{
  CG_PLAYER_HEALTH,
  CG_PLAYER_HEALTH_CROSS,
  CG_PLAYER_AMMO_VALUE,
  CG_PLAYER_CLIPS_VALUE,
  CG_PLAYER_BUILD_TIMER,
  CG_PLAYER_CREDITS_VALUE,
  CG_PLAYER_CREDITS_VALUE_NOPAD,
  CG_PLAYER_STAMINA,
  CG_PLAYER_STAMINA_1,
  CG_PLAYER_STAMINA_2,
  CG_PLAYER_STAMINA_3,
  CG_PLAYER_STAMINA_4,
  CG_PLAYER_STAMINA_BOLT,
  CG_PLAYER_BOOST_BOLT,
  CG_PLAYER_CLIPS_RING,
  CG_PLAYER_BUILD_TIMER_RING,
  CG_PLAYER_SELECT,
  CG_PLAYER_SELECTTEXT,
  CG_PLAYER_WEAPONICON,
  CG_PLAYER_WALLCLIMBING,
  CG_PLAYER_BOOSTED,
  CG_PLAYER_POISON_BARBS,
  CG_PLAYER_ALIEN_SENSE,
  CG_PLAYER_HUMAN_SCANNER,
  CG_PLAYER_USABLE_BUILDABLE,
  CG_PLAYER_CHARGE_BAR_BG,
  CG_PLAYER_CHARGE_BAR,
  CG_PLAYER_CROSSHAIR,
  CG_PLAYER_LOCATION,
  CG_TEAMOVERLAY,
  CG_PLAYER_CREDITS_FRACTION,

  CG_KILLER,
  CG_SPECTATORS,
  CG_FOLLOW,

// loading screen
  CG_LOAD_LEVELSHOT,
  CG_LOAD_MEDIA,
  CG_LOAD_MEDIA_LABEL,
  CG_LOAD_BUILDABLES,
  CG_LOAD_BUILDABLES_LABEL,
  CG_LOAD_CHARMODEL,
  CG_LOAD_CHARMODEL_LABEL,
  CG_LOAD_OVERALL,
  CG_LOAD_LEVELNAME,
  CG_LOAD_MOTD,
  CG_LOAD_HOSTNAME,

  CG_FPS,
  CG_FPS_FIXED,
  CG_TIMER,
  CG_TIMER_MINS,
  CG_TIMER_SECS,
  CG_SNAPSHOT,
  CG_LAGOMETER,
  CG_SPEEDOMETER,
  CG_PLAYER_CROSSHAIRNAMES,
  CG_STAGE_REPORT_TEXT,
  CG_ALIENS_SCORE_LABEL,
  CG_HUMANS_SCORE_LABEL,
  CG_DEMO_PLAYBACK,
  CG_DEMO_RECORDING,

  CG_CONSOLE,
  CG_TUTORIAL,
  CG_CLOCK,

  UI_NETSOURCE,
  UI_NETMAPPREVIEW,
  UI_NETMAPCINEMATIC,
  UI_SERVERREFRESHDATE,
  UI_SERVERMOTD,
  UI_GLINFO,
  UI_KEYBINDSTATUS,
  UI_SELECTEDMAPPREVIEW,
  UI_SELECTEDMAPNAME,

  UI_TEAMINFOPANE,
  UI_ACLASSINFOPANE,
  UI_AUPGRADEINFOPANE,
  UI_HITEMINFOPANE,
  UI_HBUYINFOPANE,
  UI_HSELLINFOPANE,
  UI_ABUILDINFOPANE,
  UI_HBUILDINFOPANE,
  UI_HELPINFOPANE
};

#endif