summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
authorBen Millwood <thebenmachine@gmail.com>2009-10-03 13:07:07 +0000
committerTim Angus <tim@ngus.net>2013-01-03 00:16:28 +0000
commitdb029f465db66d73cf51cf73786aba9d2d7ecbe0 (patch)
treed160ff6d1594143a8c8847087bf3bcfe58f44ce7 /assets
parent2f1ae66898fd4834d2a0b9cd7634a9b7a228515a (diff)
* Support enum { ITEM, ITEM2 = 100, ITEM3 }; in menu parsers
* Use these enums in ui/menudef.h define lists * Fix a few inaccurate comments in ui/menudef.h
Diffstat (limited to 'assets')
-rw-r--r--assets/ui/menudef.h340
1 files changed, 185 insertions, 155 deletions
diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h
index 116bc590..e834910d 100644
--- a/assets/ui/menudef.h
+++ b/assets/ui/menudef.h
@@ -1,86 +1,113 @@
#ifndef MENUDEF_H
#define MENUDEF_H
-#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 ALIGN_LEFT 0 // left alignment
-#define ALIGN_CENTER 1 // center alignment
-#define ALIGN_RIGHT 2 // right alignment
-#define ASPECT_NONE 3 // no aspect compensation
-
-#define VALIGN_BOTTOM 0 // bottom alignment
-#define VALIGN_CENTER 1 // center alignment
-#define VALIGN_TOP 2 // top 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
+enum
+{
+ 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_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
+};
+
+enum
+{
+ ALIGN_LEFT, // left alignment
+ ALIGN_CENTER, // center alignment
+ ALIGN_RIGHT, // right alignment
+ ASPECT_NONE // no aspect compensation
+};
+
+enum
+{
+ VALIGN_BOTTOM, // bottom alignment
+ VALIGN_CENTER, // center alignment
+ VALIGN_TOP // top alignment
+};
+
+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
-#define HUD_VERTICAL 0
-#define HUD_HORIZONTAL 1
+enum
+{
+ HUD_VERTICAL,
+ HUD_HORIZONTAL
+};
// list box element types
-#define LISTBOX_TEXT 0
-#define LISTBOX_IMAGE 1
+enum
+{
+ LISTBOX_TEXT,
+ LISTBOX_IMAGE
+};
// list feeders
-#define FEEDER_SERVERS 1 // servers
-#define FEEDER_MAPS 2 // all maps available, in graphic format
-#define FEEDER_ALIENTEAM_LIST 3 // red team members
-#define FEEDER_HUMANTEAM_LIST 4 // blue team members
-#define FEEDER_PLAYER_LIST 5 // players
-#define FEEDER_TEAM_LIST 6 // team members for team voting
-#define FEEDER_MODS 7 // team members for team voting
-#define FEEDER_DEMOS 8 // team members for team voting
-#define FEEDER_SERVERSTATUS 9 // server status
-#define FEEDER_FINDPLAYER 10 // find player
-#define FEEDER_CINEMATICS 11 // cinematics
-
-#define FEEDER_TREMTEAMS 12 // teams
-#define FEEDER_TREMALIENCLASSES 13 // alien classes
-#define FEEDER_TREMHUMANITEMS 14 // human items
-#define FEEDER_TREMHUMANARMOURYBUY 15 // human buy
-#define FEEDER_TREMHUMANARMOURYSELL 16 // human sell
-#define FEEDER_TREMALIENUPGRADE 17 // alien upgrade
-#define FEEDER_TREMALIENBUILD 18 // alien buildables
-#define FEEDER_TREMHUMANBUILD 19 // human buildables
-#define FEEDER_IGNORE_LIST 20 // ignored players
-#define FEEDER_HELP_LIST 21 // help topics
-#define FEEDER_RESOLUTIONS 22 // display resolutions
+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_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
@@ -94,90 +121,93 @@
#define UI_SHOW_NOTSPECTATING 0x00000040
// owner draw types
-#define CG_PLAYER_HEALTH 0
-#define CG_PLAYER_HEALTH_CROSS 1
-#define CG_PLAYER_AMMO_VALUE 2
-#define CG_PLAYER_CLIPS_VALUE 3
-#define CG_PLAYER_BUILD_TIMER 4
-#define CG_PLAYER_CREDITS_VALUE 7
-#define CG_PLAYER_CREDITS_VALUE_NOPAD 9
-#define CG_PLAYER_STAMINA 10
-#define CG_PLAYER_STAMINA_1 11
-#define CG_PLAYER_STAMINA_2 12
-#define CG_PLAYER_STAMINA_3 13
-#define CG_PLAYER_STAMINA_4 14
-#define CG_PLAYER_STAMINA_BOLT 15
-#define CG_PLAYER_BOOST_BOLT 16
-#define CG_PLAYER_CLIPS_RING 17
-#define CG_PLAYER_BUILD_TIMER_RING 18
-#define CG_PLAYER_SELECT 19
-#define CG_PLAYER_SELECTTEXT 20
-#define CG_PLAYER_WEAPONICON 21
-#define CG_PLAYER_WALLCLIMBING 22
-#define CG_PLAYER_BOOSTED 23
-#define CG_PLAYER_POISON_BARBS 24
-#define CG_PLAYER_ALIEN_SENSE 25
-#define CG_PLAYER_HUMAN_SCANNER 26
-#define CG_PLAYER_USABLE_BUILDABLE 27
-#define CG_KILLER 28
-#define CG_SPECTATORS 29
-#define CG_FOLLOW 30
+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_PLAYER_CREDITS_FRACTION,
+
+ CG_KILLER,
+ CG_SPECTATORS,
+ CG_FOLLOW,
// loading screen
-#define CG_LOAD_LEVELSHOT 31
-#define CG_LOAD_MEDIA 32
-#define CG_LOAD_MEDIA_LABEL 33
-#define CG_LOAD_BUILDABLES 34
-#define CG_LOAD_BUILDABLES_LABEL 35
-#define CG_LOAD_CHARMODEL 36
-#define CG_LOAD_CHARMODEL_LABEL 37
-#define CG_LOAD_OVERALL 38
-#define CG_LOAD_LEVELNAME 39
-#define CG_LOAD_MOTD 40
-#define CG_LOAD_HOSTNAME 41
-
-#define CG_FPS 42
-#define CG_FPS_FIXED 43
-#define CG_TIMER 44
-#define CG_TIMER_MINS 45
-#define CG_TIMER_SECS 46
-#define CG_SNAPSHOT 47
-#define CG_LAGOMETER 48
-#define CG_PLAYER_CROSSHAIRNAMES 49
-#define CG_STAGE_REPORT_TEXT 50
-#define CG_ALIENS_SCORE_LABEL 51
-#define CG_HUMANS_SCORE_LABEL 52
-#define CG_DEMO_PLAYBACK 53
-#define CG_DEMO_RECORDING 54
-
-#define CG_CONSOLE 55
-#define CG_TUTORIAL 56
-#define CG_CLOCK 57
-
-#define UI_NETSOURCE 58
-#define UI_NETMAPPREVIEW 59
-#define UI_NETMAPCINEMATIC 60
-#define UI_SERVERREFRESHDATE 61
-#define UI_SERVERMOTD 62
-#define UI_GLINFO 63
-#define UI_KEYBINDSTATUS 64
-#define UI_SELECTEDMAPPREVIEW 65
-#define UI_SELECTEDMAPNAME 66
-
-#define UI_TEAMINFOPANE 67
-#define UI_ACLASSINFOPANE 68
-#define UI_AUPGRADEINFOPANE 69
-#define UI_HITEMINFOPANE 70
-#define UI_HBUYINFOPANE 71
-#define UI_HSELLINFOPANE 72
-#define UI_ABUILDINFOPANE 73
-#define UI_HBUILDINFOPANE 74
-#define UI_HELPINFOPANE 75
-
-#define CG_PLAYER_CHARGE_BAR_BG 76
-#define CG_PLAYER_CHARGE_BAR 77
-#define CG_PLAYER_CROSSHAIR 78
-#define CG_PLAYER_LOCATION 79
-#define CG_PLAYER_CREDITS_FRACTION 80
+ 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_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