summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/assets/alien/buildstat.cfg37
-rw-r--r--ui/assets/alien/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--ui/assets/alien/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--ui/assets/alien/buildstat/nopower.tgabin0 -> 21285 bytes
-rw-r--r--ui/assets/alien/buildstat/overlay.tgabin0 -> 25069 bytes
-rw-r--r--ui/assets/human/buildstat.cfg39
-rw-r--r--ui/assets/human/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--ui/assets/human/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--ui/assets/human/buildstat/nopower.tgabin0 -> 19244 bytes
-rw-r--r--ui/drop.menu126
-rw-r--r--ui/ingame.menu115
-rw-r--r--ui/ingame.txt8
-rw-r--r--ui/ingame_game.menu3206
-rw-r--r--ui/ingame_options.menu2180
-rw-r--r--ui/joinserver.menu687
-rw-r--r--ui/main.menu163
-rw-r--r--ui/menudef.h363
-rw-r--r--ui/menus.txt20
-rw-r--r--ui/options.menu287
-rw-r--r--ui/quitcredit.menu430
-rw-r--r--ui/say.menu91
-rw-r--r--ui/teamscore.menu305
-rw-r--r--ui/tremulous.txt21
-rw-r--r--ui/tremulous_alien_builder_hud.menu371
-rw-r--r--ui/tremulous_alien_general_hud.menu360
-rw-r--r--ui/tremulous_default_hud.menu165
-rw-r--r--ui/tremulous_human_hud.menu462
27 files changed, 9436 insertions, 0 deletions
diff --git a/ui/assets/alien/buildstat.cfg b/ui/assets/alien/buildstat.cfg
new file mode 100644
index 0000000..1114302
--- /dev/null
+++ b/ui/assets/alien/buildstat.cfg
@@ -0,0 +1,37 @@
+// config for the building status indicators that builders see
+// NOTES:
+// * all characters (text/icons) are square
+// * character size is derived totally from frameHeight and vertialMargin
+// * healthPadding is NOT used compensated for in the margins
+
+frameShader "ui/assets/alien/buildstat/frame"
+frameWidth 150
+frameHeight 30
+
+healthPadding 2
+healthSevereColor 0.24 0.02 0.02 1
+healthHighColor 0.32 0.04 0.04 1
+healthElevatedColor 0.40 0.06 0.06 1
+healthGuardedColor 0.48 0.08 0.08 1
+healthLowColor 0.56 0.10 0.10 1
+
+// this gets drawn over frame and health, but numbers and icons go on top of it
+overlayShader "ui/assets/alien/buildstat/overlay"
+overlayWidth 156
+overlayHeight 36
+
+// PERCENT of frameHeight to use for top/bottom margin of icons/text
+// value is for total of top and bottom margins
+// valid values between 0.0 and 1.0
+verticalMargin 0.5
+
+// number of CHARS worth of space that should be used for left/right margins
+// value is for one side only
+// char width is determined by frameHeight and verticalMargin
+horizontalMargin 1.0
+
+markedShader "ui/assets/alien/buildstat/mark"
+noPowerShader "ui/assets/alien/buildstat/nopower"
+
+backColor 1.0 1.0 1.0 1
+foreColor 0.0 0.0 0.0 1
diff --git a/ui/assets/alien/buildstat/frame.tga b/ui/assets/alien/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/ui/assets/alien/buildstat/frame.tga
Binary files differ
diff --git a/ui/assets/alien/buildstat/mark.tga b/ui/assets/alien/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/ui/assets/alien/buildstat/mark.tga
Binary files differ
diff --git a/ui/assets/alien/buildstat/nopower.tga b/ui/assets/alien/buildstat/nopower.tga
new file mode 100644
index 0000000..a0c66c2
--- /dev/null
+++ b/ui/assets/alien/buildstat/nopower.tga
Binary files differ
diff --git a/ui/assets/alien/buildstat/overlay.tga b/ui/assets/alien/buildstat/overlay.tga
new file mode 100644
index 0000000..64a2358
--- /dev/null
+++ b/ui/assets/alien/buildstat/overlay.tga
Binary files differ
diff --git a/ui/assets/human/buildstat.cfg b/ui/assets/human/buildstat.cfg
new file mode 100644
index 0000000..9c192de
--- /dev/null
+++ b/ui/assets/human/buildstat.cfg
@@ -0,0 +1,39 @@
+// config for the building status indicators that builders see
+// NOTES:
+// * all characters (text/icons) are square
+// * character size is derived totally from frameHeight and vertialMargin
+// * healthPadding is NOT used compensated for in the margins
+
+frameShader "ui/assets/human/buildstat/frame"
+frameWidth 150
+frameHeight 30
+
+healthPadding 2
+
+// Homeworld Security Advisory System
+healthSevereColor 0.83 0.03 0.02 1
+healthHighColor 0.84 0.48 0.03 1
+healthElevatedColor 0.82 0.82 0.00 1
+healthGuardedColor 0.19 0.65 0.00 1
+healthLowColor 0.27 0.49 0.55 1
+
+// this gets drawn over frame and health, but numbers and icons go on top of it
+overlayShader ""
+overlayWidth 160
+overlayHeight 40
+
+// PERCENT of frameHeight to use for top/bottom margin of icons/text
+// value is for total of top and bottom margins
+// valid values between 0.0 and 1.0
+verticalMargin 0.5
+
+// number of CHARS worth of space that should be used for left/right margins
+// value is for one side only
+// char width is determined by frameHeight and verticalMargin
+horizontalMargin 1.0
+
+markedShader "ui/assets/human/buildstat/mark"
+noPowerShader "ui/assets/human/buildstat/nopower"
+
+backColor 1.0 1.0 1.0 1
+foreColor 0.0 0.0 0.0 1
diff --git a/ui/assets/human/buildstat/frame.tga b/ui/assets/human/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/ui/assets/human/buildstat/frame.tga
Binary files differ
diff --git a/ui/assets/human/buildstat/mark.tga b/ui/assets/human/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/ui/assets/human/buildstat/mark.tga
Binary files differ
diff --git a/ui/assets/human/buildstat/nopower.tga b/ui/assets/human/buildstat/nopower.tga
new file mode 100644
index 0000000..4d70384
--- /dev/null
+++ b/ui/assets/human/buildstat/nopower.tga
Binary files differ
diff --git a/ui/drop.menu b/ui/drop.menu
new file mode 100644
index 0000000..0db2264
--- /dev/null
+++ b/ui/drop.menu
@@ -0,0 +1,126 @@
+#include "ui/menudef.h"
+
+{
+ \\ ERROR \\
+
+ menuDef
+ {
+ name "drop_popmenu"
+ visible 0
+ fullscreen 0
+ rect 158 80 320 320
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onClose { uiScript clearError }
+ onOpen { }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu;
+ open main
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 10 15 300 320
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect 0 50 320 20
+ text "Disconnected:"
+ textalign 1
+ textstyle 6
+ textscale .333
+ textalignx 160
+ textaligny 23
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect 60 80 200 270
+ type ITEM_TYPE_TEXT
+ style 1
+ textstyle 3
+ autowrapped
+ cvar "com_errorMessage"
+ textalign ITEM_ALIGN_CENTER
+ textalignx 100
+ textaligny 23
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+ // BUTTON //
+
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 120 295 35 26
+ textalign 1
+ textalignx 22
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu;
+ open main
+ }
+ }
+
+ itemDef
+ {
+ name reconnect
+ text "Reconnect"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 165 295 55 26
+ textalign 1
+ textalignx 22
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action
+ {
+ close drop_popmenu;
+ exec "reconnect";
+ }
+ }
+ }
+}
+
+
diff --git a/ui/ingame.menu b/ui/ingame.menu
new file mode 100644
index 0000000..13bd1f3
--- /dev/null
+++ b/ui/ingame.menu
@@ -0,0 +1,115 @@
+#include "ui/menudef.h"
+{
+ assetGlobalDef
+ {
+ font "fonts/font" 26 // font
+ smallFont "fonts/smallfont" 20 // font
+ bigFont "fonts/bigfont" 34 // font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ }
+
+
+ \\ INGAME MENU \\
+
+ menuDef
+ {
+ name "ingame"
+ style WINDOW_STYLE_FILLED
+ visible 0
+ fullScreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 0 0 640 48
+ focusColor 1 .75 0 1
+ disableColor .5 .5 .5 1
+ backColor 0 0 0 1
+
+ onEsc
+ {
+ close ingame;
+ }
+
+ itemDef
+ {
+ name splashmodel
+ rect 0 -10 640 66
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_FILLED
+ asset_model "models/splash/splash_screen.md3"
+ model_fovx 32.0
+ model_fovy 3.8
+ model_angle 180
+ visible 1
+ decoration
+ backcolor 0 0 0 1
+ }
+
+ itemdef
+ {
+ name game
+ text "Game"
+ rect 35 6 65 40
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textalign ITEM_ALIGN_CENTER
+ textalignx 32
+ textaligny 28
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_game
+ }
+ }
+
+ itemDef
+ {
+ name options
+ text "Options"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 100 6 70 40
+ textalign ITEM_ALIGN_CENTER
+ textalignx 35
+ textaligny 28
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_options
+ }
+ }
+
+ itemDef
+ {
+ name leave
+ text "Exit"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ //rect 220 6 50 40
+ rect 170 6 50 40
+ textalign ITEM_ALIGN_CENTER
+ textalignx 25
+ textaligny 28
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_leave
+ }
+ }
+ }
+}
diff --git a/ui/ingame.txt b/ui/ingame.txt
new file mode 100644
index 0000000..185ce97
--- /dev/null
+++ b/ui/ingame.txt
@@ -0,0 +1,8 @@
+// menu defs
+//
+{
+ loadMenu { "ui/ingame.menu" }
+ loadMenu { "ui/ingame_game.menu" }
+ loadMenu { "ui/ingame_options.menu" }
+ loadMenu { "ui/ingame_leave.menu" }
+}
diff --git a/ui/ingame_game.menu b/ui/ingame_game.menu
new file mode 100644
index 0000000..0200ed9
--- /dev/null
+++ b/ui/ingame_game.menu
@@ -0,0 +1,3206 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+ menuDef
+ {
+ name "ingame_game"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 292 280
+ focusColor 1 .75 0 1
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadArenas;
+ uiScript loadServerInfo;
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 292 270
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name voteBtn
+ text "Vote"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 35 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name ignoreBtn
+ text "Ignore"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 100 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show ignore;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+ itemDef
+ {
+ name infoBtn
+ text "Info"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 165 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show info;
+
+ setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+
+//////// INFO
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 55 256 20
+ type 4
+ style 0
+ text "Server Name:"
+ cvar ui_serverinfo_hostname
+ maxPaintChars 32
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 70 256 20
+ type 4
+ style 0
+ text "Time Limit:"
+ maxPaintChars 12
+ cvar ui_serverinfo_timelimit
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 85 256 20
+ type 4
+ style 0
+ text "Sudden Death Time:"
+ cvar ui_serverinfo_sd
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 100 256 20
+ type 4
+ style 0
+ text "Max Clients:"
+ cvar ui_serverinfo_maxclients
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 115 256 20
+ type 4
+ style 0
+ text "Map Name:"
+ cvar ui_serverinfo_mapname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 130 256 20
+ type 11
+ style 0
+ text "Lag Correction:"
+ cvar ui_serverinfo_unlagged
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 145 256 20
+ type ITEM_TYPE_MULTI
+ style 0
+ text "Friendly Fire:"
+ cvarFloat ui_serverinfo_ff 0 0 7
+ cvarFloatList { "Off" 0 "Humans Only" 1 "Aliens Only" 2 "Both Teams" 3 "Buildables Only" 4 "Humans and Buildables" 5 "Aliens and Buildables" 6 "Both Teams and Buildables" 7 }
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 160 256 20
+ type 4
+ style 0
+ text "Version:"
+ cvar ui_serverinfo_version
+ maxPaintChars 45
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+//////// VOTE
+
+ //Vote menu
+ itemDef
+ {
+ name vote
+ text "Map"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show mapvote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 85 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Team"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 110 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show vote;
+ }
+ }
+
+///// Map Vote
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style 0
+ ownerdraw UI_STARTMAPCINEMATIC
+ rect 111 61 80 60
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style WINDOW_STYLE_FILLED
+ rect 110 60 82 62
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text ""
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .225
+ rect 200 80 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ rect 110 122 150 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 210 80 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Restart Current Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 230 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "End Match In Draw"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 250 110 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw";
+ uiScript closeingame
+ }
+ }
+
+///// Player Vote
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Selected Player:"
+ ownerdraw UI_PLAYERLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Kick Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Un-Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+
+///// Team Vote
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Selected Teammate:"
+ ownerdraw UI_TEAMLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Kick Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Deny Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Allow Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Admit Defeat"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 235 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ uiScript closeingame
+ }
+ }
+
+//////// IGNORE
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 45 70 40 5
+ text "Player Name"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 190 70 40 5
+ text "Ignored"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 230 70 40 5
+ text "Ignoring You"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 35 75 240 130
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible 0
+ columns 3
+ 2 40 32 ITEM_ALIGN_LEFT
+ 150 15 1 ITEM_ALIGN_LEFT
+ 190 15 1 ITEM_ALIGN_LEFT
+ doubleClick {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 60 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 190 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+ }
+}
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+ menuDef
+ {
+ name "ingame_game"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 292 280
+ focusColor 1 .75 0 1
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadArenas;
+ uiScript loadServerInfo;
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 292 270
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name voteBtn
+ text "Vote"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 35 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name ignoreBtn
+ text "Ignore"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 100 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show ignore;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+ itemDef
+ {
+ name infoBtn
+ text "Info"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 165 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show info;
+
+ setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+
+//////// INFO
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 55 256 20
+ type 4
+ style 0
+ text "Server Name:"
+ cvar ui_serverinfo_hostname
+ maxPaintChars 32
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 70 256 20
+ type 4
+ style 0
+ text "Time Limit:"
+ maxPaintChars 12
+ cvar ui_serverinfo_timelimit
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 85 256 20
+ type 4
+ style 0
+ text "Sudden Death Time:"
+ cvar ui_serverinfo_sd
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 100 256 20
+ type 4
+ style 0
+ text "Max Clients:"
+ cvar ui_serverinfo_maxclients
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 115 256 20
+ type 4
+ style 0
+ text "Map Name:"
+ cvar ui_serverinfo_mapname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 130 256 20
+ type 11
+ style 0
+ text "Lag Correction:"
+ cvar ui_serverinfo_unlagged
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 145 256 20
+ type 11
+ style 0
+ text "Friendly Fire:"
+ cvar ui_serverinfo_ff
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 160 256 20
+ type 4
+ style 0
+ text "Version:"
+ cvar version
+ maxPaintChars 45
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+//////// VOTE
+
+ //Vote menu
+ itemDef
+ {
+ name vote
+ text "Map"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show mapvote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 85 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Team"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 110 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show vote;
+ }
+ }
+
+///// Map Vote
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style 0
+ ownerdraw UI_STARTMAPCINEMATIC
+ rect 111 61 80 60
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style WINDOW_STYLE_FILLED
+ rect 110 60 82 62
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text ""
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .225
+ rect 200 80 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ rect 110 122 150 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 210 80 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Restart Current Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 230 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "End Match In Draw"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 250 110 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw";
+ uiScript closeingame
+ }
+ }
+
+///// Player Vote
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Selected Player:"
+ ownerdraw UI_PLAYERLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Kick Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Un-Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+
+///// Team Vote
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Selected Teammate:"
+ ownerdraw UI_TEAMLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Kick Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Deny Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Allow Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Admit Defeat"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 235 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ uiScript closeingame
+ }
+ }
+
+//////// IGNORE
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 45 70 40 5
+ text "Player Name"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 190 70 40 5
+ text "Ignored"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 230 70 40 5
+ text "Ignoring You"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 35 75 240 130
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible 0
+ columns 3
+ 2 40 32 ITEM_ALIGN_LEFT
+ 150 15 1 ITEM_ALIGN_LEFT
+ 190 15 1 ITEM_ALIGN_LEFT
+ doubleClick {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 60 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 190 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+ }
+}
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+ menuDef
+ {
+ name "ingame_game"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 292 280
+ focusColor 1 .75 0 1
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadArenas;
+ uiScript loadServerInfo;
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 292 270
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name voteBtn
+ text "Vote"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 35 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name ignoreBtn
+ text "Ignore"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 100 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show ignore;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+ itemDef
+ {
+ name infoBtn
+ text "Info"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 165 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show info;
+
+ setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+
+//////// INFO
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 55 256 20
+ type 4
+ style 0
+ text "Server Name:"
+ cvar ui_serverinfo_hostname
+ maxPaintChars 32
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 70 256 20
+ type 4
+ style 0
+ text "Time Limit:"
+ maxPaintChars 12
+ cvar ui_serverinfo_timelimit
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 85 256 20
+ type 4
+ style 0
+ text "Sudden Death Time:"
+ cvar ui_serverinfo_sd
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 100 256 20
+ type 4
+ style 0
+ text "Max Clients:"
+ cvar ui_serverinfo_maxclients
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 115 256 20
+ type 4
+ style 0
+ text "Map Name:"
+ cvar ui_serverinfo_mapname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 130 256 20
+ type 11
+ style 0
+ text "Lag Correction:"
+ cvar ui_serverinfo_unlagged
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 145 256 20
+ type 11
+ style 0
+ text "Friendly Fire:"
+ cvar ui_serverinfo_ff
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 160 256 20
+ type 4
+ style 0
+ text "Version:"
+ cvar version
+ maxPaintChars 45
+ textalign ITEM_ALIGN_RIGHT
+ textaligny 12
+ textalignx 75
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+//////// VOTE
+
+ //Vote menu
+ itemDef
+ {
+ name vote
+ text "Map"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show mapvote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 85 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Team"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 110 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show vote;
+ }
+ }
+
+///// Map Vote
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style 0
+ ownerdraw UI_STARTMAPCINEMATIC
+ rect 111 61 80 60
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style WINDOW_STYLE_FILLED
+ rect 110 60 82 62
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text ""
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .225
+ rect 200 80 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ rect 110 122 150 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 210 80 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Restart Current Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 230 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "End Match In Draw"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 250 110 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw";
+ uiScript closeingame
+ }
+ }
+
+///// Player Vote
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Selected Player:"
+ ownerdraw UI_PLAYERLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Kick Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Un-Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+
+///// Team Vote
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Selected Teammate:"
+ ownerdraw UI_TEAMLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Kick Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Deny Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Allow Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Admit Defeat"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 235 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ uiScript closeingame
+ }
+ }
+
+//////// IGNORE
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 45 70 40 5
+ text "Player Name"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 190 70 40 5
+ text "Ignored"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 230 70 40 5
+ text "Ignoring You"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 35 75 240 130
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible 0
+ columns 3
+ 2 40 32 ITEM_ALIGN_LEFT
+ 150 15 1 ITEM_ALIGN_LEFT
+ 190 15 1 ITEM_ALIGN_LEFT
+ doubleClick {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 60 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 190 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+ }
+}
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+ menuDef
+ {
+ name "ingame_game"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 292 280
+ focusColor 1 .75 0 1
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadArenas;
+ uiScript loadServerInfo;
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 292 270
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name voteBtn
+ text "Vote"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 35 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show vote;
+ show mapvote;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name ignoreBtn
+ text "Ignore"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 100 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show ignore;
+
+ setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+ itemDef
+ {
+ name infoBtn
+ text "Info"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 165 22 40 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show info;
+
+ setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+
+//////// ABOUT
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 55 256 20
+ type 4
+ style 0
+ text "Server Name:"
+ cvar ui_serverinfo_hostname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 70 256 20
+ type 4
+ style 0
+ text "Time Limit:"
+ maxPaintChars 12
+ cvar ui_serverinfo_timelimit
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 85 256 20
+ type 4
+ style 0
+ text "Sudden Death Time:"
+ cvar ui_serverinfo_sd
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 100 256 20
+ type 4
+ style 0
+ text "Max Clients:"
+ cvar ui_serverinfo_maxclients
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 115 256 20
+ type 4
+ style 0
+ text "Map Name:"
+ cvar ui_serverinfo_mapname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 130 256 20
+ type 11
+ style 0
+ text "Lag Correction:"
+ cvar ui_serverinfo_unlagged
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 145 256 20
+ type 11
+ style 0
+ text "Friendly Fire:"
+ cvar ui_serverinfo_ff
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name info
+ group gameGrp
+ rect 30 160 256 20
+ type 4
+ style 0
+ text "Version:"
+ cvar version
+ maxPaintChars 45
+ textalign ITEM_ALIGN_LEFT
+ textalignx 128
+ textaligny 12
+ textalign 1
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+//////// VOTE
+
+ //Vote menu
+ itemDef
+ {
+ name vote
+ text "Map"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show mapvote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 85 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show vote;
+ }
+ }
+
+ itemDef
+ {
+ name vote
+ text "Team"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 110 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show vote;
+ }
+ }
+
+///// Map Vote
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style 0
+ ownerdraw UI_STARTMAPCINEMATIC
+ rect 111 61 80 60
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ style WINDOW_STYLE_FILLED
+ rect 110 60 82 62
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text ""
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .225
+ rect 200 80 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ rect 110 122 150 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 210 80 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "Restart Current Map"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 230 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name mapvote
+ group gameGrp
+ text "End Match In Draw"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 250 110 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw";
+ uiScript closeingame
+ }
+ }
+
+///// Player Vote
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Selected Player:"
+ ownerdraw UI_PLAYERLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Kick Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 90 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name playervote
+ group gameGrp
+ text "Un-Mute Selected Player"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+
+///// Team Vote
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Selected Teammate:"
+ ownerdraw UI_TEAMLIST_SELECTION
+ textscale .225
+ rect 110 60 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ rect 110 80 170 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border 1
+ bordercolor 0.5 0.5 0.5 0.5
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Kick Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 175 100 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Deny Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 195 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Allow Building For Selected Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 215 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamvote
+ group gameGrp
+ text "Admit Defeat"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ rect 110 235 150 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ uiScript closeingame
+ }
+ }
+
+//////// IGNORE
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 45 70 40 5
+ text "Player Name"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 190 70 40 5
+ text "Ignored"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 230 70 40 5
+ text "Ignoring You"
+ visible 0
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 35 75 240 130
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible 0
+ columns 3
+ 2 40 32 ITEM_ALIGN_LEFT
+ 150 15 1 ITEM_ALIGN_LEFT
+ 190 15 1 ITEM_ALIGN_LEFT
+ doubleClick {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 60 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 190 210 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+ }
+}
diff --git a/ui/ingame_options.menu b/ui/ingame_options.menu
new file mode 100644
index 0000000..e0f08aa
--- /dev/null
+++ b/ui/ingame_options.menu
@@ -0,0 +1,2180 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME OPTIONS BOX \\
+
+ menuDef
+ {
+ name "ingame_options"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 292 280
+ focusColor 1 .75 0 1
+ onopen
+ {
+ hide optionsGrp;
+ show game;
+
+ setitemcolor gameBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 292 270
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ //Section menus
+ itemDef
+ {
+ name GameBtn
+ text "Game"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 80 20 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 34
+ textaligny 18
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show game;
+
+ setitemcolor gameBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name controlsBtn
+ text "Controls"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 160 20 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 34
+ textaligny 18
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show look;
+
+ setitemcolor gameBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name systemBtn
+ text "System"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect 230 20 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 34
+ textaligny 18
+ textscale .35
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show ghardware;
+
+ setitemcolor gameBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor systemBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+//////// GAME
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_EDITFIELD
+ style 0
+ text "Name:"
+ cvar "name"
+ maxchars 31
+ maxPaintChars 31
+ rect 50 85 220 15
+ textalign ITEM_ALIGN_LEFT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Auto Download:"
+ cvar "cl_allowDownload"
+ rect 80 115 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Taunts Sounds Off:"
+ cvar "cg_noTaunt"
+ rect 80 130 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Team Chats Only:"
+ cvar "cg_teamChatsOnly"
+ rect 80 145 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Auto Wallwalk Pitching:"
+ cvar "cg_wwFollow"
+ rect 80 160 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Wallwalking Speed:"
+ cvarfloat "cg_wwSmoothTime" 300 0 1000
+ cvarFloatList { "Medium" 300 "Fast" 150 "Instant" 0 "Slow" 600 }
+ rect 80 175 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Wallwalk Control Toggles:"
+ cvar "cg_wwToggle"
+ rect 80 190 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Disable Warning Dialogs:"
+ cvar "cg_disableWarningDialogs"
+ rect 80 205 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Tutorial Mode:"
+ cvar "cg_tutorial"
+ rect 80 220 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Clock:"
+ cvar "cg_drawClock"
+ cvarFloatList { "No" 0 "12 Hour" 1 "24 Hour" 2 }
+ rect 80 235 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name game
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Draw Crosshair:"
+ cvar "cg_drawCrosshair"
+ cvarFloatList { "Never" 0 "Ranged Weapons Only" 1 "Always" 2 }
+ rect 80 250 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// CONTROLS
+
+ //Controls menu
+ itemDef
+ {
+ name controls
+ text "Look"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show look
+ }
+ }
+
+//////// LOOK
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Lookup:"
+ cvar "+lookup"
+ rect 96 85 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Look Down:"
+ cvar "+lookdown"
+ rect 96 100 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Mouse Look:"
+ cvar "+mlook"
+ rect 96 115 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Centerview:"
+ cvar "centerview"
+ rect 96 130 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Free Look:"
+ cvar "cl_freelook"
+ rect 96 145 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect 96 160 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 15
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect 96 180 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update ui_mousePitch
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Smooth Mouse:"
+ cvar "m_filter"
+ rect 96 195 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MOVE
+
+ itemDef
+ {
+ name controls
+ text "Move"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 80 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show move
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Always Run:"
+ cvar "cl_run"
+ rect 96 65 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Run / Walk:"
+ cvar "+speed"
+ rect 96 80 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Sprint:"
+ cvar "boost"
+ rect 96 95 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Forward:"
+ cvar "+forward"
+ rect 96 110 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Backpedal:"
+ cvar "+back"
+ rect 96 125 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Left:"
+ cvar "+moveleft"
+ rect 96 140 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Right:"
+ cvar "+moveright"
+ rect 96 155 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Jump:"
+ cvar "+moveup"
+ rect 96 170 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Crouch:"
+ cvar "+movedown"
+ rect 96 185 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Left:"
+ cvar "+left"
+ rect 96 200 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Right:"
+ cvar "+right"
+ rect 96 215 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name move
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Strafe:"
+ cvar "+strafe"
+ rect 96 230 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+//////// UPGRADES
+
+ itemDef
+ {
+ name controls
+ text "Upgrades"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 100 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show upgrades
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Primary Attack:"
+ cvar "+attack"
+ rect 96 90 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Secondary Attack:"
+ cvar "+button5"
+ rect 96 105 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Previous Upgrade:"
+ cvar "weapprev"
+ rect 96 120 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Next Upgrade:"
+ cvar "weapnext"
+ rect 96 135 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Activate Upgrade:"
+ cvar "+button2"
+ rect 96 150 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Reload:"
+ cvar "reload"
+ rect 96 165 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Buy Ammo:"
+ cvar "buy ammo"
+ rect 96 180 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name upgrades
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Medkit:"
+ cvar "itemact medkit"
+ rect 96 195 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MISC
+
+ itemDef
+ {
+ name controls
+ text "Misc"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 120 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ show misc
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Show Scores:"
+ cvar "+scores"
+ rect 96 65 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Up:"
+ cvar "scoresUp"
+ rect 96 80 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Down:"
+ cvar "scoresDown"
+ rect 96 95 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Structure/Evolve:"
+ cvar "+button7"
+ rect 96 110 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Deconstruct Structure:"
+ cvar "deconstruct"
+ rect 96 125 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Gesture:"
+ cvar "+button3"
+ rect 96 140 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Chat:"
+ cvar "messagemode"
+ rect 96 155 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Chat:"
+ cvar "messagemode2"
+ rect 96 170 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Target Chat:"
+ cvar "messagemode3"
+ rect 96 185 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Attack Chat:"
+ cvar "messagemode4"
+ rect 96 200 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote Yes:"
+ cvar "vote yes"
+ rect 96 215 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote No:"
+ cvar "vote no"
+ rect 96 230 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote Yes:"
+ cvar "teamvote yes"
+ rect 96 245 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote No:"
+ cvar "teamvote no"
+ rect 96 260 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ maxPaintChars 20
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+//////// SYSTEM
+
+ //System menu
+ itemDef
+ {
+ name system
+ text "GFX Hardware"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 60 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show ghardware
+ }
+ }
+
+//////// GFX HARDWARE
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Quality:"
+ cvar "ui_glCustom"
+ cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
+ rect 96 50 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update "ui_glCustom"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_EDITFIELD
+ text "GL Driver:"
+ cvar "r_gldriver"
+ //cvarFloatList { }
+ rect 96 65 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "GL Extensions:"
+ cvar "r_allowExtensions"
+ rect 96 80 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCuston
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Video Mode:"
+ cvar "r_mode"
+ cvarFloatList { "320x240" 0 "400x300" 1 "512x384" 2 "640x480" 3
+ "800x600" 4 "960x720" 5 "1024x768" 6 "1152x864" 7
+ "1280x1024" 8 "1600x1200" 9 "2048x1536" 10 "856x480 wide screen" 11 }
+ rect 96 95 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Color Depth:"
+ cvar "r_colorbits"
+ cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 }
+ rect 96 110 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom;
+ uiScript update "r_colorbits"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Fullscreen:"
+ cvar "r_fullscreen"
+ rect 96 125 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Lighting:"
+ cvar "r_vertexlight"
+ cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 }
+ rect 96 140 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Geometric Detail:"
+ cvar "r_lodbias"
+ cvarFloatList { "High" 0 "Medium" 1 "Low" 2 }
+ rect 96 155 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom;
+ uiScript update "r_lodbias"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Detail:"
+ cvar "r_picmip"
+ cvarFloatList { "Low" 2 "Normal" 1 "High" 0 }
+ rect 96 170 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Quality:"
+ cvar "r_texturebits"
+ cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 }
+ rect 96 185 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Texture Filter:"
+ cvar "r_texturemode"
+ cvarStrList { "Bilinear", "GL_LINEAR_MIPMAP_NEAREST", "Trilinear", "GL_LINEAR_MIPMAP_LINEAR" }
+ rect 96 200 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Anisotropic Filtering:"
+ cvar "r_ext_texture_filter_anisotropic"
+ rect 96 215 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Compress Textures:"
+ cvar "r_ext_compressed_textures "
+ rect 96 230 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY"
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect 144 245 75 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 37
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "vid_restart"
+ }
+ }
+
+//////// GFX SOFTWARE
+
+ itemDef
+ {
+ name system
+ text "GFX Software"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 80 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show gsoftware
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect 96 60 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 80
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Screen Size:"
+ cvarfloat "cg_viewsize" 100 30 100
+ //cvarFloatList { }
+ rect 96 80 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 80
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Simple Items:"
+ cvar "cg_simpleItems"
+ rect 96 100 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Marks On Walls:"
+ cvar "cg_marks"
+ rect 96 115 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Dynamic Lights:"
+ cvar "r_dynamiclight"
+ rect 96 130 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Gun:"
+ cvar "cg_drawGun"
+ rect 96 145 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Low Quality Sky:"
+ cvar "r_fastsky"
+ rect 96 160 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sync Every Frame:"
+ cvar "weapon 5"
+ rect 96 175 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Time:"
+ cvar "cg_drawTimer"
+ rect 96 190 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "In Game Videos:"
+ cvar "r_inGameVideo"
+ rect 96 205 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Depth Sort Particles:"
+ cvar "cg_depthSortParticles"
+ rect 96 220 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Particle Physics:"
+ cvar "cg_bounceParticles"
+ cvarFloatList { "Low Quality" 0 "High Quality" 1 }
+ rect 96 235 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name gsoftware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Light Flares:"
+ cvar "cg_lightFlare"
+ cvarFloatList { "Off" 0 "No Fade" 1 "Timed Fade" 2 "Real Fade" 3 }
+ rect 96 250 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// GL INFO
+
+ itemDef
+ {
+ name system
+ text "GL Info"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 100 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show glinfo
+ }
+ }
+
+ itemDef
+ {
+ name glinfo
+ group optionsGrp
+ rect 104 35 230 230
+ ownerdraw UI_GLINFO
+ textalign 1
+ textscale .15
+ textalignx 0
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+//////// NET & SOUND
+
+ itemDef
+ {
+ name system
+ text "Net & Sound"
+ group optionsGrp
+ style WINDOW_STYLE_EMPTY
+ rect 20 120 64 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 16
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show system;
+ show netsound
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ style 1
+ text "Sound"
+ rect 96 50 192 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 80
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect 96 70 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect 96 90 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 90
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "OpenAL:"
+ cvar "s_useOpenAL"
+ rect 96 120 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Sound Quality:"
+ cvar "s_khz"
+ cvarFloatList { "44 khz (very high)" 44 "22 khz (high)" 22 "11 khz (low)" 11 }
+ rect 96 135 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Doppler Sound:"
+ cvar "s_doppler"
+ rect 96 150 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY"
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect 155 170 75 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 37
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "snd_restart"
+ }
+ }
+
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ style 1
+ text "Network"
+ rect 96 200 192 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 80
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name netsound
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Net Data Rate:"
+ cvar "rate"
+ cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSl" 25000 }
+ rect 96 220 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 100
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+ }
+}
diff --git a/ui/joinserver.menu b/ui/joinserver.menu
new file mode 100644
index 0000000..35439e1
--- /dev/null
+++ b/ui/joinserver.menu
@@ -0,0 +1,687 @@
+#include "ui/menudef.h"
+
+{
+
+ \\ Server Join \\
+
+ menuDef
+ {
+ name "joinserver"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ outOfBoundsClick
+ style 0
+ onOpen
+ {
+ uiScript InitServerList 3;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back;
+ hide grpmessage;
+ uiScript UpdateFilter
+ }
+
+ onEsc { uiScript closeJoin }
+
+ itemDef
+ {
+ name background
+ rect 0 0 640 480
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ // DATE AND MESSAGE OF THE DAY //
+
+ itemDef
+ {
+ name datewindow
+ rect 10 365 265 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ backcolor 0 0 0 .15
+ visible 1
+ }
+
+ itemDef
+ {
+ name messagewindow
+ rect 275 365 355 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ backcolor 0 0 0 .15
+ visible 1
+ }
+
+ itemDef
+ {
+ name refreshdate
+ ownerdraw UI_SERVERREFRESHDATE
+ textscale .33
+ rect 10 365 265 25
+ textalign 0
+ textalignx 10
+ textaligny 20
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name messageoftheday
+ ownerdraw UI_SERVERMOTD
+ textscale .33
+ rect 280 365 345 25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+ // VIEW OPTIONS //
+
+ itemDef
+ {
+ name gametypefield
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_NETSOURCE
+ rect 26 20 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 22
+ textscale .4
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ // BUTTONS //
+
+ itemDef
+ {
+ name refreshSource
+ text "Get New List"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect 190 20 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 22
+ backcolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshServers
+ }
+ }
+
+ itemDef
+ {
+ name refreshFilter
+ text "Refresh List"
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_BUTTON
+ rect 354 20 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 22
+ backcolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name viewEmpty
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Empty:"
+ cvar "ui_browserShowEmpty"
+ textscale .4
+ rect 26 50 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 22
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name viewFull
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Full:"
+ cvar "ui_browserShowFull"
+ textscale .4
+ rect 190 50 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 22
+ forecolor 1 1 1 1
+ backcolor .5 .5 .5 .5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+
+ // map selection
+
+ itemDef
+ {
+ name mappreview
+ style 0
+ ownerdraw UI_NETMAPCINEMATIC
+ rect 502 5 128 96
+ border 1
+ bordercolor 0 .5 0 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name mappreview
+ style WINDOW_STYLE_FILLED
+ rect 502 5 128 96
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 1
+ }
+
+ // COLUMNS //
+
+ itemDef
+ {
+ name serverColumn
+ group grpColumn
+ rect 10 130 365 232
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name mapColumn
+ group grpColumn
+ rect 375 130 125 232
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name playerColumn
+ group grpColumn
+ rect 500 130 60 232
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name pingColumn
+ group grpColumn
+ rect 560 130 52 232
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name serverlist
+ rect 10 130 620 232
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERS
+ border 1
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ columns 4
+ 2 40 80 ITEM_ALIGN_LEFT
+ 375 40 20 ITEM_ALIGN_LEFT
+ 500 5 10 ITEM_ALIGN_LEFT
+ 560 20 20 ITEM_ALIGN_LEFT
+
+ doubleClick { uiScript JoinServer }
+ }
+
+
+ // SORT TABS //
+
+ itemDef
+ {
+ name server
+ group grpTabs
+ text "Server Name"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect 10 103 365 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 18
+ border 1
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 0;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor serverColumn backcolor 0.3 1 1 0.5
+ }
+ }
+
+ itemDef
+ {
+ name map
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Map Name"
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect 375 103 125 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 18
+ border 1
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 1;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor mapColumn backcolor 0.3 1 1 0.5
+ }
+ }
+
+ itemDef
+ {
+ name Players
+ group grpTabs
+ text "Players"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect 500 103 60 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 18
+ border 1
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 2;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor playerColumn backcolor 0.3 1 1 0.5
+ }
+ }
+
+
+ itemDef
+ {
+ name Ping
+ group grpTabs
+ text "Ping"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_EMPTY
+ rect 560 103 70 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 18
+ border 1
+ bordercolor 0.5 0.5 0.5 1
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 3;
+
+ setitemcolor grpColumn backcolor 0 0 0 0;
+ setitemcolor pingColumn backcolor 0.3 1 1 0.5
+ }
+ }
+
+
+ itemDef
+ {
+ name password
+ text "Password"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 20 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open password_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name createFavorite
+ text "New Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 148 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name addFavorite
+ text "Add Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS
+ rect 276 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript addFavorite
+ }
+ }
+
+ itemDef
+ {
+ name delfavorite
+ text "Del. Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ rect 276 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript DeleteFavorite;
+ uiScript UpdateFilter
+ }
+ }
+
+ itemDef
+ {
+ name serverinfo
+ text "Server Info"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 404 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open serverinfo_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name findplayer
+ text "Find Friend"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 532 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 22
+ backcolor 0 0 0 1
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open findplayer_popmenu
+ }
+ }
+
+
+
+ itemDef
+ {
+ name createServer
+ text "Create Server"
+ textscale .5
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_BUTTON
+ rect 254 436 128 26
+ textalign ITEM_ALIGN_LEFT
+ textalignx 10
+ textaligny 24
+ backcolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close joinserver;
+ open createserver
+ }
+ }
+
+
+ // BACK BAR //
+
+ itemDef
+ {
+ name back
+ style 3
+ background "ui/assets/backarrow.tga"
+ rect 16 424 50 50
+ visible 1
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver;
+ open main
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect 16 424 50 50
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+
+ text "Back"
+ textalign ITEM_ALIGN_LEFT
+ textaligny 36
+ textalignx 60
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver;
+ open main
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style 3
+ rect 574 424 50 50
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect 574 424 50 50
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+
+ text "Join"
+ textalign ITEM_ALIGN_LEFT
+ textaligny 36
+ textalignx -55
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+ }
+}
diff --git a/ui/main.menu b/ui/main.menu
new file mode 100644
index 0000000..488fe69
--- /dev/null
+++ b/ui/main.menu
@@ -0,0 +1,163 @@
+#include "ui/menudef.h"
+
+{
+ assetGlobalDef
+ {
+ font "fonts/font" 26 // font
+ smallFont "fonts/smallfont" 20 // font
+ bigFont "fonts/bigfont" 34 // font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ }
+
+
+
+
+
+ menuDef
+ {
+ name main
+ fullScreen MENU_TRUE
+ rect 0 0 640 480 // Size and position of the menu
+ visible MENU_TRUE // Visible on open
+ focusColor 1 .75 0 1 // Menu focus color for text and items
+
+ onOpen { uiScript stopRefresh ; playlooped "sound/ui/heartbeat.wav" }
+ onESC { open quit_popmenu }
+
+ itemDef
+ {
+ name background
+ rect 0 0 640 480
+ style WINDOW_STYLE_SHADER
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+ background "ui/assets/mainmenu.jpg"
+ }
+
+ itemDef
+ {
+ name splashmodel
+ rect 0 0 640 480
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_EMPTY
+ asset_model "models/splash/splash_screen.md3"
+ model_fovx 32.0
+ model_fovy 24.0
+ model_angle 180
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Play"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 20 128 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 20
+ textscale .416
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close main;
+ open joinserver
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Options"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect 472 40 128 20
+ textalignx 128
+ textaligny 20
+ textalign ITEM_ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open simple_options
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Mods"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect 472 60 128 20
+ textalignx 128
+ textaligny 20
+ textalign ITEM_ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open mod
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Quit"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 80 128 20
+ textalignx 128
+ textaligny 20
+ textscale .416
+ textalign ITEM_ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open quit_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name copyright
+ text "Tremulous (C) 2005-2006 darklegion development"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .25
+ rect 0 440 640 40
+ textalign 1
+ textaligny 32
+ textalignx 320
+ forecolor .75 .75 .75 .75
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/ui/menudef.h b/ui/menudef.h
new file mode 100644
index 0000000..dbd0996
--- /dev/null
+++ b/ui/menudef.h
@@ -0,0 +1,363 @@
+
+#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_SAYFIELD 5 // the chat field
+#define ITEM_TYPE_COMBO 6 // drop down list
+#define ITEM_TYPE_LISTBOX 7 // scrollable list
+#define ITEM_TYPE_MODEL 8 // model
+#define ITEM_TYPE_OWNERDRAW 9 // owner draw, name specs what it is
+#define ITEM_TYPE_NUMERICFIELD 10 // editable text, associated with a cvar
+#define ITEM_TYPE_SLIDER 11 // mouse speed, volume, etc.
+#define ITEM_TYPE_YESNO 12 // yes no cvar setting
+#define ITEM_TYPE_MULTI 13 // multiple list setting, enumerated
+#define ITEM_TYPE_BIND 14 // 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
diff --git a/ui/menus.txt b/ui/menus.txt
new file mode 100644
index 0000000..3fa3dcf
--- /dev/null
+++ b/ui/menus.txt
@@ -0,0 +1,20 @@
+// menu defs
+//
+{
+ loadMenu { "ui/main.menu" }
+ loadMenu { "ui/joinserver.menu" }
+ loadMenu { "ui/options.menu" }
+ loadMenu { "ui/createserver.menu" }
+ loadMenu { "ui/mod.menu" }
+ loadMenu { "ui/credit.menu" }
+ loadMenu { "ui/connect.menu" }
+ loadMenu { "ui/password.menu" }
+ loadMenu { "ui/quit.menu" }
+ loadMenu { "ui/addfilter.menu" }
+ loadMenu { "ui/error.menu" }
+ loadMenu { "ui/drop.menu" }
+ loadMenu { "ui/serverinfo.menu" }
+ loadMenu { "ui/findplayer.menu" }
+ loadMenu { "ui/quitcredit.menu" }
+ loadMenu { "ui/createfavorite.menu" }
+}
diff --git a/ui/options.menu b/ui/options.menu
new file mode 100644
index 0000000..c6cc01c
--- /dev/null
+++ b/ui/options.menu
@@ -0,0 +1,287 @@
+#include "ui/menudef.h"
+
+{
+ \\ FRONT END OPTIONS BOX \\
+
+ menuDef
+ {
+ name "simple_options"
+ visible 0
+ fullscreen 0
+ rect 200 80 240 320
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onEsc
+ {
+ close simple_options;
+ open main
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 240 320
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_EDITFIELD
+ style 0
+ text "Name:"
+ cvar "name"
+ maxchars 26
+ rect 50 20 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_MULTI
+ text "Video Quality:"
+ cvar "ui_glCustom"
+ cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
+ rect 50 45 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update "ui_glCustom"
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_MULTI
+ text "Video Mode:"
+ cvar "r_mode"
+ cvarFloatList { "320x240" 0 "400x300" 1 "512x384" 2 "640x480" 3
+ "800x600" 4 "960x720" 5 "1024x768" 6 "1152x864" 7
+ "1280x1024" 8 "1600x1200" 9 "2048x1536" 10 "856x480 wide screen" 11 }
+ rect 50 60 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Video Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect 50 75 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect 50 110 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect 50 130 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "OpenAL Sound:"
+ cvar "s_useOpenAL"
+ rect 50 145 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect 50 175 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect 50 190 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update ui_mousePitch
+ }
+ }
+
+
+
+ itemDef
+ {
+ type ITEM_TYPE_MULTI
+ text "Network Connection:"
+ cvar "rate"
+ cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSl" 25000 }
+ rect 50 220 192 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ type ITEM_TYPE_YESNO
+ text "Allow Auto Download:"
+ cvar "cl_allowDownload"
+ rect 50 235 192 15
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 64
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ text "APPLY"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect 95 255 30 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 15
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "snd_restart" // includes vid_restart
+ }
+ }
+
+ itemDef
+ {
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect 125 255 20 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 10
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close simple_options;
+ }
+ }
+
+
+ itemDef
+ {
+ text "For further options please use the in-game options menu"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .25
+ rect 0 300 240 40
+ textalign ITEM_ALIGN_CENTER
+ textaligny 0
+ textalignx 120
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/ui/quitcredit.menu b/ui/quitcredit.menu
new file mode 100644
index 0000000..679d6a8
--- /dev/null
+++ b/ui/quitcredit.menu
@@ -0,0 +1,430 @@
+#include "ui/menudef.h"
+
+{
+ \\ QUIT CREDIT \\
+
+ menuDef
+ {
+ name "quitCredit"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ style 1
+ border 0
+ onEsc
+ {
+ uiScript "quit"
+ }
+
+ itemDef
+ {
+ name exitclickbox
+ style WINDOW_STYLE_SHADER
+ rect 0 0 640 480
+ type ITEM_TYPE_BUTTON
+ visible 1
+ backcolor 0 0 0 1
+ background "ui/assets/credits_splash.jpg"
+ action
+ {
+ close quitCredit;
+ uiScript "quit"
+ }
+ }
+
+ itemDef
+ {
+ name topstripe
+ style WINDOW_STYLE_FILLED
+ rect -5 -5 645 64
+ visible 1
+ backcolor 0 0 0 1
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.5
+ borderColor 1 0 0 1
+ }
+
+ itemDef
+ {
+ name bottomstripe
+ style WINDOW_STYLE_FILLED
+ rect -5 416 645 485
+ visible 1
+ backcolor 0 0 0 1
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.5
+ borderColor 1 0 0 1
+ }
+
+ itemDef
+ {
+ name "creditstitle"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 320 48 1 1
+ textalign ITEM_ALIGN_CENTER
+ textalignx 0
+ textaligny 0
+ textscale 0.75
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "CREDITS"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit1left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 96 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Tim 'Timbo' Angus"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit1right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 96 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Programming and Direction"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit2left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 128 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Nick 'jex' Jansens"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit2right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 128 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping, texturing and 2D artwork"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit3left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 160 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Robin 'OverFlow' Marshall"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit3right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 160 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling, animation and mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit4left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 192 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Jan 'Stannum' van der Weg"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit4right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 192 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Texturing and mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit5left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 224 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mike 'Veda' McInerney"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit5right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 224 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling, animation and texturing"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit6left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 256 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Gordon 'Godmil' Miller"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit6right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 256 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit7left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 288 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "'Who-[Soup]'"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit7right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 288 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit8left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 320 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Tristan 'jhrx' Blease"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit8right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 320 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Mapping"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit9left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 352 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Paul 'MoP' Greveson"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit9right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 352 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Modelling and texturing"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "credit10left"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 10 384 1 1
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Chris 'Dolby' McCarthy"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "credit10right"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 630 384 1 1
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 10
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ text "Sound"
+ forecolor 1 1 1 1
+ backcolor 0 1 0 1
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/ui/say.menu b/ui/say.menu
new file mode 100644
index 0000000..f6de3f9
--- /dev/null
+++ b/ui/say.menu
@@ -0,0 +1,91 @@
+#include "ui/menudef.h"
+
+{
+
+#define BORDER 10
+
+#define X BORDER
+#define Y BORDER
+//#define W (600-(2*BORDER))
+//#define H (480-(2*BORDER))
+#define W 580
+#define H 460
+
+ // Say to All
+ menuDef
+ {
+ name say
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ rect X Y W H
+ //aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field;
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Say:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ //rect 0 0 W H
+ rect 0 230 W 20
+ //textalign ALIGN_LEFT
+ //textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible MENU_TRUE
+ onTextEntry
+ {
+ uiScript Say;
+ close say;
+ }
+ }
+ }
+
+ // Say to Team
+ menuDef
+ {
+ name say_team
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ rect X Y W H
+ //aspectBias ALIGN_LEFT
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ onOpen
+ {
+ setfocus say_field
+ }
+
+ itemDef
+ {
+ name say_field
+ type ITEM_TYPE_SAYFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Say to team:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ //rect 0 0 W H
+ rect 0 230 W 20
+ //textalign ALIGN_LEFT
+ //textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .4
+ forecolor 0.93 0.93 0.92 1
+ visible MENU_TRUE
+ onTextEntry
+ {
+ uiScript Say;
+ close say_team;
+ }
+ }
+ }
+}
diff --git a/ui/teamscore.menu b/ui/teamscore.menu
new file mode 100644
index 0000000..a0dad01
--- /dev/null
+++ b/ui/teamscore.menu
@@ -0,0 +1,305 @@
+#include "ui/menudef.h"
+
+{
+ \\ score_menu \\
+
+ menuDef
+ {
+ name "teamscore_menu"
+ visible 0
+ fullscreen 0
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ style 0
+ border 1
+
+ // GAMETYPE BAR //
+
+ // TEAM NAME //
+
+ itemDef
+ {
+ name teamNameWindow
+ rect 14 78 612 30
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name alienteamname
+ text "Aliens"
+ textalign ITEM_ALIGN_LEFT
+ textscale .5
+ textaligny 26
+ rect 20 78 306 23
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ }
+
+ itemDef
+ {
+ name stagereport
+ align ITEM_ALIGN_CENTER
+ textscale 0.4
+ textaligny 24
+ rect 14 78 612 23
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ ownerdraw CG_STAGE_REPORT_TEXT
+ }
+
+ itemDef
+ {
+ name humanteamname
+ text "Humans"
+ textalign ITEM_ALIGN_RIGHT
+ textscale .5
+ textaligny 26
+ rect 620 78 0 23
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ }
+
+ // TEAM BARS //
+
+ itemDef
+ {
+ name leftteambar
+ rect 14 112 307 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name rightteambar
+ rect 320 112 306 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+
+ // TEAM HEADINGS //
+
+ itemDef
+ {
+ name leftteamheadings
+ text "Status Name Kills Time Ping"
+ textscale .25
+ style 0
+ rect 25 112 128 30
+ textalign 0
+ textalignx 0 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 18
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible 1
+ }
+
+ itemDef
+ {
+ name rightteamheadings
+ text "Status Name Kills Time Ping"
+ textscale .25
+ style 0
+ rect 331 112 128 30
+ textalign 0
+ textalignx 0 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 18
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible 1
+ }
+
+
+ // GRADIENT BACKGROUNDS //
+
+ itemDef
+ {
+ name window
+ rect 320 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 300 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 606 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+
+ // LIST //
+
+ itemDef
+ {
+ name leftlist
+ rect 14 136 306 222
+ forecolor .75 .75 .75 1
+ visible 1
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALIENTEAM_LIST
+ notselectable
+ columns 7
+ 5 15 1 ITEM_ALIGN_LEFT
+ 21 15 1 ITEM_ALIGN_LEFT
+ 7 30 5 ITEM_ALIGN_LEFT
+ 45 100 24 ITEM_ALIGN_LEFT
+ 172 20 4 ITEM_ALIGN_RIGHT
+ 209 20 4 ITEM_ALIGN_RIGHT
+ 247 20 4 ITEM_ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name rightlist
+ rect 320 136 306 222
+ forecolor 1 1 1 1
+ visible 1
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HUMANTEAM_LIST
+ notselectable
+ columns 7
+ 5 15 1 ITEM_ALIGN_LEFT
+ 21 15 1 ITEM_ALIGN_LEFT
+ 7 30 5 ITEM_ALIGN_LEFT
+ 45 100 24 ITEM_ALIGN_LEFT
+ 172 20 4 ITEM_ALIGN_RIGHT
+ 209 20 4 ITEM_ALIGN_RIGHT
+ 247 20 4 ITEM_ALIGN_RIGHT
+ }
+
+
+ // PLAYER LIST BORDER //
+
+ itemDef
+ {
+ name window
+ rect 14 141 612 221
+ style WINDOW_STYLE_EMPTY
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+
+ // spectators //
+
+ itemDef
+ {
+ name window
+ rect 14 366 612 24
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 .7
+ backcolor 0 0 0 .5
+ textscale .33
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ text "Spectating:"
+ textaligny 20
+ rect 19 366 82 24
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ textalignx 3
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 100 366 520 24
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ visible 1
+ ownerdraw CG_SPECTATORS
+ decoration
+ }
+
+ // WINNAR //
+
+ itemDef
+ {
+ name winner
+ rect 310 400 612 40
+ type 4
+ style 0
+ text ""
+ cvar ui_winner
+ maxPaintChars 24
+ textalign ITEM_ALIGN_CENTER
+ textaligny 20
+ textscale .5
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ }
+}
diff --git a/ui/tremulous.txt b/ui/tremulous.txt
new file mode 100644
index 0000000..4e094ad
--- /dev/null
+++ b/ui/tremulous.txt
@@ -0,0 +1,21 @@
+// menu defs
+//
+{
+ loadMenu { "ui/tremulous_teamselect.menu" }
+ loadMenu { "ui/tremulous_alienclass.menu" }
+ loadMenu { "ui/tremulous_humanitem.menu" }
+
+ loadMenu { "ui/tremulous_alienbuild.menu" }
+ loadMenu { "ui/tremulous_humanbuild.menu" }
+
+ loadMenu { "ui/tremulous_humanarmoury.menu" }
+
+ loadMenu { "ui/tremulous_humandialogs.menu" }
+ loadMenu { "ui/tremulous_aliendialogs.menu" }
+
+ loadMenu { "ui/tremulous_alienupgrade.menu" }
+
+ loadMenu { "ui/ptrc.menu" }
+
+ loadMenu { "ui/say.menu" }
+}
diff --git a/ui/tremulous_alien_builder_hud.menu b/ui/tremulous_alien_builder_hud.menu
new file mode 100644
index 0000000..bf75327
--- /dev/null
+++ b/ui/tremulous_alien_builder_hud.menu
@@ -0,0 +1,371 @@
+#include "ui/menudef.h"
+
+// team menu
+//
+// defines from ui_shared.h
+
+{
+ menuDef
+ {
+ name "alien_builder_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 640 480
+
+ //CONSOLE
+ itemDef
+ {
+ name "console"
+ rect 8 8 560 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CONSOLE
+ }
+
+ //TUTORIAL
+ itemDef
+ {
+ name "tutorial"
+ rect 8 250 640 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 0.35
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TUTORIAL
+ }
+
+ //LAGOMETER
+ itemDef
+ {
+ name "lagometer"
+ rect 596 68 32 20
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_LAGOMETER
+ }
+
+ //DEMO STATE
+ itemDef
+ {
+ name "demoRecording"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+ }
+ itemDef
+ {
+ name "demoPlayback"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+ }
+
+ //SELECT
+ itemDef
+ {
+ name "select"
+ rect 240 435 160 32
+ visible 0
+ decoration
+ ownerdraw CG_PLAYER_SELECT
+ }
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT RING CIRCLE
+ itemDef
+ {
+ name "left-ring-circle"
+ rect 47.5 410 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //LEFT ARM
+ itemDef
+ {
+ name "left-arm"
+ rect 77 404.75 104 52.5
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/left-arm.tga"
+ }
+
+ //LEFT ARM CIRCLE
+ itemDef
+ {
+ name "left-arm-circle"
+ rect 150 417.5 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT RING CIRCLE
+ itemDef
+ {
+ name "right-ring-circle"
+ rect 567 410 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT ARM
+ itemDef
+ {
+ name "right-arm"
+ rect 459 404.75 104 52.5
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/right-arm.tga"
+ }
+
+ ///////////////////
+ //DYNAMIC OBJECTS//
+ ///////////////////
+
+ //BOLT
+ itemDef
+ {
+ name "bolt"
+ rect 52.5 412.5 15 20
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/bolt.tga"
+ ownerdraw CG_PLAYER_BOOST_BOLT
+ }
+
+ //CROSS
+ itemDef
+ {
+ name "cross"
+ rect 155 422.5 15 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/cross.tga"
+ }
+
+ //LEFT RING
+ itemDef
+ {
+ name "left-ring"
+ rect 7.25 369.5 90.5 106
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/left-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+ }
+
+ //LEFT SPIKES
+ itemDef
+ {
+ name "left-spikes"
+ rect 18.5 381 59 83
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ background "ui/assets/alien/left-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+ }
+
+ //RIGHT RING
+ itemDef
+ {
+ name "right-ring"
+ rect 542.25 369.5 90.5 106
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/right-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+ }
+
+ //RIGHT SPIKES
+ itemDef
+ {
+ name "right-spikes"
+ rect 562.5 381 59 83
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ background "ui/assets/alien/right-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+ }
+
+ //HEALTH
+ itemDef
+ {
+ name "health"
+ rect 78.5 421.5 60 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_HEALTH
+ }
+
+ //ALIEN CLASS ICON
+ itemDef
+ {
+ name "alien-icon"
+ rect 465 417.5 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.6
+ ownerdraw CG_PLAYER_WEAPONICON
+ }
+
+ //ORGANS
+ itemDef
+ {
+ name "organs"
+ rect 570.5 415.95 15 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_CREDITS_VALUE_NOPAD
+ }
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 567 410 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //BUILD POINTS
+ itemDef
+ {
+ name "build-points"
+ rect 483.5 421.5 60 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+
+ //FPS
+ itemDef
+ {
+ name "fps"
+ rect 572 8 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+ }
+
+ //TIMER
+ itemDef
+ {
+ name "timer"
+ rect 572 38 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+ }
+
+ //CLOCK
+ itemDef
+ {
+ name "clock"
+ rect 572 90 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+ }
+
+ //ALIENSENSE
+ itemDef
+ {
+ name "aliensense"
+ rect 20 20 600 400
+ visible 1
+ decoration
+ ownerdraw CG_PLAYER_ALIEN_SENSE
+ }
+
+ //PLAYER NAME
+ itemDef
+ {
+ name "playername"
+ rect 200 275 240 25
+ visible 1
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ }
+ }
+}
diff --git a/ui/tremulous_alien_general_hud.menu b/ui/tremulous_alien_general_hud.menu
new file mode 100644
index 0000000..cc81600
--- /dev/null
+++ b/ui/tremulous_alien_general_hud.menu
@@ -0,0 +1,360 @@
+#include "ui/menudef.h"
+
+// team menu
+//
+// defines from ui_shared.h
+
+{
+ menuDef
+ {
+ name "alien_general_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 640 480
+
+ //CONSOLE
+ itemDef
+ {
+ name "console"
+ rect 8 8 560 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CONSOLE
+ }
+
+ //TUTORIAL
+ itemDef
+ {
+ name "tutorial"
+ rect 8 250 640 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 0.35
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TUTORIAL
+ }
+
+ //LAGOMETER
+ itemDef
+ {
+ name "lagometer"
+ rect 596 68 32 20
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_LAGOMETER
+ }
+
+ //DEMO STATE
+ itemDef
+ {
+ name "demoRecording"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+ }
+ itemDef
+ {
+ name "demoPlayback"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+ }
+
+ //SELECT
+ itemDef
+ {
+ name "select"
+ rect 240 435 160 32
+ visible 0
+ decoration
+ ownerdraw CG_PLAYER_SELECT
+ }
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT RING CIRCLE
+ itemDef
+ {
+ name "left-ring-circle"
+ rect 47.5 410 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //LEFT ARM
+ itemDef
+ {
+ name "left-arm"
+ rect 77 404.75 104 52.5
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/left-arm.tga"
+ }
+
+ //LEFT ARM CIRCLE
+ itemDef
+ {
+ name "left-arm-circle"
+ rect 150 417.5 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT RING CIRCLE
+ itemDef
+ {
+ name "right-ring-circle"
+ rect 567 410 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT ARM
+ itemDef
+ {
+ name "right-arm"
+ rect 459 404.75 104 52.5
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/alien/right-arm.tga"
+ }
+
+ ///////////////////
+ //DYNAMIC OBJECTS//
+ ///////////////////
+
+ //BLOB
+ itemDef
+ {
+ name "blob"
+ rect 479 419 57 18
+ visible 1
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/tremublob.tga"
+ ownerdraw CG_PLAYER_POISON_BARBS
+ }
+
+ //BOLT
+ itemDef
+ {
+ name "bolt"
+ rect 52.5 412.5 15 20
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/bolt.tga"
+ ownerdraw CG_PLAYER_BOOST_BOLT
+ }
+
+ //CROSS
+ itemDef
+ {
+ name "cross"
+ rect 155 422.5 15 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/cross.tga"
+ }
+
+ //LEFT RING
+ itemDef
+ {
+ name "left-ring"
+ rect 7.25 369.5 90.5 106
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/left-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+ }
+
+ //LEFT SPIKES
+ itemDef
+ {
+ name "left-spikes"
+ rect 18.5 381 59 83
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ background "ui/assets/alien/left-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+ }
+
+ //RIGHT RING
+ itemDef
+ {
+ name "right-ring"
+ rect 542.25 369.5 90.5 106
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/right-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+ }
+
+ //RIGHT SPIKES
+ itemDef
+ {
+ name "right-spikes"
+ rect 562.5 381 59 83
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ background "ui/assets/alien/right-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+ }
+
+ //HEALTH
+ itemDef
+ {
+ name "health"
+ rect 78.5 421.5 60 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_HEALTH
+ }
+
+ //ALIEN CLASS ICON
+ itemDef
+ {
+ name "alien-icon"
+ rect 465 417.5 25 25
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 0.6
+ ownerdraw CG_PLAYER_WEAPONICON
+ }
+
+ //ORGANS
+ itemDef
+ {
+ name "organs"
+ rect 570.5 415.95 15 15
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_CREDITS_VALUE_NOPAD
+ }
+
+ //FPS
+ itemDef
+ {
+ name "fps"
+ rect 572 8 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+ }
+
+ //TIMER
+ itemDef
+ {
+ name "timer"
+ rect 572 38 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+ }
+
+ //CLOCK
+ itemDef
+ {
+ name "clock"
+ rect 572 90 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1.0 0.0 0.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+ }
+
+ //ALIENSENSE
+ itemDef
+ {
+ name "aliensense"
+ rect 20 20 600 400
+ visible 1
+ decoration
+ ownerdraw CG_PLAYER_ALIEN_SENSE
+ }
+
+ //PLAYER NAME
+ itemDef
+ {
+ name "playername"
+ rect 200 275 240 25
+ visible 1
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ }
+ }
+}
diff --git a/ui/tremulous_default_hud.menu b/ui/tremulous_default_hud.menu
new file mode 100644
index 0000000..0eed640
--- /dev/null
+++ b/ui/tremulous_default_hud.menu
@@ -0,0 +1,165 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "default_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 640 480
+
+ //CONSOLE
+ itemDef
+ {
+ name "console"
+ rect 8 8 560 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CONSOLE
+ }
+
+ //TUTORIAL
+ itemDef
+ {
+ name "tutorial"
+ rect 8 250 640 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 0.35
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TUTORIAL
+ }
+
+ //FPS
+ itemDef
+ {
+ name "fps"
+ rect 572 8 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+ }
+ //TIMER
+ itemDef
+ {
+ name "timer"
+ rect 572 38 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+ }
+ //CLOCK
+ itemDef
+ {
+ name "clock"
+ rect 572 90 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+ }
+
+ //SNAPSHOT
+ itemDef
+ {
+ name "snapshot"
+ rect 8 196 200 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_SNAPSHOT
+ }
+ //LAGOMETER
+ itemDef
+ {
+ name "lagometer"
+ rect 596 68 32 20
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_LAGOMETER
+ }
+ //DEMO STATE
+ itemDef
+ {
+ name "demoRecording"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+ }
+ itemDef
+ {
+ name "demoPlayback"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+ }
+
+ //PLAYER NAME
+ itemDef
+ {
+ name "playername"
+ rect 200 275 240 25
+ visible 1
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ }
+ }
+}
diff --git a/ui/tremulous_human_hud.menu b/ui/tremulous_human_hud.menu
new file mode 100644
index 0000000..8fe0095
--- /dev/null
+++ b/ui/tremulous_human_hud.menu
@@ -0,0 +1,462 @@
+#include "ui/menudef.h"
+
+// team menu
+//
+// defines from ui_shared.h
+
+{
+ menuDef
+ {
+ name "human_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 640 480
+
+ //CONSOLE
+ itemDef
+ {
+ name "console"
+ rect 8 8 560 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CONSOLE
+ }
+
+ //TUTORIAL
+ itemDef
+ {
+ name "tutorial"
+ rect 8 250 640 180
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 0.35
+ align ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TUTORIAL
+ }
+
+ //LAGOMETER
+ itemDef
+ {
+ name "lagometer"
+ rect 596 68 32 20
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 0 0.8 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_LAGOMETER
+ }
+
+ //DEMO STATE
+ itemDef
+ {
+ name "demoRecording"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+ }
+ itemDef
+ {
+ name "demoPlayback"
+ rect 596 120 32 32
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ textalignx 1
+ textaligny 0.5
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+ }
+
+ //FPS
+ itemDef
+ {
+ name "fps"
+ rect 572 8 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+ }
+
+ //TIMER
+ itemDef
+ {
+ name "timer"
+ rect 572 38 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+ }
+
+ //CLOCK
+ itemDef
+ {
+ name "clock"
+ rect 572 90 56 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+ }
+
+ //SNAPSHOT
+ itemDef
+ {
+ name "snapshot"
+ rect 8 196 200 22
+ style WINDOW_STYLE_EMPTY
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ align ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 18
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_SNAPSHOT
+ }
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT CIRCLE
+ itemDef
+ {
+ name "left-circle"
+ rect 35 417.5 25 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //LEFT ARM
+ itemDef
+ {
+ name "left-arm"
+ rect 68.25 420 94.5 35
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/left-arm.tga"
+ }
+
+ //CREDITS LABEL
+ itemDef
+ {
+ name "credits-label"
+ rect 508 403 7 7.5
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/credits.tga"
+ }
+
+ //RIGHT CIRCLE
+ itemDef
+ {
+ name "right-circle"
+ rect 580 417.5 25 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT ARM
+ itemDef
+ {
+ name "right-arm"
+ rect 477.25 420 94.5 35
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/right-arm.tga"
+ }
+
+ //RIGHT CAP
+ itemDef
+ {
+ name "right-cap"
+ rect 500 400 80 15
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/right-cap.tga"
+ }
+
+ ///////////////////
+ //DYNAMIC OBJECTS//
+ ///////////////////
+
+ //BOLT
+ itemDef
+ {
+ name "bolt"
+ rect 40 420 15 20
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/bolt.tga"
+ ownerdraw CG_PLAYER_STAMINA_BOLT
+ }
+
+ //CROSS
+ itemDef
+ {
+ name "cross"
+ rect 137.5 430 15 15
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/neutral/cross.tga"
+ ownerdraw CG_PLAYER_HEALTH_CROSS
+ }
+
+ //STAMINA 1
+ itemDef
+ {
+ name "stamina1"
+ rect 34.5 403.5 9 11.5
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/stamina1.tga"
+ ownerdraw CG_PLAYER_STAMINA_1
+ }
+
+ //STAMINA 2
+ itemDef
+ {
+ name "stamina2"
+ rect 24 410.75 11.5 10.5
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/stamina2.tga"
+ ownerdraw CG_PLAYER_STAMINA_2
+ }
+
+ //STAMINA 3
+ itemDef
+ {
+ name "stamina3"
+ rect 20.75 423.5 10.5 7
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/stamina3.tga"
+ ownerdraw CG_PLAYER_STAMINA_3
+ }
+
+ //STAMINA 4
+ itemDef
+ {
+ name "stamina4"
+ rect 21 402.5 54 55
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/stamina4.tga"
+ ownerdraw CG_PLAYER_STAMINA_4
+ }
+
+ //RING
+ itemDef
+ {
+ name "ring"
+ // rect 20 402.5 55 55 // Guide for Stamina alignment
+ rect 565 402.5 55 55
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ background "ui/assets/human/ring.tga"
+ ownerdraw CG_PLAYER_CLIPS_RING
+ }
+
+ //CREDITS
+ itemDef
+ {
+ name "credits"
+ rect 515 402 45 11.25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ ownerdraw CG_PLAYER_CREDITS_VALUE
+ }
+
+ //HEALTH
+ itemDef
+ {
+ name "health"
+ rect 67 430 60 15
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ ownerdraw CG_PLAYER_HEALTH
+ }
+
+ //WEAPON ICON
+ itemDef
+ {
+ name "weapon"
+ rect 482.5 425 25 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ ownerdraw CG_PLAYER_WEAPONICON
+ }
+
+ //WEAPON SELECT TEXT
+ itemDef
+ {
+ name "selecttext"
+ rect 200 300 240 25
+ visible 1
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_SELECTTEXT
+ }
+
+ //AMMO
+ itemDef
+ {
+ name "ammo"
+ rect 494 430 60 15
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+
+ //CLIPS
+ itemDef
+ {
+ name "clips"
+ rect 538 423 60 15
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ ownerdraw CG_PLAYER_CLIPS_VALUE
+ }
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 580 417.5 25 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //USABLE
+ itemDef
+ {
+ name "usable"
+ rect 307.5 380 25 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ background "ui/assets/neutral/use.tga"
+ ownerdraw CG_PLAYER_USABLE_BUILDABLE
+ }
+
+ //SCANNER
+ itemDef
+ {
+ name "scanner"
+ rect 164 340 312 72
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 .5
+ background "ui/assets/human/scanner.tga"
+ ownerdraw CG_PLAYER_HUMAN_SCANNER
+ }
+
+ //INVENTORY
+ itemDef
+ {
+ name "inventory"
+ rect 232.5 425 175 25
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.5
+ ownerdraw CG_PLAYER_SELECT
+ }
+
+ //SELECTED
+ itemDef
+ {
+ name "selected"
+ rect 306 424 27 27
+ visible 1
+ decoration
+ forecolor 0.0 0.8 1.0 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/selected.tga"
+ }
+
+ //PLAYER NAME
+ itemDef
+ {
+ name "playername"
+ rect 200 275 240 25
+ visible 1
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ }
+ }
+}