summaryrefslogtreecommitdiff
path: root/assets/ui
diff options
context:
space:
mode:
authorMikko Tiusanen <ams@daug.net>2014-05-04 01:18:52 +0300
committerMikko Tiusanen <ams@daug.net>2014-05-04 01:18:52 +0300
commit01beb9919b95479d8be040bec74abc5cc67a5e43 (patch)
tree65f0b79e793848491832756a4c3a32b23668fab3 /assets/ui
parent191d731da136b7ee959a17e63111c9146219a768 (diff)
Initial import.
Diffstat (limited to 'assets/ui')
-rw-r--r--assets/ui/assets/3_cursor3.tgabin0 -> 16428 bytes
-rw-r--r--assets/ui/assets/alien/bolt.tgabin0 -> 36467 bytes
-rw-r--r--assets/ui/assets/alien/buildstat.cfg37
-rw-r--r--assets/ui/assets/alien/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/green.tgabin0 -> 49 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/health.tgabin0 -> 48 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/nopower.tgabin0 -> 204844 bytes
-rw-r--r--assets/ui/assets/alien/buildstat/overlay.tgabin0 -> 25069 bytes
-rw-r--r--assets/ui/assets/alien/circle.tgabin0 -> 73115 bytes
-rw-r--r--assets/ui/assets/alien/left-arm.tgabin0 -> 363891 bytes
-rw-r--r--assets/ui/assets/alien/left-ring.tgabin0 -> 632595 bytes
-rw-r--r--assets/ui/assets/alien/left-spikes.tgabin0 -> 329027 bytes
-rw-r--r--assets/ui/assets/alien/prickles.tgabin0 -> 19644 bytes
-rw-r--r--assets/ui/assets/alien/right-arm.tgabin0 -> 598796 bytes
-rw-r--r--assets/ui/assets/alien/right-ring.tgabin0 -> 613996 bytes
-rw-r--r--assets/ui/assets/alien/right-spikes.tgabin0 -> 310796 bytes
-rw-r--r--assets/ui/assets/alien/trembombs.tgabin0 -> 19644 bytes
-rw-r--r--assets/ui/assets/alien/tremfbreath.tgabin0 -> 19644 bytes
-rw-r--r--assets/ui/assets/alien/tremublob.tgabin0 -> 36827 bytes
-rw-r--r--assets/ui/assets/backarrow.tgabin0 -> 5609 bytes
-rw-r--r--assets/ui/assets/e6.md3bin0 -> 2980 bytes
-rw-r--r--assets/ui/assets/edge_heartbeat.wavbin0 -> 6648392 bytes
-rw-r--r--assets/ui/assets/edge_logo.jpgbin0 -> 49997 bytes
-rw-r--r--assets/ui/assets/edge_terminal.tgabin0 -> 554844 bytes
-rw-r--r--assets/ui/assets/fadebox.tgabin0 -> 16428 bytes
-rw-r--r--assets/ui/assets/fart.wavbin0 -> 34650 bytes
-rw-r--r--assets/ui/assets/forwardarrow.tgabin0 -> 5609 bytes
-rw-r--r--assets/ui/assets/framebutton.tgabin0 -> 8236 bytes
-rw-r--r--assets/ui/assets/gradientbar2.tgabin0 -> 131116 bytes
-rw-r--r--assets/ui/assets/halfgradleft.tgabin0 -> 16428 bytes
-rw-r--r--assets/ui/assets/halfgradright.tgabin0 -> 16428 bytes
-rw-r--r--assets/ui/assets/human/bolt.tgabin0 -> 19244 bytes
-rw-r--r--assets/ui/assets/human/buildstat.cfg39
-rw-r--r--assets/ui/assets/human/buildstat/frame.tgabin0 -> 1724 bytes
-rw-r--r--assets/ui/assets/human/buildstat/green.tgabin0 -> 49 bytes
-rw-r--r--assets/ui/assets/human/buildstat/health.tgabin0 -> 48 bytes
-rw-r--r--assets/ui/assets/human/buildstat/mark.tgabin0 -> 14180 bytes
-rw-r--r--assets/ui/assets/human/buildstat/nopower.tgabin0 -> 25644 bytes
-rw-r--r--assets/ui/assets/human/credits.tgabin0 -> 3404 bytes
-rw-r--r--assets/ui/assets/human/left-arm.tgabin0 -> 211724 bytes
-rw-r--r--assets/ui/assets/human/left-cap.tgabin0 -> 142604 bytes
-rw-r--r--assets/ui/assets/human/right-arm.tgabin0 -> 625004 bytes
-rw-r--r--assets/ui/assets/human/right-cap-big.tgabin0 -> 142604 bytes
-rw-r--r--assets/ui/assets/human/right-cap.tgabin0 -> 93987 bytes
-rw-r--r--assets/ui/assets/human/ring.tgabin0 -> 193644 bytes
-rw-r--r--assets/ui/assets/human/scanner.tgabin0 -> 262188 bytes
-rw-r--r--assets/ui/assets/human/stamina1.tgabin0 -> 6668 bytes
-rw-r--r--assets/ui/assets/human/stamina2.tgabin0 -> 7772 bytes
-rw-r--r--assets/ui/assets/human/stamina3.tgabin0 -> 4748 bytes
-rw-r--r--assets/ui/assets/human/stamina4.tgabin0 -> 190124 bytes
-rw-r--r--assets/ui/assets/load.jpgbin0 -> 286052 bytes
-rw-r--r--assets/ui/assets/load_6.jpgbin0 -> 101080 bytes
-rw-r--r--assets/ui/assets/loading_add.pngbin0 -> 8139 bytes
-rw-r--r--assets/ui/assets/main_add.pngbin0 -> 35754 bytes
-rw-r--r--assets/ui/assets/main_add_pulse.pngbin0 -> 50465 bytes
-rw-r--r--assets/ui/assets/main_base.pngbin0 -> 516108 bytes
-rw-r--r--assets/ui/assets/maporama.wavbin0 -> 1480044 bytes
-rw-r--r--assets/ui/assets/menu_main_aurora_base.jpgbin0 -> 52574 bytes
-rw-r--r--assets/ui/assets/menu_main_aurora_base_add.jpgbin0 -> 53902 bytes
-rw-r--r--assets/ui/assets/menu_main_aurora_base_add_b.jpgbin0 -> 39465 bytes
-rw-r--r--assets/ui/assets/menu_main_aurora_base_add_b2.jpgbin0 -> 39567 bytes
-rw-r--r--assets/ui/assets/menu_main_aurora_base_add_b3.jpgbin0 -> 33200 bytes
-rw-r--r--assets/ui/assets/neutral/10_5pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/12_0pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/1_5pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/3_0pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/4_5pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/6_0pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/7_5pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/9_0pie.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/charge_bg_h.tgabin0 -> 2420 bytes
-rw-r--r--assets/ui/assets/neutral/charge_bg_v.tgabin0 -> 4880 bytes
-rw-r--r--assets/ui/assets/neutral/charge_cap_h.tgabin0 -> 464 bytes
-rw-r--r--assets/ui/assets/neutral/charge_cap_v.tgabin0 -> 330 bytes
-rw-r--r--assets/ui/assets/neutral/circle.tgabin0 -> 40044 bytes
-rw-r--r--assets/ui/assets/neutral/colon.tgabin0 -> 17395 bytes
-rw-r--r--assets/ui/assets/neutral/cross.tgabin0 -> 14444 bytes
-rw-r--r--assets/ui/assets/neutral/cross2.tgabin0 -> 2036 bytes
-rw-r--r--assets/ui/assets/neutral/cross3.tgabin0 -> 2868 bytes
-rw-r--r--assets/ui/assets/neutral/cross_medkit.tgabin0 -> 6146 bytes
-rw-r--r--assets/ui/assets/neutral/cross_poison.tgabin0 -> 6934 bytes
-rw-r--r--assets/ui/assets/neutral/fps.tgabin0 -> 21107 bytes
-rw-r--r--assets/ui/assets/neutral/selected.tgabin0 -> 46674 bytes
-rw-r--r--assets/ui/assets/neutral/use.tgabin0 -> 40018 bytes
-rw-r--r--assets/ui/assets/score_add.pngbin0 -> 2403749 bytes
-rw-r--r--assets/ui/assets/score_base.tgabin0 -> 4821644 bytes
-rw-r--r--assets/ui/assets/score_flicker.pngbin0 -> 13238 bytes
-rw-r--r--assets/ui/assets/scrollbar.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/scrollbar_arrow_dwn_a.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/scrollbar_arrow_left.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/scrollbar_arrow_right.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/scrollbar_arrow_up_a.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/scrollbar_thumb.tgabin0 -> 1068 bytes
-rw-r--r--assets/ui/assets/slider2.tgabin0 -> 8236 bytes
-rw-r--r--assets/ui/assets/sliderbutt_1.tgabin0 -> 2092 bytes
-rw-r--r--assets/ui/assets/stage_add.pngbin0 -> 254919 bytes
-rw-r--r--assets/ui/assets/teamoverlay.tgabin0 -> 20524 bytes
-rw-r--r--assets/ui/assets/verticalgradient.tgabin0 -> 16428 bytes
-rw-r--r--assets/ui/assets/warp_splash_m.jpgbin0 -> 386148 bytes
-rw-r--r--assets/ui/assets/yboy.jpgbin0 -> 40133 bytes
-rw-r--r--assets/ui/assets/yboy2.jpgbin0 -> 39690 bytes
-rw-r--r--assets/ui/connect.menu65
-rw-r--r--assets/ui/createfavorite.menu113
-rw-r--r--assets/ui/createserver.menu514
-rw-r--r--assets/ui/download.menu192
-rw-r--r--assets/ui/drop.menu146
-rw-r--r--assets/ui/error.menu100
-rw-r--r--assets/ui/findplayer.menu162
-rw-r--r--assets/ui/help.txt339
-rw-r--r--assets/ui/hud.txt10
-rw-r--r--assets/ui/infopanes.def349
-rw-r--r--assets/ui/ingame.menu234
-rw-r--r--assets/ui/ingame.txt16
-rw-r--r--assets/ui/ingame_about.menu173
-rw-r--r--assets/ui/ingame_callteamvote.menu171
-rw-r--r--assets/ui/ingame_game.menu277
-rw-r--r--assets/ui/ingame_ignore.menu252
-rw-r--r--assets/ui/ingame_leave.menu141
-rw-r--r--assets/ui/ingame_map.menu104
-rw-r--r--assets/ui/ingame_map19201080.menu214
-rw-r--r--assets/ui/ingame_map640480.menu216
-rw-r--r--assets/ui/ingame_options.menu2081
-rw-r--r--assets/ui/ingame_robot.menu440
-rw-r--r--assets/ui/ingame_sbrowser.menu578
-rw-r--r--assets/ui/ingame_vote.menu515
-rw-r--r--assets/ui/ingame_yehelp.menu87
-rw-r--r--assets/ui/joinserver.menu612
-rw-r--r--assets/ui/loading.menu146
-rw-r--r--assets/ui/main.menu196
-rw-r--r--assets/ui/menudef.h229
-rw-r--r--assets/ui/menus.txt16
-rw-r--r--assets/ui/options.menu2049
-rw-r--r--assets/ui/password.menu83
-rw-r--r--assets/ui/say.menu137
-rw-r--r--assets/ui/serverinfo.menu110
-rw-r--r--assets/ui/teamscore.menu170
-rw-r--r--assets/ui/teamscoreb.menu129
-rw-r--r--assets/ui/tremulous.txt15
-rw-r--r--assets/ui/tremulous_alien_builder_hud.menu42
-rw-r--r--assets/ui/tremulous_alien_common_hud.h257
-rw-r--r--assets/ui/tremulous_alien_general_hud.menu79
-rw-r--r--assets/ui/tremulous_alienbuild.menu107
-rw-r--r--assets/ui/tremulous_alienclass.menu124
-rw-r--r--assets/ui/tremulous_aliendialogs.menu94
-rw-r--r--assets/ui/tremulous_alienupgrade.menu106
-rw-r--r--assets/ui/tremulous_common_hud.h232
-rw-r--r--assets/ui/tremulous_default_hud.menu37
-rw-r--r--assets/ui/tremulous_dialogs.menu94
-rw-r--r--assets/ui/tremulous_human_hud.menu365
-rw-r--r--assets/ui/tremulous_humanarmoury.menu144
-rw-r--r--assets/ui/tremulous_humanbuild.menu105
-rw-r--r--assets/ui/tremulous_humandialogs.menu95
-rw-r--r--assets/ui/tremulous_humanitem.menu121
-rw-r--r--assets/ui/tremulous_teamselect.menu101
155 files changed, 13560 insertions, 0 deletions
diff --git a/assets/ui/assets/3_cursor3.tga b/assets/ui/assets/3_cursor3.tga
new file mode 100644
index 0000000..d17627b
--- /dev/null
+++ b/assets/ui/assets/3_cursor3.tga
Binary files differ
diff --git a/assets/ui/assets/alien/bolt.tga b/assets/ui/assets/alien/bolt.tga
new file mode 100644
index 0000000..7d0e159
--- /dev/null
+++ b/assets/ui/assets/alien/bolt.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat.cfg b/assets/ui/assets/alien/buildstat.cfg
new file mode 100644
index 0000000..318d401
--- /dev/null
+++ b/assets/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/assets/ui/assets/alien/buildstat/frame.tga b/assets/ui/assets/alien/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/frame.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/green.tga b/assets/ui/assets/alien/buildstat/green.tga
new file mode 100644
index 0000000..21a70b7
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/green.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/health.tga b/assets/ui/assets/alien/buildstat/health.tga
new file mode 100644
index 0000000..fa26977
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/health.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/mark.tga b/assets/ui/assets/alien/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/mark.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/nopower.tga b/assets/ui/assets/alien/buildstat/nopower.tga
new file mode 100644
index 0000000..dc8c2f5
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/nopower.tga
Binary files differ
diff --git a/assets/ui/assets/alien/buildstat/overlay.tga b/assets/ui/assets/alien/buildstat/overlay.tga
new file mode 100644
index 0000000..64a2358
--- /dev/null
+++ b/assets/ui/assets/alien/buildstat/overlay.tga
Binary files differ
diff --git a/assets/ui/assets/alien/circle.tga b/assets/ui/assets/alien/circle.tga
new file mode 100644
index 0000000..e274654
--- /dev/null
+++ b/assets/ui/assets/alien/circle.tga
Binary files differ
diff --git a/assets/ui/assets/alien/left-arm.tga b/assets/ui/assets/alien/left-arm.tga
new file mode 100644
index 0000000..1cc1be2
--- /dev/null
+++ b/assets/ui/assets/alien/left-arm.tga
Binary files differ
diff --git a/assets/ui/assets/alien/left-ring.tga b/assets/ui/assets/alien/left-ring.tga
new file mode 100644
index 0000000..6fdb491
--- /dev/null
+++ b/assets/ui/assets/alien/left-ring.tga
Binary files differ
diff --git a/assets/ui/assets/alien/left-spikes.tga b/assets/ui/assets/alien/left-spikes.tga
new file mode 100644
index 0000000..aba155c
--- /dev/null
+++ b/assets/ui/assets/alien/left-spikes.tga
Binary files differ
diff --git a/assets/ui/assets/alien/prickles.tga b/assets/ui/assets/alien/prickles.tga
new file mode 100644
index 0000000..14569df
--- /dev/null
+++ b/assets/ui/assets/alien/prickles.tga
Binary files differ
diff --git a/assets/ui/assets/alien/right-arm.tga b/assets/ui/assets/alien/right-arm.tga
new file mode 100644
index 0000000..ca8797e
--- /dev/null
+++ b/assets/ui/assets/alien/right-arm.tga
Binary files differ
diff --git a/assets/ui/assets/alien/right-ring.tga b/assets/ui/assets/alien/right-ring.tga
new file mode 100644
index 0000000..0425b02
--- /dev/null
+++ b/assets/ui/assets/alien/right-ring.tga
Binary files differ
diff --git a/assets/ui/assets/alien/right-spikes.tga b/assets/ui/assets/alien/right-spikes.tga
new file mode 100644
index 0000000..047f97c
--- /dev/null
+++ b/assets/ui/assets/alien/right-spikes.tga
Binary files differ
diff --git a/assets/ui/assets/alien/trembombs.tga b/assets/ui/assets/alien/trembombs.tga
new file mode 100644
index 0000000..d527579
--- /dev/null
+++ b/assets/ui/assets/alien/trembombs.tga
Binary files differ
diff --git a/assets/ui/assets/alien/tremfbreath.tga b/assets/ui/assets/alien/tremfbreath.tga
new file mode 100644
index 0000000..eff854b
--- /dev/null
+++ b/assets/ui/assets/alien/tremfbreath.tga
Binary files differ
diff --git a/assets/ui/assets/alien/tremublob.tga b/assets/ui/assets/alien/tremublob.tga
new file mode 100644
index 0000000..1303fcd
--- /dev/null
+++ b/assets/ui/assets/alien/tremublob.tga
Binary files differ
diff --git a/assets/ui/assets/backarrow.tga b/assets/ui/assets/backarrow.tga
new file mode 100644
index 0000000..f839963
--- /dev/null
+++ b/assets/ui/assets/backarrow.tga
Binary files differ
diff --git a/assets/ui/assets/e6.md3 b/assets/ui/assets/e6.md3
new file mode 100644
index 0000000..6ea1315
--- /dev/null
+++ b/assets/ui/assets/e6.md3
Binary files differ
diff --git a/assets/ui/assets/edge_heartbeat.wav b/assets/ui/assets/edge_heartbeat.wav
new file mode 100644
index 0000000..26c7e82
--- /dev/null
+++ b/assets/ui/assets/edge_heartbeat.wav
Binary files differ
diff --git a/assets/ui/assets/edge_logo.jpg b/assets/ui/assets/edge_logo.jpg
new file mode 100644
index 0000000..30dfca5
--- /dev/null
+++ b/assets/ui/assets/edge_logo.jpg
Binary files differ
diff --git a/assets/ui/assets/edge_terminal.tga b/assets/ui/assets/edge_terminal.tga
new file mode 100644
index 0000000..471c7e1
--- /dev/null
+++ b/assets/ui/assets/edge_terminal.tga
Binary files differ
diff --git a/assets/ui/assets/fadebox.tga b/assets/ui/assets/fadebox.tga
new file mode 100644
index 0000000..46a28a2
--- /dev/null
+++ b/assets/ui/assets/fadebox.tga
Binary files differ
diff --git a/assets/ui/assets/fart.wav b/assets/ui/assets/fart.wav
new file mode 100644
index 0000000..aafdc73
--- /dev/null
+++ b/assets/ui/assets/fart.wav
Binary files differ
diff --git a/assets/ui/assets/forwardarrow.tga b/assets/ui/assets/forwardarrow.tga
new file mode 100644
index 0000000..0d31e0b
--- /dev/null
+++ b/assets/ui/assets/forwardarrow.tga
Binary files differ
diff --git a/assets/ui/assets/framebutton.tga b/assets/ui/assets/framebutton.tga
new file mode 100644
index 0000000..ac6a40b
--- /dev/null
+++ b/assets/ui/assets/framebutton.tga
Binary files differ
diff --git a/assets/ui/assets/gradientbar2.tga b/assets/ui/assets/gradientbar2.tga
new file mode 100644
index 0000000..3d0ae1c
--- /dev/null
+++ b/assets/ui/assets/gradientbar2.tga
Binary files differ
diff --git a/assets/ui/assets/halfgradleft.tga b/assets/ui/assets/halfgradleft.tga
new file mode 100644
index 0000000..15b8048
--- /dev/null
+++ b/assets/ui/assets/halfgradleft.tga
Binary files differ
diff --git a/assets/ui/assets/halfgradright.tga b/assets/ui/assets/halfgradright.tga
new file mode 100644
index 0000000..52dbe0f
--- /dev/null
+++ b/assets/ui/assets/halfgradright.tga
Binary files differ
diff --git a/assets/ui/assets/human/bolt.tga b/assets/ui/assets/human/bolt.tga
new file mode 100644
index 0000000..c0ecc43
--- /dev/null
+++ b/assets/ui/assets/human/bolt.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat.cfg b/assets/ui/assets/human/buildstat.cfg
new file mode 100644
index 0000000..c66b618
--- /dev/null
+++ b/assets/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/assets/ui/assets/human/buildstat/frame.tga b/assets/ui/assets/human/buildstat/frame.tga
new file mode 100644
index 0000000..3b1e1f5
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/frame.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/green.tga b/assets/ui/assets/human/buildstat/green.tga
new file mode 100644
index 0000000..21a70b7
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/green.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/health.tga b/assets/ui/assets/human/buildstat/health.tga
new file mode 100644
index 0000000..fa26977
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/health.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/mark.tga b/assets/ui/assets/human/buildstat/mark.tga
new file mode 100644
index 0000000..ef9123c
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/mark.tga
Binary files differ
diff --git a/assets/ui/assets/human/buildstat/nopower.tga b/assets/ui/assets/human/buildstat/nopower.tga
new file mode 100644
index 0000000..3f2b071
--- /dev/null
+++ b/assets/ui/assets/human/buildstat/nopower.tga
Binary files differ
diff --git a/assets/ui/assets/human/credits.tga b/assets/ui/assets/human/credits.tga
new file mode 100644
index 0000000..ef88afe
--- /dev/null
+++ b/assets/ui/assets/human/credits.tga
Binary files differ
diff --git a/assets/ui/assets/human/left-arm.tga b/assets/ui/assets/human/left-arm.tga
new file mode 100644
index 0000000..ca2cfae
--- /dev/null
+++ b/assets/ui/assets/human/left-arm.tga
Binary files differ
diff --git a/assets/ui/assets/human/left-cap.tga b/assets/ui/assets/human/left-cap.tga
new file mode 100644
index 0000000..55f2efc
--- /dev/null
+++ b/assets/ui/assets/human/left-cap.tga
Binary files differ
diff --git a/assets/ui/assets/human/right-arm.tga b/assets/ui/assets/human/right-arm.tga
new file mode 100644
index 0000000..f59810f
--- /dev/null
+++ b/assets/ui/assets/human/right-arm.tga
Binary files differ
diff --git a/assets/ui/assets/human/right-cap-big.tga b/assets/ui/assets/human/right-cap-big.tga
new file mode 100644
index 0000000..332cae4
--- /dev/null
+++ b/assets/ui/assets/human/right-cap-big.tga
Binary files differ
diff --git a/assets/ui/assets/human/right-cap.tga b/assets/ui/assets/human/right-cap.tga
new file mode 100644
index 0000000..0d7f0b3
--- /dev/null
+++ b/assets/ui/assets/human/right-cap.tga
Binary files differ
diff --git a/assets/ui/assets/human/ring.tga b/assets/ui/assets/human/ring.tga
new file mode 100644
index 0000000..b95f5dc
--- /dev/null
+++ b/assets/ui/assets/human/ring.tga
Binary files differ
diff --git a/assets/ui/assets/human/scanner.tga b/assets/ui/assets/human/scanner.tga
new file mode 100644
index 0000000..9b7f890
--- /dev/null
+++ b/assets/ui/assets/human/scanner.tga
Binary files differ
diff --git a/assets/ui/assets/human/stamina1.tga b/assets/ui/assets/human/stamina1.tga
new file mode 100644
index 0000000..4bab393
--- /dev/null
+++ b/assets/ui/assets/human/stamina1.tga
Binary files differ
diff --git a/assets/ui/assets/human/stamina2.tga b/assets/ui/assets/human/stamina2.tga
new file mode 100644
index 0000000..0ed3337
--- /dev/null
+++ b/assets/ui/assets/human/stamina2.tga
Binary files differ
diff --git a/assets/ui/assets/human/stamina3.tga b/assets/ui/assets/human/stamina3.tga
new file mode 100644
index 0000000..8848753
--- /dev/null
+++ b/assets/ui/assets/human/stamina3.tga
Binary files differ
diff --git a/assets/ui/assets/human/stamina4.tga b/assets/ui/assets/human/stamina4.tga
new file mode 100644
index 0000000..2416c5e
--- /dev/null
+++ b/assets/ui/assets/human/stamina4.tga
Binary files differ
diff --git a/assets/ui/assets/load.jpg b/assets/ui/assets/load.jpg
new file mode 100644
index 0000000..dbc583c
--- /dev/null
+++ b/assets/ui/assets/load.jpg
Binary files differ
diff --git a/assets/ui/assets/load_6.jpg b/assets/ui/assets/load_6.jpg
new file mode 100644
index 0000000..34117a8
--- /dev/null
+++ b/assets/ui/assets/load_6.jpg
Binary files differ
diff --git a/assets/ui/assets/loading_add.png b/assets/ui/assets/loading_add.png
new file mode 100644
index 0000000..a056523
--- /dev/null
+++ b/assets/ui/assets/loading_add.png
Binary files differ
diff --git a/assets/ui/assets/main_add.png b/assets/ui/assets/main_add.png
new file mode 100644
index 0000000..a28ef32
--- /dev/null
+++ b/assets/ui/assets/main_add.png
Binary files differ
diff --git a/assets/ui/assets/main_add_pulse.png b/assets/ui/assets/main_add_pulse.png
new file mode 100644
index 0000000..09ccfb2
--- /dev/null
+++ b/assets/ui/assets/main_add_pulse.png
Binary files differ
diff --git a/assets/ui/assets/main_base.png b/assets/ui/assets/main_base.png
new file mode 100644
index 0000000..8e2070a
--- /dev/null
+++ b/assets/ui/assets/main_base.png
Binary files differ
diff --git a/assets/ui/assets/maporama.wav b/assets/ui/assets/maporama.wav
new file mode 100644
index 0000000..d3e5b42
--- /dev/null
+++ b/assets/ui/assets/maporama.wav
Binary files differ
diff --git a/assets/ui/assets/menu_main_aurora_base.jpg b/assets/ui/assets/menu_main_aurora_base.jpg
new file mode 100644
index 0000000..00dec57
--- /dev/null
+++ b/assets/ui/assets/menu_main_aurora_base.jpg
Binary files differ
diff --git a/assets/ui/assets/menu_main_aurora_base_add.jpg b/assets/ui/assets/menu_main_aurora_base_add.jpg
new file mode 100644
index 0000000..4d5fb2c
--- /dev/null
+++ b/assets/ui/assets/menu_main_aurora_base_add.jpg
Binary files differ
diff --git a/assets/ui/assets/menu_main_aurora_base_add_b.jpg b/assets/ui/assets/menu_main_aurora_base_add_b.jpg
new file mode 100644
index 0000000..da31ed8
--- /dev/null
+++ b/assets/ui/assets/menu_main_aurora_base_add_b.jpg
Binary files differ
diff --git a/assets/ui/assets/menu_main_aurora_base_add_b2.jpg b/assets/ui/assets/menu_main_aurora_base_add_b2.jpg
new file mode 100644
index 0000000..1e3e761
--- /dev/null
+++ b/assets/ui/assets/menu_main_aurora_base_add_b2.jpg
Binary files differ
diff --git a/assets/ui/assets/menu_main_aurora_base_add_b3.jpg b/assets/ui/assets/menu_main_aurora_base_add_b3.jpg
new file mode 100644
index 0000000..95c1ec3
--- /dev/null
+++ b/assets/ui/assets/menu_main_aurora_base_add_b3.jpg
Binary files differ
diff --git a/assets/ui/assets/neutral/10_5pie.tga b/assets/ui/assets/neutral/10_5pie.tga
new file mode 100644
index 0000000..b915ad3
--- /dev/null
+++ b/assets/ui/assets/neutral/10_5pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/12_0pie.tga b/assets/ui/assets/neutral/12_0pie.tga
new file mode 100644
index 0000000..9a25f5c
--- /dev/null
+++ b/assets/ui/assets/neutral/12_0pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/1_5pie.tga b/assets/ui/assets/neutral/1_5pie.tga
new file mode 100644
index 0000000..d9d6415
--- /dev/null
+++ b/assets/ui/assets/neutral/1_5pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/3_0pie.tga b/assets/ui/assets/neutral/3_0pie.tga
new file mode 100644
index 0000000..e303edb
--- /dev/null
+++ b/assets/ui/assets/neutral/3_0pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/4_5pie.tga b/assets/ui/assets/neutral/4_5pie.tga
new file mode 100644
index 0000000..3705b59
--- /dev/null
+++ b/assets/ui/assets/neutral/4_5pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/6_0pie.tga b/assets/ui/assets/neutral/6_0pie.tga
new file mode 100644
index 0000000..046a44a
--- /dev/null
+++ b/assets/ui/assets/neutral/6_0pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/7_5pie.tga b/assets/ui/assets/neutral/7_5pie.tga
new file mode 100644
index 0000000..6108fde
--- /dev/null
+++ b/assets/ui/assets/neutral/7_5pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/9_0pie.tga b/assets/ui/assets/neutral/9_0pie.tga
new file mode 100644
index 0000000..0eba92f
--- /dev/null
+++ b/assets/ui/assets/neutral/9_0pie.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_bg_h.tga b/assets/ui/assets/neutral/charge_bg_h.tga
new file mode 100644
index 0000000..a88994f
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_bg_h.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_bg_v.tga b/assets/ui/assets/neutral/charge_bg_v.tga
new file mode 100644
index 0000000..60a97bb
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_bg_v.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_cap_h.tga b/assets/ui/assets/neutral/charge_cap_h.tga
new file mode 100644
index 0000000..0ea453f
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_cap_h.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/charge_cap_v.tga b/assets/ui/assets/neutral/charge_cap_v.tga
new file mode 100644
index 0000000..5129e07
--- /dev/null
+++ b/assets/ui/assets/neutral/charge_cap_v.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/circle.tga b/assets/ui/assets/neutral/circle.tga
new file mode 100644
index 0000000..dfac13f
--- /dev/null
+++ b/assets/ui/assets/neutral/circle.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/colon.tga b/assets/ui/assets/neutral/colon.tga
new file mode 100644
index 0000000..fc536ea
--- /dev/null
+++ b/assets/ui/assets/neutral/colon.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross.tga b/assets/ui/assets/neutral/cross.tga
new file mode 100644
index 0000000..43a29e1
--- /dev/null
+++ b/assets/ui/assets/neutral/cross.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross2.tga b/assets/ui/assets/neutral/cross2.tga
new file mode 100644
index 0000000..a2ff8d8
--- /dev/null
+++ b/assets/ui/assets/neutral/cross2.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross3.tga b/assets/ui/assets/neutral/cross3.tga
new file mode 100644
index 0000000..6d13cd4
--- /dev/null
+++ b/assets/ui/assets/neutral/cross3.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross_medkit.tga b/assets/ui/assets/neutral/cross_medkit.tga
new file mode 100644
index 0000000..67c3ecc
--- /dev/null
+++ b/assets/ui/assets/neutral/cross_medkit.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/cross_poison.tga b/assets/ui/assets/neutral/cross_poison.tga
new file mode 100644
index 0000000..360e597
--- /dev/null
+++ b/assets/ui/assets/neutral/cross_poison.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/fps.tga b/assets/ui/assets/neutral/fps.tga
new file mode 100644
index 0000000..0370152
--- /dev/null
+++ b/assets/ui/assets/neutral/fps.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/selected.tga b/assets/ui/assets/neutral/selected.tga
new file mode 100644
index 0000000..c3cd281
--- /dev/null
+++ b/assets/ui/assets/neutral/selected.tga
Binary files differ
diff --git a/assets/ui/assets/neutral/use.tga b/assets/ui/assets/neutral/use.tga
new file mode 100644
index 0000000..3356d41
--- /dev/null
+++ b/assets/ui/assets/neutral/use.tga
Binary files differ
diff --git a/assets/ui/assets/score_add.png b/assets/ui/assets/score_add.png
new file mode 100644
index 0000000..645f76b
--- /dev/null
+++ b/assets/ui/assets/score_add.png
Binary files differ
diff --git a/assets/ui/assets/score_base.tga b/assets/ui/assets/score_base.tga
new file mode 100644
index 0000000..91569bd
--- /dev/null
+++ b/assets/ui/assets/score_base.tga
Binary files differ
diff --git a/assets/ui/assets/score_flicker.png b/assets/ui/assets/score_flicker.png
new file mode 100644
index 0000000..41d3d80
--- /dev/null
+++ b/assets/ui/assets/score_flicker.png
Binary files differ
diff --git a/assets/ui/assets/scrollbar.tga b/assets/ui/assets/scrollbar.tga
new file mode 100644
index 0000000..b877cd0
--- /dev/null
+++ b/assets/ui/assets/scrollbar.tga
Binary files differ
diff --git a/assets/ui/assets/scrollbar_arrow_dwn_a.tga b/assets/ui/assets/scrollbar_arrow_dwn_a.tga
new file mode 100644
index 0000000..e3f4d54
--- /dev/null
+++ b/assets/ui/assets/scrollbar_arrow_dwn_a.tga
Binary files differ
diff --git a/assets/ui/assets/scrollbar_arrow_left.tga b/assets/ui/assets/scrollbar_arrow_left.tga
new file mode 100644
index 0000000..5cc394a
--- /dev/null
+++ b/assets/ui/assets/scrollbar_arrow_left.tga
Binary files differ
diff --git a/assets/ui/assets/scrollbar_arrow_right.tga b/assets/ui/assets/scrollbar_arrow_right.tga
new file mode 100644
index 0000000..5e7be9b
--- /dev/null
+++ b/assets/ui/assets/scrollbar_arrow_right.tga
Binary files differ
diff --git a/assets/ui/assets/scrollbar_arrow_up_a.tga b/assets/ui/assets/scrollbar_arrow_up_a.tga
new file mode 100644
index 0000000..1e9ff31
--- /dev/null
+++ b/assets/ui/assets/scrollbar_arrow_up_a.tga
Binary files differ
diff --git a/assets/ui/assets/scrollbar_thumb.tga b/assets/ui/assets/scrollbar_thumb.tga
new file mode 100644
index 0000000..035352b
--- /dev/null
+++ b/assets/ui/assets/scrollbar_thumb.tga
Binary files differ
diff --git a/assets/ui/assets/slider2.tga b/assets/ui/assets/slider2.tga
new file mode 100644
index 0000000..4e99d2c
--- /dev/null
+++ b/assets/ui/assets/slider2.tga
Binary files differ
diff --git a/assets/ui/assets/sliderbutt_1.tga b/assets/ui/assets/sliderbutt_1.tga
new file mode 100644
index 0000000..4d05348
--- /dev/null
+++ b/assets/ui/assets/sliderbutt_1.tga
Binary files differ
diff --git a/assets/ui/assets/stage_add.png b/assets/ui/assets/stage_add.png
new file mode 100644
index 0000000..3b282c3
--- /dev/null
+++ b/assets/ui/assets/stage_add.png
Binary files differ
diff --git a/assets/ui/assets/teamoverlay.tga b/assets/ui/assets/teamoverlay.tga
new file mode 100644
index 0000000..5843a7f
--- /dev/null
+++ b/assets/ui/assets/teamoverlay.tga
Binary files differ
diff --git a/assets/ui/assets/verticalgradient.tga b/assets/ui/assets/verticalgradient.tga
new file mode 100644
index 0000000..e3ef56a
--- /dev/null
+++ b/assets/ui/assets/verticalgradient.tga
Binary files differ
diff --git a/assets/ui/assets/warp_splash_m.jpg b/assets/ui/assets/warp_splash_m.jpg
new file mode 100644
index 0000000..8591b1e
--- /dev/null
+++ b/assets/ui/assets/warp_splash_m.jpg
Binary files differ
diff --git a/assets/ui/assets/yboy.jpg b/assets/ui/assets/yboy.jpg
new file mode 100644
index 0000000..e8595e0
--- /dev/null
+++ b/assets/ui/assets/yboy.jpg
Binary files differ
diff --git a/assets/ui/assets/yboy2.jpg b/assets/ui/assets/yboy2.jpg
new file mode 100644
index 0000000..454018c
--- /dev/null
+++ b/assets/ui/assets/yboy2.jpg
Binary files differ
diff --git a/assets/ui/connect.menu b/assets/ui/connect.menu
new file mode 100644
index 0000000..45c62d6
--- /dev/null
+++ b/assets/ui/connect.menu
@@ -0,0 +1,65 @@
+#include "ui/menudef.h"
+//(c)yaltsedge
+{
+#define W 480
+#define H 480
+ menuDef
+ {
+ name "Connect"
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/warp_splash_m.jpg"
+ fullScreen MENU_TRUE
+ aspectBias ASPECT_NONE
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 442
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 12 640 442
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 440
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 70 0 500 500
+ style WINDOW_STYLE_GRADIENT
+ backcolor 0.0 1.35 2.55 0
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "loading"
+ style WINDOW_STYLE_SHADER
+ rect 370 162 300 400
+ visible 1
+ background "scripts/e6"
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/createfavorite.menu b/assets/ui/createfavorite.menu
new file mode 100644
index 0000000..93f7c8d
--- /dev/null
+++ b/assets/ui/createfavorite.menu
@@ -0,0 +1,113 @@
+#include "ui/menudef.h"
+
+{
+ \\ CREATE FAVORITE POPUP MENU \\
+
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define INPUT_H 20
+#define W 250
+#define H ((3*BORDER)+(2*INPUT_H)+BUTT_H)
+
+ menuDef
+ {
+ name "createfavorite_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 0 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_NONE
+ popup
+ onESC
+ {
+ close createfavorite_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 0.8
+ visible MENU_TRUE
+ decoration
+ border WINDOW_BORDER_NONE
+
+ }
+
+ // ENTER NAME AND ADDRESS //
+
+ itemDef
+ {
+ name nameEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ maxchars 40
+ text "Name:"
+ textscale .4
+ cvar "ui_favoriteName"
+ rect BORDER BORDER (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name addressEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ maxchars 40
+ text "Address:"
+ textscale .4
+ cvar "ui_favoriteAddress"
+ rect BORDER ((2*BORDER)+INPUT_H) (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name yes
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript CreateFavorite;
+ close createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name yes
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close createfavorite_popmenu
+ }
+ }
+ }
+}
diff --git a/assets/ui/createserver.menu b/assets/ui/createserver.menu
new file mode 100644
index 0000000..9ebe65d
--- /dev/null
+++ b/assets/ui/createserver.menu
@@ -0,0 +1,514 @@
+#include "ui/menudef.h"
+
+{
+ \\ Server Creation \\
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define PREVIEW_W 300
+#define PREVIEW_H 225
+#define PREVIEW_X BORDER
+#define PREVIEW_Y BORDER
+#define BCJ_W (W-(2*BORDER))
+#define BCJ_H 50
+#define BCJ_X BORDER
+#define BCJ_Y (H-(BCJ_H+BORDER))
+#define BC_W (W-(2*BORDER))
+#define BC_H 50
+#define BC_X BORDER
+#define BC_Y (H-(BC_H+BORDER))
+#define ARROW_W 50
+#define ARROW_H BC_H
+
+#define MAPS_W PREVIEW_W
+#define MAPS_H (H-((4*BORDER)+PREVIEW_H+BC_H))
+#define MAPS_X BORDER
+#define MAPS_Y ((2*BORDER)+PREVIEW_H)
+
+#define OPTIONS_W (W-((3*BORDER)+PREVIEW_W))
+#define OPTIONS_H (H-((3*BORDER)+BC_H))
+#define OPTIONS_X ((2*BORDER)+PREVIEW_W)
+#define OPTIONS_Y BORDER
+#define ELEM_OFF_Y 20
+#define ELEM_OFF_X -135
+#define ELEM_H 21
+
+ menuDef
+ {
+ name "createserver"
+ visible MENU_FALSE
+ fullscreen MENU_TRUE
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ outOfBoundsClick
+ style WINDOW_STYLE_EMPTY
+ background "ui/assets/warp_splash_m.jpg"
+ aspectBias ASPECT_NONE
+
+ onOpen
+ {
+ uiScript loadArenas;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back
+ }
+
+ onEsc
+ {
+ close createserver
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 442
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 12 640 442
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 440
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 70 0 500 500
+ style WINDOW_STYLE_GRADIENT
+ backcolor 0.0 1.35 2.55 0
+ visible 1
+ decoration
+ }
+
+ // map selection
+
+ itemDef
+ {
+ name mappreview
+ style WINDOW_STYLE_EMPTY
+ ownerdraw UI_SELECTEDMAPPREVIEW
+ rect PREVIEW_X (PREVIEW_Y+5) PREVIEW_W PREVIEW_H
+ border WINDOW_BORDER_NONE
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name maplist
+ rect MAPS_X MAPS_Y MAPS_W MAPS_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MAPS
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ columns 1
+ 2 190 ALIGN_LEFT
+ }
+
+
+ // SETTINGS //
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_EDITFIELD
+ text "Host Name:"
+ cvar "sv_hostname"
+ maxChars 40
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(0*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_NUMERICFIELD
+ text "Time Limit:"
+ cvar "timelimit"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(1*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Players:"
+ cvar "sv_maxclients"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(2*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Require Password:"
+ cvar "g_needpassword"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(3*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_EDITFIELD
+ text "Password:"
+ cvar "g_password"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(4*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ maxchars 10
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_YESNO
+ text "Pure Server:"
+ cvar "sv_pure"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(6*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name normal
+ type ITEM_TYPE_MULTI
+ text "Dedicated:"
+ // dedicated is a special cvar in that as soon as it is set,
+ // the game goes to console only so the ui catches this one specifically
+ cvar "ui_dedicated"
+ cvarFloatList { "No" 0 "LAN" 1 "Internet" 2 }
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(7*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Auto Download:"
+ cvar "sv_allowdownload"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(8*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Enable Voting:"
+ cvar "g_allowvote"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(9*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Minimum Ping:"
+ cvar "sv_minping"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(11*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Ping:"
+ cvar "sv_maxping"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(12*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_YESNO
+ text "Synchronous Client:"
+ cvar "g_synchronousclients"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(13*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Max Rate:"
+ cvar "sv_maxrate"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(14*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ maxchars 4
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Zombie Time:"
+ cvar "sv_zombietime"
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(15*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ maxchars 4
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name expert
+ type ITEM_TYPE_NUMERICFIELD
+ text "Reconnect Limit:"
+ cvar "sv_reconnectlimit"
+ maxchars 4
+ rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(16*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx ELEM_OFF_X
+ textscale .36
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+
+
+ // BACK BAR //
+
+ itemDef
+ {
+ name back
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ forecolor 0 0.8 1 1
+ action
+ {
+ close createserver
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ type ITEM_TYPE_BUTTON
+
+ text "Back"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ close createserver
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ uiScript StartServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+
+ text "Create"
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ uiScript StartServer
+ }
+ }
+ }
+}
diff --git a/assets/ui/download.menu b/assets/ui/download.menu
new file mode 100644
index 0000000..d323f47
--- /dev/null
+++ b/assets/ui/download.menu
@@ -0,0 +1,192 @@
+#include "ui/menudef.h"
+
+{
+ \\ DOWNLOAD \\
+
+ menuDef
+ {
+ name "download_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect 158 80 320 320
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen
+ {
+ uiScript loadServerInfo;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadIgnore;
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 15 300 320
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_FULL
+ borderSize 1.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name downloadinfo
+ rect 0 50 320 20
+ type ITEM_TYPE_TEXT
+ text "Download"
+ textalign ALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWEDMORE
+ textscale .333
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name downloadinfo
+ rect 60 80 200 270
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ wrapped
+ cvar "com_downloadPromptText"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ textscale .25
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+
+ // BUTTON //
+
+
+ itemDef
+ {
+ name curl
+ text "Download from web-server"
+ textscale .4
+ forecolor 0 0.8 1 1
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 60 250 200 15
+ textalign ALIGN_CENTER
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "ui_serverinfo_allowdl"
+ showCvar { 1 5 9 13 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadCURL;
+ }
+ }
+
+ itemDef
+ {
+ name curl
+ type ITEM_TYPE_YESNO
+ text "Allow Auto Download:"
+ cvar "cl_allowDownload"
+ textscale .3
+ forecolor 0 0.8 1 1
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 25 220 200 15
+ textalign ALIGN_CENTER
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "ui_serverinfo_allowdl"
+ showCvar { 1 5 9 13 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name udp
+ text "Download from server"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 265 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 0
+ cvarTest "ui_serverinfo_allowdl"
+ showCvar { 1 3 9 11 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadUDP;
+ }
+ }
+
+
+ itemDef
+ {
+ name ignore
+ text "Ignore"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 280 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ cvarTest "sv_pure"
+ hideCvar { 1 }
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ uiScript downloadIgnore;
+ }
+ }
+
+
+
+ itemDef
+ {
+ name disconnect
+ text "Disconnect"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpControlbutton
+ style WINDOW_STYLE_EMPTY
+ rect 60 295 200 15
+ textalign ALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close download_popmenu;
+ exec "disconnect";
+ }
+ }
+ }
+}
diff --git a/assets/ui/drop.menu b/assets/ui/drop.menu
new file mode 100644
index 0000000..5aa1a1d
--- /dev/null
+++ b/assets/ui/drop.menu
@@ -0,0 +1,146 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 320
+#define H 320
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 65
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "drop_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { uiScript clearError }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu;
+ open main
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ decoration
+ border WINDOW_BORDER_NONE
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER BORDER INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "[yeswhine]"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER (BORDER+50) INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Do you need help?"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER (BORDER+70) INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Visit our forum: www.ye.boards.net"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect INFO_X INFO_Y INFO_W INFO_H
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ wrapped
+ cvar "com_errorMessage"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close drop_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name reconnect
+ text "Reconnect"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ close drop_popmenu;
+ exec "reconnect";
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/error.menu b/assets/ui/error.menu
new file mode 100644
index 0000000..5e05188
--- /dev/null
+++ b/assets/ui/error.menu
@@ -0,0 +1,100 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 320
+#define H 320
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 65
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "error_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { uiScript clearError }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close error_popmenu;
+ open main
+ }
+
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ decoration
+ border WINDOW_BORDER_NONE
+
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect BORDER BORDER INFO_W BUTT_H
+ type ITEM_TYPE_TEXT
+ text "Error"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name dropinfo
+ rect INFO_X INFO_Y INFO_W INFO_H
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ wrapped
+ cvar "com_errorMessage"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name exit
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close error_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/findplayer.menu b/assets/ui/findplayer.menu
new file mode 100644
index 0000000..e43cd59
--- /dev/null
+++ b/assets/ui/findplayer.menu
@@ -0,0 +1,162 @@
+#include "ui/menudef.h"
+
+{
+ \\ FIND PLAYER POPUP MENU \\
+
+#define W 400
+#define H 400
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define LIST_W (W-(2*BORDER))
+#define LIST_DW (LIST_W-40)
+#define LEFT_C 0.13
+#define RIGHT_C 0.61
+#define SEARCH_H 30
+#define SERVERS_H 105
+
+ menuDef
+ {
+ name "findplayer_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 0 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onClose { }
+ onOpen
+ {
+ uiScript FindPlayer
+ }
+
+ onESC
+ {
+ close findplayer_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .8
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name namefield
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_FILLED
+ text "Name:"
+ cvar "ui_findplayer"
+ maxChars 20
+ rect 40 BORDER 200 15
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx -30
+ textscale .3
+ backcolor 1 1 1 0.1
+ forecolor 0 0.8 1 1
+ action { ui_script FindPlayer }
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name search
+ text "Search"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) BORDER BUTT_W SEARCH_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ ui_script FindPlayer
+ }
+ }
+
+
+ itemDef
+ {
+ name serverNameList
+ rect BORDER ((2*BORDER)+SEARCH_H) LIST_W SERVERS_H
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_NONE
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_FINDPLAYER
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name serverInfoList
+ rect BORDER ((3*BORDER)+SEARCH_H+SERVERS_H) LIST_W (H-(SEARCH_H+SERVERS_H+BUTT_H+(3*BORDER)))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_NONE
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible MENU_TRUE
+ columns 4
+ 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT
+ (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT
+ }
+
+ // BUTTON //
+
+ itemDef
+ {
+ name join
+ text "Join"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action { ui_script FoundPlayerJoinServer }
+ }
+
+ itemDef
+ {
+ name close
+ text "Close"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close findplayer_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/help.txt b/assets/ui/help.txt
new file mode 100644
index 0000000..4a2ef1e
--- /dev/null
+++ b/assets/ui/help.txt
@@ -0,0 +1,339 @@
+{
+ "[ye]EDGE 7"
+ {
+ "Welcome to EDGE version 7 modification! [yedge]\n"
+ "The last stand - Prepare for total annihilation!\n"
+ "\n"
+ "Preamble:\n"
+ "Nearly anything is allowed but if you decide to be an asshole:\n"
+ "\n"
+ " [ye]What goes around, comes around![ye2]\n"
+ "\n"
+ "* Use common sense and good judgment.\n"
+ "* Respect other players! Ask yourself: Do I ever respect other players?\n"
+ "* See our rules section for detailed information or ask an admin for support.\n"
+ "* If you feel unjustly treated and regular admins can't help you:\n"
+ "* visit our forum and post a topic. [ye] ^2www.new-edge.org [ye2]\n"
+ "* Also: constructive criticism/feedback/suggestions are welcome.\n"
+ }
+
+ "[yei]Rules # 1.0 - 1.3"
+ {
+ "1.0 No Griefing / Harassment \n"
+ "^7| No intentional: ^1TEAMKILL / BLEEDING / BASE DESTROY / DECONNING / TROLLING\n"
+ "^7| Trolling: someone with offensive nature, deliberately disturbing/irritating\n"
+ "^7| /insulting other players/admins. Also: no badgering people, no endless complaining,\n"
+ "^7| no tag/name stealing, no offensive names\n"
+ "\n"
+
+ "1.1 No Cheating\n"
+ "^7| The use of cheat tools like aimbot, triggerbot,\n"
+ "^7| wallhack, health hack, lag hack/scripts etc are not allowed.\n"
+ "^7| Ghosting (spectator spies) will handled as cheat. Revealing information\n"
+ "^7| publically as a spectator is unfair and a serious problem.\n"
+ "\n"
+
+ "1.2 No Glitch Building\n"
+ "^7| No building outside of the map / using level exploits/bugs to build in no-build-areas.\n"
+ "^7| No building in a manner that intentionally impedes the game\n"
+ "^7| such as blocking your team into a room.\n"
+ "\n"
+
+ "1.3 No Spamming / Flooding\n"
+ "^7| No chat spam, private message or command flood.\n"
+ "^7| Also watch your chat binds. Don't ^1constantly ^7use them.\n"
+ "^7| Exception: build/weapon spamming is ^2allowed!\n"
+ }
+
+ "[yei]Rules # 1.4 - 1.6"
+ {
+ "1.4 No Server Takeovers\n"
+ "^7| No joining with your friends/clan/bots to vote kick individuals or groups.\n"
+ "^7| This is a public server! But if ^1everyone(!)^7 agrees you can play clan vs [ ] matches.\n"
+ "\n"
+ "1.5 No Vote Abuse\n"
+ "^7| No abuse of vote system. You are not allowed to vote kick/mute/denybuild\n"
+ "^7| someone with invalid reasons. Voting for 'fun' is a serious offence!\n"
+ "^7| Valid reasons are: break of our rules like teamkill, bleed, decon etc.\n"
+ "^7| But read closely: one (1) teamkill is not enough to kick someone.\n"
+ "^7| Always ask if it was on purpose. Such things happen all the time\n"
+ "^7| so don't overreact. Remember the preamble:\n"
+ "^7| 'Use common sense and good judgment.'\n"
+ "^7| Hint: Always try to contact an admin first and ask for help.\n"
+ "^7| If a ^1team member ^7is breaking rules and you want to vote \n"
+ "^7| [ ] him it has to be a ^1TEAM-vote!\n"
+ "\n"
+ "^7 *Our rules apply to everyone and every level.\n"
+ }
+
+ "[yenade]Penalty Scale"
+ {
+ "^7| The duration of bans for breaking the rules can vary from a few minutes to a \n"
+ "^7| few days.The actual duration of the ban is left for the each admin to decide.\n"
+ "^7| However if you feel that a ban is out of scale compared to the violation\n"
+ "^7| there's a section at our forum where it can be further discussed.\n"
+ }
+
+ "[yeal]Admin Levels"
+ {
+ "Level 8 | ^1Server Owner\n"
+ "Level 7 | ^4Lead Admin [ye] ^7Promotes or demotes admins\n"
+ "Level 6 | ^1Senior Admin [ye] ^7Full power admin\n"
+ "Level 5 | ^6Trial Admin [ye] ^7Qualifying period for new admins\n"
+ "\n"
+ "Level 4 | ^3VIP-Player [ye] ^7immune to kick votes\n"
+ "\n"
+ "Level 3 | ^2Good Player [ye] ^7High skilled player & well-bred\n"
+ "Level 2 | ^2Verified Player [ye] ^7Normal player level, able to /callvote\n"
+ "Level 1 | ^5Registered Player [ye] ^7Has nickname protection\n"
+ "\n"
+ "Level 0 | ^7Unregistered Player\n"
+ "\n"
+ "^7 *Use /adminhelp to see available commands.\n"
+ "^7 *If you want to be admin or have higher level contact any admin!\n"
+ "^7 *No admin levels are set w/o the approval of the current ^4Lead Admin^7.\n"
+ }
+
+ "[yekey]Commands #1"
+ {
+ "Use these commands in console (^) or in main chat (T) or use ROBOT HELPER\n"
+ "\n"
+ "/adminhelp [ye] ^7Shows available commands for your level.\n"
+ "/listplayers [ye] ^7Lists all players on server.\n"
+ "/listmaps [ye] ^7Lists all available server maps.\n"
+ "/callvote map/nextmap MAPNAME [ye] ^7Starts a map or nextmap vote. \n"
+ "/callvote poll TEXT [ye] ^7Start a poll.\n"
+ "/callvote armageddon VALUE [ye] ^7Start an armageddon vote with demolition %.\n"
+ "/condump NAME.txt [ye] ^7Dumps current console information to a [].txt file.\n"
+ "/register [ye] ^7Protects your nickname.\n"
+ "/cl_noprint 1 [ye] ^7Turns the main chat off. Set it to 0 if you want it back on.\n"
+ "/ignore NAME/ID [ye] ^7Blocks chat msg of ID in mainchat. See /listplayers for id.\n"
+ "/com_maxfps VALUE [ye] ^7Sets your max fps to a given value. Use values from 50 - 150.\n"
+
+ }
+ "[yekey]Commands #2"
+ {
+ "To use colors put ^ and a number in front of ur name or text\n"
+ "|Colors: 1 or 9=^1red, 2=^2green, 3=^3yellow, 4=^4blue, 5=cyan, 6=^6pink, 7=^7white, 8 or 0=^0grey\n"
+ "|Example: ^7^^73 Hello! -> ^3Hello!\n"
+ "\n"
+ "^7/bind means that u connect a command to a key on your keyboard like:\n"
+ "^2 /bind KEY COMMAND or ^6/bind KEY COMMAND ATTRIBUTE\n"
+ "|Example: ^2/bind k say hello! -> if u push the key [k] a chat message "hello!" will triggered.\n"
+ "|Example: ^6/bind h class level2 -> on push [h] you will evolve to level2 alien (Marauder)\n"
+ "\n"
+ "^7/buy ITEM -> lets you buy an item wich can be ammo, equipment or weapons.\n"
+ "|Equipment: gren -> grenade, smo -> smoke grenade, min -> mine, bsuit -> battlesuit\n"
+ "|larmour -> light armour, helmet, medkit -> medi kit, biokit, cloak, battpack, jetpack, ammo\n"
+ "\n"
+ "^7/class ALIENCLASS -> lets you evolve to your desiered alien class.\n"
+ "|Alien Classes: builder -> granger, level0 -> dretch, level0upg -> adv. dretch, \n"
+ "|level1 -> basilisk, level1upg -> adv.basilisk, level2 -> marauder, level2upg -> adv.marauder,\n"
+ "|level3 -> dragoon, level3upg -> adv.dragoon, level4 -> tyrant, level5 -> hummel\n"
+
+ }
+
+
+ "[yeemo]Emoticons #1"
+ {
+ "Put the emoticon name in brackets []\n"
+ "yesawesome2 = [yesawesome2] | yesba = [yesba] | yesbignose = [yesbignose] | yesbruce = [yesbruce]\n"
+ "\n"
+ "yeschuck = [yeschuck] | yesangry = [yesangry] | yesasscry = [yesasscry] | yesawesome = [yesawesome] \n"
+ "\n"
+ "yesaww = [yesaww] | yesawwcute = [yesawwcute] | yesawww = [yesawww] | yesbat = [yesbat] \n"
+ "\n"
+ "yesbuild = [yesbuild] | yescrack = [yescrack] | yescrazy = [yescrazy] | yescreepguy = [yescreepguy] \n"
+ "\n"
+ "yescry = [yescry] | yescute = [yescute] | yescuty = [yescuty] | yesdafuq = [yesdafuq]\n"
+ "\n"
+ "yesdrug = [yesdrug] | yesepictroll = [yesepictroll] | yesevil = [yesevil] | yesfrown = [yesfrown] \n"
+ "\n"
+ "yesgs = [yesgs] | yeshappy = [yeshappy] | yeshello = [yeshello] | yeship = [yeship] \n"
+ "\n"
+ "yeshitler = [yeshitler] | yeshmm = [yeshmm] | yesinsane = [yesinsane] | yesjoy = [yesjoy] \n"
+ }
+
+
+ "[yeemo]Emoticons #2"
+ {
+ "yesretarded = [yesretarded] | yesgege = [yesgege] | yessarca = [yessarca] | yesscept = [yesscept] \n"
+ "\n"
+ "yesserious = [yesserious] | yesshock = [yesshock] | yessmile = [yessmile] | yessnake = [yessnake] \n"
+ "\n"
+ "yessniper = [yessniper] | yesspok = [yesspok] | yesstar = [yesstar] | yesstoned = [yesstoned] \n"
+ "\n"
+ "yesstupid = [yesstupid] | yestard = [yestard] | yestong = [yestong] | yesrainbow = [yesrainbow]\n"
+ "\n"
+ "yestroll = [yestroll] | yestrylol = [yestrylol] | yesupset = [yesupset] | yesvamp = [yesvamp] \n"
+ "\n"
+ "yesweirdo = [yesweirdo] | yeswhat = [yeswhat] | yeswhine = [yeswhine] | yeshaha = [yeshaha] \n"
+ "\n"
+ "yesjack = [yesjack] | yesjoker = [yesjoker] | yeslawl = [yeslawl] | yesmadbro = [yesmadbro] \n"
+ "\n"
+ "yesmadd = [yesmadd] | yesmindfuck = [yesmindfuck] | yesnerd = [yesnerd] | yesnigga = [yesnigga] \n"
+ }
+
+ "[yeemo]Emoticons #3"
+ {
+ "yesohh = [yesohh] | yesohshit = [yesohshit] | yesosama = [yesosama] | yespedo = [yespedo]\n"
+ "\n"
+ "yeswsmile = [yeswsmile] | yesugauga = [yesugauga] | yesasscry = [yesasscry]\n"
+ "\n"
+ "yesawesome = [yesawesome] | yesaww = [yesaww] | yesninja = [yesninja] | yessad = [yessad]\n"
+ "\n"
+ "yeskid = [yeskid] | yeslal = [yeslal] | yeslessretard = [yeslessretard] | yesmad = [yesmad] \n"
+ "\n"
+ "yesmegusta = [yesmegusta] | yesmouth = [yesmouth] | yesmp = [yesmp] | yesmustage = [yesmustage]\n"
+ "\n"
+ "yesomg = [yesomg] | yesrage = [yesrage] | yesretard = [yesretard] | yeswell = [yeswell] \n"
+ "\n"
+ "ye = [ye] | ye2 = [ye2] | yeaim = [yeaim] | yedge = [yedge] | yenade = [yenade] | yegg = [yegg] \n"
+ "\n"
+ "yeal = [yeal] | yec = [yec] | yeemo = [yeemo] | yeshield = [yeshield] | yetool = [yetool] \n"
+ "\n"
+ "yeammo = [yeammo] | yebat = [yebat] | yebiok = [yebiok] | yecloa = [yecloa] | yeemo = [yeemo] \n"
+ "\n"
+ "yeequ = [yeequ] | yefarms = [yefarms] | yejet = [yejet] | yemed = [yemed] | yeshdog = [yeshdog]\n"
+
+ }
+
+ "[yeflag]Flags #1"
+ {
+ "yeffanta = [yefanta] | yefargentina = [yefargentina] | yefaustralia = [yefaustralia] | yefaustria = [yefaustria]\n"
+ "\n"
+ "yefbrasil = [yefbrasil] | yefcana = [yefcana] | yefchile = [yefchile] | yefchina = [yefchina]\n"
+ "\n"
+ "yefcroat = [yefcroat] | yefcuba = [yefcuba] | yefcz = [yefcz] | yefde = [yefde]\n"
+ "\n"
+ "yefegyp = [yefegyp] | yeffin = [yeffin] | yeffrance = [yeffrance] | yefgb = [yefgb]\n"
+ "\n"
+ "yefhong = [yefhong] | yefhu = [yefhu] | yefindia = [yefindia] | yefindon = [yefindon] \n"
+ "\n"
+ "yefiraq = [yefiraq] | yefire = [yefire] | yefisra = [yefisra] | yefita = [yefita] \n"
+
+ }
+ "[yeflag]Flags #2"
+ {
+ "yefmex = [yefmex] | yefnether = [yefnether] | yefnorw = [yefnorw] | yefphil = [yefphil] \n"
+ "\n"
+ "yefport = [yefport] | yefroma = [yefroma] | yefrus = [yefrus] | yefsinga = [yefsinga] \n"
+ "\n"
+ "yefsloven = [yefsloven] | yefspain = [yefspain] | yefswe = [yefswe] | yefswitz = [yefswitz] \n"
+ "\n"
+ "yeftur = [yeftur] | yefukr = [yefukr] | yefusa = [yefusa] | yefsyr = [yefsyr] | yefslo = [yefslo] \n"
+ "\n"
+ "yefpo = [yefpo] | yefjp = [yefjp] | yefiran = [yefiran] | yefcisland = [yefcisland] | yefden = [yefden]\n"
+ }
+
+ "[yeemo]Tremicons"
+ {
+ "acidtube = [acidtube] | advbasilisk = [advbasilisk] | advdragoon = [advdragoon] | advgranger = [advgranger] \n"
+ "\n"
+ "advmarauder = [advmarauder] | armoury = [armoury] | barricade = [barricade] | basilisk = [basilisk] \n"
+ "\n"
+ "blaster = [blaster] | booster = [booster] | bsuit = [bsuit] | chaingun = [chaingun] \n"
+ "\n"
+ "ckit = [ckit] | defcomp = [defcomp] | dev = [dev] | dragoon = [dragoon]\n"
+ "\n"
+ "dretch = [dretch] | egg = [egg] | featured = [featured] | flamer = [flamer] \n"
+ "\n"
+ "granger = [granger] | grenade = [grenade] | hive = [hive] | hovel = [hovel] \n"
+ "\n"
+ "human = [human] | lasgun = [lasgun] | lcannon = [lcannon] | marauder = [marauder] \n"
+ "\n"
+ "mdriver = [mdriver] | medstat = [medstat] | official = [official] | overmind = [overmind] \n"
+ "\n"
+ "painsaw = [painsaw] | prifle = [prifle] | reactor = [reactor] | repeater = [repeater] \n"
+ "\n"
+ "rifle = [rifle] | shotgun = [shotgun] | telenode = [telenode] | tent = [tent] \n"
+ "\n"
+ "tesla = [tesla] | trapper = [trapper] | turret = [turret] | tyrant = [tyrant] \n"
+ }
+
+ "[yetool]New Buildings"
+ {
+ "New buildings (3.0):\n"
+ "\n"
+ "Humans:^7 Container(S,M,L), Plate(S,L), Fence(+Rod), Barrier (L,C,P),\n"
+ "^7 Shield, FlameRet, Ammo Supply, Teflon Foil, Barrel, FF, Cover(+Stump).\n"
+ "Aliens:^7 Panzer(S,M,L), Tendon(S,M,L), Net(+Spike), Infestation(S,T,B),\n"
+ "^7 Reflector, Muscle, Spiteful Abcest, Cocoon, Organic Bulb, Pod(+Stump),\n"
+ "\n"
+ "Creep Colony/Refinery: ^7Every of those buildings gives you extra bp (fixed).\n"
+ "Infestation Slime: ^7Grabs all enemies in range and kills them slowly.\n"
+ "Ammo Supply: ^7Gives ammo to non-energy weapons. Doesn't need powered areas!\n"
+ "Flame Turret: ^7Does high damage to its enemies. Short range.\n"
+ }
+
+ "[yetool]New Units"
+ {
+ "Hummel\n"
+ "^7Fast airborne unit for aliens team (stage 2) called "Hummel" (big bee).\n"
+ "^7The Hummel has a pickles attack (shoots spikes) and an air pounce (flymode only).\n"
+ "^7It can fly by pressing walk. If not, bind +speed to a button you want.\n"
+ "\n"
+ "Adv.Dretch \n"
+ "^7Has the ability to destroy defensive structures like turrets and teslas.\n"
+ "^7Has the ability to spread infections.\n"
+ "^7Has the ability to pounce.\n"
+ "^7\n"
+ "Basilisk \n"
+ "^7Has the ability to use an acid bomb (nade).\n"
+ "^7\n"
+ "Advanced Basilisk \n"
+ "^7Has the ability to become invisible if you stay still/OM alive/full hp.\n"
+ "^7Has the ability to use an advanced acid bomb.\n"
+ "^7\n"
+ "Advanced Marauder \n"
+ "^7Has the ability to snipe 3 barbs.\n"
+ "^7\n"
+ "Tyrant \n"
+ "^7Has the ability to shoot 3 fire breaths.\n"
+ }
+
+ "[yetool]New Equipment"
+ {
+ "Biokit\n"
+ "^7The "Biokit" is a biological enhancement system that heals wounds, improves stamina,\n"
+ "^7and provides some resistance to alien infection. \n"
+ "^7\n"
+ "Cloak\n"
+ "^7The "Cloak" can be used to sneak up on aliens without being seen. The cloak lasts for 30\n"
+ "^7seconds once it is activated. Back-mounted battery pack and jet pack will stay visible.\n"
+ "^7\n"
+ "Mine\n"
+ "^7A powerful mine triggered by alien units.\n"
+ "^7\n"
+ "Flamer\n"
+ "^7Has a Napalm mode now.\n"
+ "^7\n"
+ "Massdriver\n"
+ "^7Has a target seeking plasma mode now.\n"
+ }
+
+
+ "[yec]About / Credits"
+ {
+ "Developer:\n"
+ "[ye]New EDGE (v 7.1+) development ^7by ^7CU^3[dragoon]^7ams.\n"
+ "[ye]EDGE main development ^7by yalt.\n"
+ "[ye]EDGE Help file edits & Forum (www.new-edge.org) set up ^7by ^3[ye]^1K^4ai ^2[flamer].\n"
+ "[ye]models/textures/gfx/sound/code/shaders/cfgs/ui/maps/gameplay (...) ^7by yalt - 2013\n"
+ "[ye]Copyright: You are allowed edit and to use my work for non profit projects.\n"
+ "\n"
+ "Exceptions:\n"
+ "[ye]CreepColony/Basibomb/Refinery models ^7by iltavuo\n"
+ "[ye]Smoke/2nd Creep/acidtube/luci impact -texture, new tesla/jetpack -sound ^7by pikatchu\n"
+ "[ye]Team Balance Code ^7 by CU|ams\n"
+ "[ye]Alien/Human music (modified)^7by Team RXN (Gloom Quake2)\n"
+ "[ye]Adv.Dretch & BioKit (partly) ^7by TremX\n"
+ "[ye]Tremulous ^7by Dark Legion Development\n"
+ "[ye]VaultBoy (modified) ^7by Obsidian Entertainment\n"
+ "[ye]Elevator music ^7by Unknown AQ2 Mapper \n"
+ "[ye]Various sounds (mostly modified) ^7by Public Domain\n"
+ "[ye]To all girls & boys who supported me: thank you very much!\n"
+ }
+
+
+}
diff --git a/assets/ui/hud.txt b/assets/ui/hud.txt
new file mode 100644
index 0000000..1ea8199
--- /dev/null
+++ b/assets/ui/hud.txt
@@ -0,0 +1,10 @@
+// hud menu defs
+//
+{
+ loadMenu { "ui/tremulous_human_hud.menu" }
+ loadMenu { "ui/tremulous_alien_builder_hud.menu" }
+ loadMenu { "ui/tremulous_alien_general_hud.menu" }
+ loadMenu { "ui/tremulous_default_hud.menu" }
+ loadMenu { "ui/teamscore.menu" }
+ loadMenu { "ui/loading.menu" }
+}
diff --git a/assets/ui/infopanes.def b/assets/ui/infopanes.def
new file mode 100644
index 0000000..8fd455e
--- /dev/null
+++ b/assets/ui/infopanes.def
@@ -0,0 +1,349 @@
+{
+ name alienteam
+ text "The Alien Team\n\n"
+ text "The Aliens' strengths are in movement "
+ text "and the ability to quickly construct new bases quickly. They possess a "
+ text "range of abilities including basic melee attacks, movement-"
+ text "crippling poisons and more."
+ align left
+}
+{
+ name humanteam
+ text "The Human Team\n\n"
+ text "The humans are the masters of technology. Although their bases take "
+ text "long to construct, their automated defense ensures they stay built. "
+ text "A wide range of upgrades and weapons are available to the humans, each "
+ text "contributing to eradicate the alien threat."
+ align left
+}
+{
+ name spectateteam
+ text "Watch the game without playing."
+}
+{
+ name autoteam
+ text "Join the team with the least players."
+}
+{
+ name rifleitem
+ text "Rifle\n\n"
+ text "Basic weapon. Cased projectile weapon, with a slow clip based "
+ text "reload system.\n\n"
+ text "Credits: Free"
+}
+{
+ name ckititem
+ text "Construction kit\n\n"
+ text "Used for building all basic structures. This includes "
+ text "spawns, power and basic defense.\n\n"
+ text "Credits: Free"
+}
+{
+ name ackititem
+ text "Advanced Construction kit\n\n"
+ text "Used for building advanced structures. This includes "
+ text "combat computers and advanced defense.\n\n"
+ text "Credits: Free"
+}
+{
+ name shotgunitem
+ text "Shotgun\n\n"
+ text "Close range weapon that is useful against larger foes. "
+ text "It has a slow repeat rate, but can be devastatingly "
+ text "effective.\n\n"
+ text "Credits: " text 150
+}
+{
+ name chaingunitem
+ text "Chain Gun\n\n"
+ text "Belt drive, cased projectile weapon. It has a high "
+ text "repeat rate but a wide firing angle and is therefore relatively "
+ text "inaccurate.\n\n"
+ text "Credits: " text 400
+}
+{
+ name flameritem
+ text "Flamethrower\n\n"
+ text "Sprays fire at its target. It is powered by compressed "
+ text "gas. The relatively low rate of fire means this weapon is most "
+ text "effective against static targets.\n\n"
+ text "Credits: " text 450
+}
+{
+ name mdriveritem
+ text "Mass Driver\n\n"
+ text "A portable particle accelerator which causes minor "
+ text "nuclear reactions at the point of impact. It has a very large "
+ text "payload, but fires slowly.\n\n"
+ text "Credits: " text 350
+}
+{
+ name prifleitem
+ text "Pulse Rifle\n\n"
+ text "An energy weapon that fires pulses of concentrated energy at a fast "
+ text "rate. It requires re-energising every 50 pulses.\n\n"
+ text "Credits: " text 400
+}
+{
+ name lcannonitem
+ text "Lucifer Cannon\n\n"
+ text "Similar to the pulse rifle, but more powerful. "
+ text "Additionally, it has a secondary attack where energy can be charged "
+ text "up to shoot a devastating ball of energy.\n\n"
+ text "Credits: " text 600
+}
+{
+ name lgunitem
+ text "Las Gun\n\n"
+ text "Slightly more powerful than the basic rifle, but "
+ text "instead of bullets it fires small packets of energy.\n\n"
+ text "Credits: " text 250
+}
+{
+ name psawitem
+ text "Pain Saw\n\n"
+ text "Similar to a chainsaw, but instead of a chain "
+ text "it has an electric arc capable of dealing a great deal of damage at "
+ text "close range.\n\n"
+ text "Credits: " text 100
+}
+{
+ name grenitem
+ text "Grenade\n\n"
+ text "A small incendinary device ideal for damaging tightly packed "
+ text "alien structures. Has a five second timer.\n\n"
+ text "Credits: " text 200
+}
+{
+ name larmouritem
+ text "Light Armour\n\n"
+ text "Protective armour that helps to defend against light alien melee "
+ text "attacks.\n\n"
+ text "Credits: " text 70
+}
+{
+ name helmetitem
+ text "Helmet\n\n"
+ text "In addition to protecting your head, the helmet provides a "
+ text "scanner indicating the presence of any non-human lifeforms in your "
+ text "immediate vicinity.\n\n"
+ text "Credits: " text 90
+}
+{
+ name battpackitem
+ text "Battery Pack\n\n"
+ text "Back-mounted battery pack that permits storage of one and a half "
+ text "times the normal energy capacity for energy weapons.\n\n"
+ text "Credits: " text 100
+}
+{
+ name jetpackitem
+ text "Jet Pack\n\n"
+ text "Back-mounted jet pack that enables the user to fly to remote "
+ text "locations. It is very useful against alien spawns in hard to reach "
+ text "spots.\n\n"
+ text "Credits: " text 120
+}
+{
+ name bsuititem
+ text "Battle Suit\n\n"
+ text "A full body armour that is highly effective at repelling alien attacks. "
+ text "It allows the user to enter hostile situations with a greater degree "
+ text "of confidence.\n\n"
+ text "Credits: " text 400
+}
+{
+ name ammoitem
+ text "Ammunition\n\n"
+ text "Ammunition for the currently held weapon.\n\n"
+ text "Credits: Free"
+}
+{
+ name telenodebuild
+ text "Telenode\n\n"
+ text "The most basic human structure. It provides a means for "
+ text "humans to enter the battle arena. Without any of these the humans "
+ text "cannot spawn and defeat is imminent.\n\n"
+ text "Power: " text 10
+}
+{
+ name mgturretbuild
+ text "Machine Gun Turret\n\n"
+ text "Automated base defense that is effective against fast moving targets, but "
+ text "does not cause much damage on its own and should "
+ text "always be backed up by physical support.\n\n"
+ text "Power: " text 8
+}
+{
+ name armbuild
+ text "Armoury\n\n"
+ text "An essential part of the human base, providing a means "
+ text "to upgrade the basic human. A range of upgrades and weapons are "
+ text "available from the armoury, each with a price.\n\n"
+ text "Power: " text 10
+}
+{
+ name medistatbuild
+ text "Medistation\n\n"
+ text "A structure providing an automated healing energy that restores "
+ text "the health of any human that stands inside it. It may only be used "
+ text "by one person at a time.\n\n"
+ text "Power: " text 8
+}
+{
+ name reactorbuild
+ text "Reactor\n\n"
+ text "All structures except the telenode rely on a reactor to operate."
+ text "The reactor provides power for all the human structures either "
+ text "directly or via repeaters. There can only be a single reactor.\n\n"
+}
+{
+ name dccbuild
+ text "Defense Computer\n\n"
+ text "A structure coordinating the action of base defense so that "
+ text "defense is distributed evenly among the enemy. "
+ text "This structure is required for building the Tesla Generator.\n\n"
+ text "Power: " text 8
+}
+{
+ name teslabuild
+ text "Tesla Generator\n\n"
+ text "A structure equipped with a strong electrical attack that always "
+ text "hits its target. It is useful against larger aliens "
+ text "and for consolidating basic defense.\n\n"
+ text "Power: " text 10
+}
+{
+ name repeaterbuild
+ text "Repeater\n\n"
+ text "A power distributor that transmits power from the reactor "
+ text "to remote locations, so that bases may be built far from the reactor.\n\n"
+}
+{
+ name eggpodbuild
+ text "Egg\n\n"
+ text "The most basic alien structure. It allows aliens to spawn "
+ text "and protect the Overmind. Without any of these, the Overmind is left "
+ text "nearly defenseless and defeat is imminent.\n\n"
+ text "Sentience: " text 10
+}
+{
+ name overmindbuild
+ text "Overmind\n\n"
+ text "A collective consciousness that controls all the "
+ text "alien structures in its vicinity. It must be protected at all costs, "
+ text "since its death will render alien structures defenseless."
+}
+{
+ name barricadebuild
+ text "Barricade\n\n"
+ text "Used to obstruct corridors and doorways, "
+ text "hindering humans from threatening the spawns and Overmind.\n\n"
+ text "Sentience: " text 10
+}
+{
+ name acid_tubebuild
+ text "Acid Tube\n\n"
+ text "Ejects lethal poisonous "
+ text "acid at an approaching human. These are highly effective when used in "
+ text "conjunction with a trapper to hold the victim in place.\n\n"
+ text "Sentience: " text 8
+}
+{
+ name hivebuild
+ text "Hive\n\n"
+ text "Houses millions of tiny "
+ text "insectoid aliens. When a human approaches this structure, the "
+ text "insectoids attack.\n\n"
+ text "Sentience: " text 12
+}
+{
+ name trapperbuild
+ text "Trapper\n\n"
+ text "Fires a blob of adhesive spit at any non-alien in its "
+ text "line of sight. This hinders their movement, making them an easy target "
+ text "for other defensive structures or aliens.\n\n"
+ text "Sentience: " text 8
+}
+{
+ name boosterbuild
+ text "Booster\n\n"
+ text "Provides any alien with a poison ability on all its "
+ text "attacks. In addition to the default attack damage, the victim loses "
+ text "health over time unless they heal themselves with a medkit."
+ text "The booster also increases the rate of health regeneration for "
+ text "any nearby aliens.\n\n"
+ text "Sentience: " text 12
+}
+{
+ name hovelbuild
+ text "Hovel\n\n"
+ text "An armoured shell used by the builder class to "
+ text "hide in, while the alien base is under attack. It may be entered or "
+ text "exited at any time."
+}
+{
+ name builderclass
+ text "Granger\n\n"
+ text "Responsible for building and maintaining all "
+ text "the alien structures."
+}
+{
+ name builderupgclass
+ text "Advanced Granger\n\n"
+ text "Similar to the base Granger, "
+ text "except that in addition to being able to build structures it has a "
+ text "melee attack and the ability to crawl on walls."
+}
+{
+ name level0class
+ text "Dretch\n\n"
+ text "Has a lethal bite and the ability to crawl "
+ text "on walls and ceilings."
+}
+{
+ name level1class
+ text "Basilisk\n\n"
+ text "Able to crawl on walls and ceilings. "
+ text "Its melee attack is most effective when combined with the ability to "
+ text "grab its foe."
+}
+{
+ name level1upgclass
+ text "Advanced Basilisk\n\n"
+ text "In addition to the basic Basilisk abilities, the Advanced "
+ text "Basilisk sprays a poisonous gas which disorientaits any "
+ text "nearby humans."
+}
+{
+ name level2class
+ text "Marauder\n\n"
+ text "Has a melee attack and the ability to jump off walls."
+ text "This allows the Marauder to gather great speed in enclosed areas."
+}
+{
+ name level2upgclass
+ text "Advanced Marauder\n\n"
+ text "The Advanced Marauder has all the abilities of the base Marauder "
+ text "including an area effect electric shock attack."
+}
+{
+ name level3class
+ text "Dragoon\n\n"
+ text "Possesses a melee attack and the pounce ability, which may "
+ text "be used as an attack, or a means to reach a remote location inaccessible "
+ text "from the ground."
+}
+{
+ name level3upgclass
+ text "Advanced Dragoon\n\n"
+ text "In addition to the basic Dragoon abilities, the Dragoon Upgrade has "
+ text "3 barbs which may be used to attack humans from a distance."
+}
+{
+ name level4class
+ text "Tyrant\n\n"
+ text "Provides a healing aura in which nearby aliens regenerate health "
+ text "faster than usual. As well as a melee attack, this class can charge "
+ text "at enemy humans and structures, inflicting great damage."
+}
diff --git a/assets/ui/ingame.menu b/assets/ui/ingame.menu
new file mode 100644
index 0000000..033e6f1
--- /dev/null
+++ b/assets/ui/ingame.menu
@@ -0,0 +1,234 @@
+#include "ui/menudef.h"
+{
+#define W 640
+#define H 480
+menuDef
+ {
+ name "ingame"
+ visible 1
+ outOfBoundsClick
+ rect 0 0 640 480
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ onOpen { uiScript stopRefresh ; }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -180 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -160 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "edgesplash"
+ rect 250 50 680 680
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_FILLED
+ asset_model "ui/assets/e6.md3"
+ model_fovx 30.0
+ model_fovy 30.0
+ model_angle 180
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "menu"
+ style WINDOW_STYLE_SHADER
+ rect 270 160 110 190
+ visible 1
+ background "ui/assets/main_base.png"
+ decoration
+ }
+ itemDef
+ {
+ name "menu_add"
+ style WINDOW_STYLE_SHADER
+ rect 245 132 160 238
+ visible 1
+ background "scripts/main_add"
+ decoration
+ }
+ itemDef
+ {
+ name "menu_add_pulse"
+ style WINDOW_STYLE_SHADER
+ rect 245 132 160 238
+ visible 1
+ background "scripts/main_add_pulse"
+ decoration
+ }
+ itemDef
+ {
+ name "bu1"
+ type ITEM_TYPE_BUTTON
+ text "MANUAL"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 190 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_yehelp
+ }
+ }
+ itemDef
+ {
+ name "bu2"
+ type ITEM_TYPE_BUTTON
+ text "VOTE MAPS"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 205 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_map
+ }
+ }
+ itemDef
+ {
+ name "bu3"
+ type ITEM_TYPE_BUTTON
+ text "VOTE PLAYERS"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 220 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_game
+ }
+ }
+ itemDef
+ {
+ name "bu4"
+ type ITEM_TYPE_TEXT
+ text "IGNORE PLAYERS"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 235 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_ignore
+ }
+ }
+ itemDef
+ {
+ name "bu5x"
+ type ITEM_TYPE_BUTTON
+ text "SERVER BROWSER"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 250 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_sbrowser
+ }
+ }
+ itemDef
+ {
+ name "bu5"
+ type ITEM_TYPE_BUTTON
+ text "ROBOT HELPER"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 265 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_robot
+ }
+ }
+ itemDef
+ {
+ name "bu6"
+ type ITEM_TYPE_BUTTON
+ text "OPTIONS"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 280 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_options
+ }
+ }
+ itemDef
+ {
+ name "bu7"
+ type ITEM_TYPE_TEXT
+ text "EXIT"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ rect 300 295 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open ingame_leave
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/ingame.txt b/assets/ui/ingame.txt
new file mode 100644
index 0000000..310e628
--- /dev/null
+++ b/assets/ui/ingame.txt
@@ -0,0 +1,16 @@
+// menu defs
+//
+{
+loadMenu { "ui/ingame.menu" }
+loadMenu { "ui/ingame_game.menu" }
+loadMenu { "ui/ingame_options.menu" }
+loadMenu { "ui/ingame_leave.menu" }
+loadMenu { "ui/ingame_map.menu" }
+loadMenu { "ui/ingame_yehelp.menu" }
+loadMenu { "ui/ingame_map640480.menu" }
+loadMenu { "ui/ingame_map19201080.menu" }
+loadMenu { "ui/ingame_ignore.menu" }
+loadMenu { "ui/ingame_sbrowser.menu" }
+loadMenu { "ui/ingame_robot.menu" }
+loadMenu { "ui/teamscore.menu" }
+}
diff --git a/assets/ui/ingame_about.menu b/assets/ui/ingame_about.menu
new file mode 100644
index 0000000..77ab4c9
--- /dev/null
+++ b/assets/ui/ingame_about.menu
@@ -0,0 +1,173 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME ABOUT BOX \\
+
+ menuDef
+ {
+ name "ingame_about"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 10 56 256 160
+ focusColor 1 .75 0 1
+
+ itemDef
+ {
+ name window
+ rect 10 5 256 150
+ style 1
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+
+ border WINDOW_BORDER_KCGRADIENT
+ borderSize 2.0
+ borderColor 0.5 0.5 0.5 1
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 25 256 20
+ name gametypefield
+ type 4
+ style 0
+ text "Map Name:"
+ cvar mapname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 40 256 20
+ type 4
+ style 0
+ text "Time Limit:"
+ maxPaintChars 12
+ cvar timelimit
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 55 256 20
+ type 4
+ style 0
+ text "Protocol:"
+ cvar protocol
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 70 256 20
+ type 4
+ style 0
+ text "Max Clients:"
+ cvar sv_maxclients
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 85 256 20
+ type 4
+ style 0
+ text "Host Name:"
+ cvar sv_hostname
+ maxPaintChars 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 100 256 20
+ type 11
+ style 0
+ text "Password Required:"
+ cvar g_needpass
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 115 256 20
+ type 11
+ style 0
+ text "DM Flags:"
+ cvar g_dmflags
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name about
+ rect 0 130 256 20
+ type 4
+ style 0
+ text "Version:"
+ cvar version
+ maxPaintChars 32
+ textalign ITEM_ALIGN_LEFT
+ textalignx 128
+ textaligny 12
+ textalign 1
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/ingame_callteamvote.menu b/assets/ui/ingame_callteamvote.menu
new file mode 100644
index 0000000..9dc6623
--- /dev/null
+++ b/assets/ui/ingame_callteamvote.menu
@@ -0,0 +1,171 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "ingame_callteamvote"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 37 56 250 157
+ focusColor 1 .75 0 1
+ onopen
+ {
+ hide grpCallVote;
+ show teamKick;
+
+ setitemcolor teamKickBtn forecolor 0.2 0.2 0.2 1.0;
+ }
+
+ itemDef
+ {
+ name window
+ rect 10 5 230 147
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name teamKickBtn
+ text "Team Kick"
+ textscale .25
+ group grpbutton
+ rect 20 40 45 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpCallVote;
+ show teamKick;
+
+ setitemcolor teamKickBtn forecolor 0.2 0.2 0.2 1.0;
+ }
+ }
+
+
+ // TEAM KICK PLAYER //
+
+ itemDef
+ {
+ name teamKick
+ group grpCallVote
+ text "Team Kick Player:"
+ textscale .25
+ rect 70 15 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name teamKick
+ group grpCallVote
+ rect 70 35 150 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ 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 teamKick
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpCallVote
+ rect 173 125 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+
+ // KICK PLAYER //
+
+ itemDef
+ {
+ name kick
+ group grpCallVote
+ text "Kick Player:"
+ textscale .25
+ rect 70 15 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name kick
+ group grpCallVote
+ rect 70 35 150 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ 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 kick
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpCallVote
+ rect 173 125 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+ }
+}
diff --git a/assets/ui/ingame_game.menu b/assets/ui/ingame_game.menu
new file mode 100644
index 0000000..76d4ed6
--- /dev/null
+++ b/assets/ui/ingame_game.menu
@@ -0,0 +1,277 @@
+#include "ui/menudef.h"
+{
+#define W 999
+#define H 210
+ menuDef
+ {
+ name "ingame_game"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_game
+ }
+ onopen
+ {
+ uiScript InitIgnoreList;
+ uiScript loadServerInfo;
+ show vote;
+ close ingame;
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 -125 1000 500
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -50 -150 1000 600
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect 0 -60 1280 340
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "vote"
+ text "List All Players"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 390 -50 80 25
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show playervote;
+ show reasonfield;
+ show vote;
+ }
+ }
+ itemDef
+ {
+ name "vote"
+ text "List Teammates"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 530 -50 80 25
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide gameGrp;
+ show teamvote;
+ show reasonfield;
+ show vote;
+ }
+ }
+ itemDef
+ {
+ name "playervote"
+ group gameGrp
+ rect 300 -20 400 250
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_FALSE
+ }
+ itemDef
+ {
+ name "playervote"
+ group gameGrp
+ text "Mute Player"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 450 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMute;
+ uiScript closeingame
+ }
+ }
+ itemDef
+ {
+ name "playervote"
+ group gameGrp
+ text "Un-Mute Player"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 585 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteUnMute;
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name "playervote"
+ group gameGrp
+ text "Kick Player"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 315 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+ itemDef
+ {
+ name "teamvote"
+ group gameGrp
+ rect 300 -20 400 250
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .225
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ forecolor 1 1 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible MENU_FALSE
+ }
+ itemDef
+ {
+ name "teamvote"
+ group gameGrp
+ text "Kick Teammate"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 325 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+ itemDef
+ {
+ name "teamvote"
+ group gameGrp
+ text "Deny Building"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 455 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamDenyBuild;
+ uiScript closeingame
+ }
+ }
+ itemDef
+ {
+ name "teamvote"
+ group gameGrp
+ text "Allow Building"
+ type ITEM_TYPE_BUTTON
+ textscale .35
+ rect 595 250 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamAllowBuild;
+ uiScript closeingame
+ }
+ }
+ itemDef
+ {
+ name "reasonfield"
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_FILLED
+ text "Reason:"
+ cvar "ui_reason"
+ maxChars 100
+ rect 302 235 398 15
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale .30
+ backcolor 1 1 1 0.2
+ forecolor 1 1 1 1
+ visible MENU_FALSE
+ }
+ }
+}
diff --git a/assets/ui/ingame_ignore.menu b/assets/ui/ingame_ignore.menu
new file mode 100644
index 0000000..ec56a3a
--- /dev/null
+++ b/assets/ui/ingame_ignore.menu
@@ -0,0 +1,252 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME GAME BOX \\
+
+#define X 10
+#define Y 60
+#define BORDER 10
+
+#define TOPBUTT_W 80
+#define TOPBUTT_H 30
+
+#define SIDEBUTT_W 50
+#define SIDEBUTT_H 25
+
+#define MAP_X (SIDEBUTT_W+BORDER)
+#define MAP_Y ((2*BORDER)+TOPBUTT_H)
+#define MAP_W 124
+#define MAP_H 93
+#define MAPLIST_X MAP_X
+#define MAPLIST_Y ((3*BORDER)+TOPBUTT_H+MAP_H)
+#define MAPLIST_W (W-((2*BORDER)+SIDEBUTT_W))
+#define MAPLIST_H (H-((4*BORDER)+MAP_H+TOPBUTT_H))
+#define MAPBUTT_X (MAP_X+MAP_W+BORDER)
+#define MAPBUTT_Y MAP_Y
+#define MAPBUTT_W (W-(MAPBUTT_X+BORDER))
+#define MAPBUTT_H 20
+
+#define PBUTT_X MAP_X
+#define PBUTT_Y (H-((2*PBUTT_H)+BORDER))
+#define PBUTT_W (W-((2*BORDER)+SIDEBUTT_W))
+#define PBUTT_H 45
+#define PLIST_X PBUTT_X
+#define PLIST_Y ((2*BORDER)+TOPBUTT_H)
+#define PLIST_W PBUTT_W
+#define PLIST_H ((H-((4*BORDER)+(2*PBUTT_H)+TOPBUTT_H)))
+
+#define PLAYER_C 0.7
+#define IGN_C 0.15
+#define IGNY_C 0.15
+#define IGNHEAD_H 15
+#define IGNHEAD_Y ((2*BORDER)+TOPBUTT_H)
+#define IGNBUTT_W ((W-(2*BORDER))/2)
+#define IGNBUTT_H 25
+#define IGNBUTT_X BORDER
+#define IGNBUTT_Y (H-(BORDER+IGNBUTT_H))
+#define IGNORE_W (W-(2*BORDER))
+#define IGNORE_W2 ((W-(2*BORDER))-15)
+#define IGNORE_H (H-((4*BORDER)+TOPBUTT_H+IGNHEAD_H+IGNBUTT_H))
+#define IGNORE_X BORDER
+#define IGNORE_Y ((2*BORDER)+TOPBUTT_H+IGNHEAD_H)
+#define IGNORE_TOFF 5
+
+#define INFO_Y ((2*BORDER)+TOPBUTT_H+10)
+#define INFOELEM_H 15
+#define INFO_OFF (0-(W-90))
+#define W 999
+#define H 210
+#define A 200
+
+ 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 "ingame_ignore"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 0 0 0 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_ignore
+ open ingame
+ }
+ onopen
+ {
+ uiScript InitIgnoreList;
+ show vote;
+ close ingame;
+
+ 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 "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 -125 1000 500
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -50 -150 1000 600
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect 0 -50 1280 340
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 310 -40 80 25
+ text "Player Name"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx IGNORE_TOFF
+ visible MENU_TRUE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 490 -40 80 25
+ text "Ignored by you"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ visible MENU_TRUE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 595 -40 80 25
+ text "Ignoring you"
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ visible MENU_TRUE
+ type ITEM_TYPE_TEXT
+ textscale .225
+ }
+ itemDef
+ {
+ name ignore
+ group gameGrp
+ rect 300 -20 400 260
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ border WINDOW_BORDER_FULL
+ 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
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_IGNORE_LIST
+ visible MENU_TRUE
+ columns 3
+ 5 200 ALIGN_LEFT
+ 300 50 ALIGN_CENTER
+ 172 100 ALIGN_CENTER
+ doubleClick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ToggleIgnore
+ }
+ }
+/////////////////////////////
+ itemDef
+ {
+ name ignore
+ text "Ignore Player"
+ style WINDOW_STYLE_EMPTY
+ rect 340 250 80 25
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript IgnorePlayer
+ }
+ }
+
+ itemDef
+ {
+ name ignore
+ text "Stop Ignoring Player"
+ group gameGrp
+ style WINDOW_STYLE_EMPTY
+ rect 570 250 80 25
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UnIgnorePlayer
+ }
+ }
+
+
+
+ }
+}
diff --git a/assets/ui/ingame_leave.menu b/assets/ui/ingame_leave.menu
new file mode 100644
index 0000000..7aaa94a
--- /dev/null
+++ b/assets/ui/ingame_leave.menu
@@ -0,0 +1,141 @@
+#include "ui/menudef.h"
+{
+#define W 999
+#define H 210
+#define A 200
+ menuDef
+ {
+ name "ingame_leave"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onOpen
+ {
+ close ingame;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 -150 1000 600
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 -150 1000 600
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -50 -150 1000 600
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect 0 100 1280 120
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+//BUTTONSMENU
+ itemDef
+ {
+ name confirm4
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "DISCONNECT?"
+ style WINDOW_STYLE_EMPTY
+ textscale .5
+ rect 446 110 50 20
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name confirm6
+ type ITEM_TYPE_BUTTON
+ text "BACK TO GAME"
+ style WINDOW_STYLE_EMPTY
+ textscale .35
+ rect 475 165 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_leave
+ open ingame
+ }
+ }
+ itemDef
+ {
+ name confirm6
+ type ITEM_TYPE_BUTTON
+ text "QUIT GAME"
+ style WINDOW_STYLE_EMPTY
+ textscale 0.35
+ rect 475 185 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript quit
+ }
+ }
+
+
+ itemDef
+ {
+ name leaveConfirm
+ type ITEM_TYPE_BUTTON
+ text "OPEN MAIN MENU"
+ group grpConfirm
+ style WINDOW_STYLE_EMPTY
+ rect 475 145 50 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .35
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript leave
+ }}
+
+ }
+}
diff --git a/assets/ui/ingame_map.menu b/assets/ui/ingame_map.menu
new file mode 100644
index 0000000..669cc11
--- /dev/null
+++ b/assets/ui/ingame_map.menu
@@ -0,0 +1,104 @@
+#include "ui/menudef.h"
+{
+#define W 640
+#define H 480
+ menuDef
+ {
+ name "ingame_map"
+ visible MENU_FALSE
+ outOfBoundsClick
+ style WINDOW_STYLE_FILLED
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ onopen
+ {
+ close ingame;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_map
+ open ingame
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -180 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -160 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect -480 250 1280 100
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "but1"
+ type ITEM_TYPE_BUTTON
+ text "Widescreen Resolution (16:9)"
+ style WINDOW_STYLE_EMPTY
+ textscale .5
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 230 265 200 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_map
+ open ingame_map19201080
+ }
+ }
+ itemDef
+ {
+ name "but2"
+ type ITEM_TYPE_BUTTON
+ text "Normal Resolution (4:3)"
+ style WINDOW_STYLE_EMPTY
+ textscale .5
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 230 305 200 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_map
+ open ingame_map640480
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/ingame_map19201080.menu b/assets/ui/ingame_map19201080.menu
new file mode 100644
index 0000000..f69ce55
--- /dev/null
+++ b/assets/ui/ingame_map19201080.menu
@@ -0,0 +1,214 @@
+#include "ui/menudef.h"
+{
+#define W 1000
+#define H 800
+ menuDef
+ {
+ name "ingame_map19201080"
+ visible MENU_TRUE
+ rect 0 0 H W
+ focusColor 1 1 1 1
+ aspectBias ALIGN_LEFT
+ fullscreen 0
+ style WINDOW_STYLE_FILLED
+ onclose
+ {exec stopmusic}
+ onopen
+ {
+ playlooped "ui/assets/maporama.wav"
+ uiScript loadArenas;
+ show mapvote;
+ }
+ onESC
+ {
+ uiScript closeingame
+ exec stopmusic
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -50 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -50 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -50 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "lsm"
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .42
+ rect 215 80 120 45
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "lsmn"
+ text "Load Selected Map Next"
+ type ITEM_TYPE_BUTTON
+ textscale .42
+ rect 350 80 150 45
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ uiScript voteNextMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "rcm"
+ type ITEM_TYPE_BUTTON
+ text "Restart Current Map"
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .42
+ rect 525 65 150 45
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name mappreview
+ ownerdraw UI_SELECTEDMAPPREVIEW
+ rect 420 130 280 280
+ visible 1
+ }
+ itemDef
+ {
+ name "boy"
+ type ITEM_TYPE_OWNERDRAW
+ style WINDOW_STYLE_SHADER
+ rect 600 10 100 95
+ visible 1
+ background "scripts/yboy"
+ }
+
+ itemDef
+ {
+ name "listbox"
+ rect 140 130 280 280
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ backcolor 0.00 1.35 2.55 0.2
+ elementwidth 100
+ elementheight 25
+ textscale .35
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MAPS
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0.8 1 0.1
+ outlinecolor 1 1 1 0.1
+ visible 1
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 425 60 10 -20
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "Yalt's"
+ forecolor 0 0.8 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 425 60 10 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "MAP-O-RAMA"
+ forecolor 0 0.8 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 425 55 10 15
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "The easiest way to vote maps!"
+ forecolor 0 0.8 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "legende"
+ rect 410 420 10 20
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.22
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ text "[yedge]^7=Yalt's Edge Maps [official]^7=Original Tremulous Maps [z]^7=Contributed Maps [xyedge]^7=Ported Maps ^5Maps without any tag = Not on server but on your system!"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/ingame_map640480.menu b/assets/ui/ingame_map640480.menu
new file mode 100644
index 0000000..9d6790e
--- /dev/null
+++ b/assets/ui/ingame_map640480.menu
@@ -0,0 +1,216 @@
+#include "ui/menudef.h"
+{
+#define W 1000
+#define H 800
+ menuDef
+ {
+ name "ingame_map640480"
+ visible MENU_TRUE
+ rect 0 0 H W
+ focusColor 1 1 1 1
+ aspectBias ALIGN_LEFT
+ fullscreen 0
+ style WINDOW_STYLE_FILLED
+ onclose
+ {exec stopmusic}
+ onopen
+ {
+ playlooped "ui/assets/maporama.wav"
+ uiScript loadArenas;
+ show mapvote;
+ }
+ onESC
+ {
+ uiScript closeingame
+ exec stopmusic
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -180 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -160 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name mappreview
+ ownerdraw UI_SELECTEDMAPPREVIEW
+ rect 320 130 280 280
+ visible 1
+ }
+ itemDef
+ {
+ name "boy"
+ type ITEM_TYPE_OWNERDRAW
+ style WINDOW_STYLE_SHADER
+ rect 510 10 100 95
+ visible 1
+ background "scripts/yboy"
+ }
+ itemDef
+ {
+ name "lsm"
+ text "Load Selected Map"
+ type ITEM_TYPE_BUTTON
+ textscale .42
+ rect 115 80 120 30
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "lsmn"
+ text "Load Selected Map Next"
+ type ITEM_TYPE_BUTTON
+ textscale .42
+ rect 250 80 130 30
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ uiScript voteNextMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "rcm"
+ type ITEM_TYPE_BUTTON
+ text "Restart Current Map"
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ style WINDOW_STYLE_EMPTY
+ textscale .42
+ rect 425 80 100 30
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "ui/assets/fart.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "listbox"
+ rect 40 130 280 280
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ backcolor 0.00 1.35 2.55 0.2
+ elementwidth 100
+ elementheight 25
+ textscale .35
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MAPS
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0.8 1 0.1
+ outlinecolor 1 1 1 0.1
+ visible 1
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ exec stopmusic
+ }
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 325 60 10 -20
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "Yalt's"
+ forecolor 0 0.8 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 325 60 10 1
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "MAP-O-RAMA"
+ forecolor 0 0.8 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "MOR"
+ rect 325 55 10 15
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.25
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "The easiest way to vote maps!"
+ forecolor 0 0.8 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "legende"
+ rect 310 420 10 20
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.22
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ text "[yedge]^7=Yalt's Edge Maps [official]^7=Original Tremulous Maps [z]^7=Contributed Maps [xyedge]^7=Ported Maps ^5Maps without any tag = Not on server but on your system!"
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/ingame_options.menu b/assets/ui/ingame_options.menu
new file mode 100644
index 0000000..9dbae40
--- /dev/null
+++ b/assets/ui/ingame_options.menu
@@ -0,0 +1,2081 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME OPTIONS BOX \\
+
+#define W 320
+#define H 290
+#define X 10
+#define Y 60
+#define BORDER 10
+#define TOPBUTT_W ((W-(2*BORDER))/4)
+#define TOPBUTT_H 30
+#define CONTENT_X BORDER
+#define CONTENT_Y ((1.5*BORDER)+TOPBUTT_H)
+#define CONTENT_W (W-(2*BORDER))
+#define CONTENT_OFF (0-(CONTENT_W/2))
+#define SIDEBUTT_W 65
+#define SIDEBUTT_H 25
+#define SCONTENT_X (SIDEBUTT_W+BORDER)
+#define SCONTENT_Y CONTENT_Y
+#define SCONTENT_W (W-(SIDEBUTT_W+(2*BORDER)))
+#define SCONTENT_OFF (0-(SCONTENT_W/2))
+#define RESCOMBO_OFF 8
+#define ELEM_H 16
+#define SA 0.3
+ menuDef
+ {
+ name "ingame_options"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect ((320-(W/2))-40) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onOpen
+ {
+ show hud;
+ hide look;
+ hide ghardware;
+ close ingame;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_options
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -320 -100 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -270 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 -150 1000 600
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect -480 -40 1280 400
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+
+ itemDef
+ {
+ name hudBtn
+ text "Game"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((3*TOPBUTT_W)+BORDER))-10) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ hide load1
+ show hud;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 1 1 1 1;
+ setitemcolor controlsBtn forecolor 0 0.8 1 1;
+ setitemcolor systemBtn forecolor 0 0.8 1 1;
+ }
+ }
+
+ itemDef
+ {
+ name controlsBtn
+ text "Controls"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((2*TOPBUTT_W)+BORDER))+5) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ hide load1
+ show look;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 0 0.8 1 1;
+ setitemcolor controlsBtn forecolor 1 1 1 1;
+ setitemcolor systemBtn forecolor 0 0.8 1 1;
+ }
+ }
+
+ itemDef
+ {
+ name systemBtn
+ text "System"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((1*TOPBUTT_W)+BORDER))+25) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ hide load1
+ show system;
+ show ghardware;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 0 0.8 1 1;
+ setitemcolor controlsBtn forecolor 0 0.8 1 1;
+ setitemcolor systemBtn forecolor 1 1 1 1;
+ }
+ }
+
+
+////////
+#define GX 50
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Player Name:"
+ cvar "name"
+ maxchars 80
+ rect GX 20 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Taunts Sounds Off:"
+ cvar "cg_noTaunt"
+ rect GX 35 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Team Chats Only:"
+ cvar "cg_teamChatsOnly"
+ rect GX 50 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sticky Spectate:"
+ cvar "cg_stickySpec"
+ rect GX 65 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Static Death Cam:"
+ cvar "cg_staticDeathCam"
+ rect GX 80 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Disable Warning Dialogs:"
+ cvar "cg_disableWarningDialogs"
+ cvarFloatList { "No" 0 "Print to Console" 1 "Yes" 2 }
+ rect GX 95 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Crosshair:"
+ cvar "cg_drawCrosshair"
+ cvarFloatList { "Never" 0 "Ranged Weapons Only" 1 "Always" 2 }
+ rect GX 110 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Crosshair Size:"
+ cvar "cg_crosshairSize"
+ cvarFloatList { "Normal" 1 "Small" 0.75 "Tiny" 0.5 "Huge" 1.25 }
+ rect GX 125 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Clock:"
+ cvar "cg_drawClock"
+ cvarFloatList { "No" 0 "12 Hour" 1 "24 Hour" 2 }
+ rect GX 140 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Charge Bar:"
+ cvar "cg_drawChargeBar"
+ rect GX 155 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Lag-o-meter:"
+ cvar "cg_lagometer"
+ rect GX 170 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Team Overlay:"
+ cvar "cg_drawTeamOverlay"
+ cvarFloatList { "Off" 0 "All Teammates" 1 "Support Teammates" 2 "Nearby Teammates" 3 }
+ rect GX 185 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Sort Team Overlay:"
+ cvar "cg_teamOverlaySortMode"
+ cvarFloatList { "None" 0 "Score" 1 "Weapon/Class" 2 }
+ rect GX 200 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Gun:"
+ cvar "cg_drawGun"
+ rect GX 215 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Speed:"
+ cvar "cg_drawspeed"
+ cvarFloatList { "No" 0 "Text" 1 "Graph" 2 "Text + Graph" 3 "Text No-Z" 5 "Graph No-Z" 6 "Text + Graph No-Z" 7 }
+ rect GX 230 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show FPS:"
+ cvar "cg_drawFPS"
+ rect GX 245 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Timer:"
+ cvar "cg_drawTimer"
+ rect GX 260 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Demo State:"
+ cvar "cg_drawDemoState"
+ rect GX 275 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ /////////////////
+#define GC 170
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Auto Wallwalk Pitching:"
+ cvar "cg_wwFollow"
+ rect GC 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sprint Toggles:"
+ cvar "cg_sprintToggle"
+ rect GC 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Wallwalk Control Toggles:"
+ cvar "cg_wwToggle"
+ rect GC 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Wallwalking Speed:"
+ cvar "cg_wwSmoothTime"
+ cvarFloatList { "Medium" 300 "Fast" 150 "Instant" 0 "Slow" 600 }
+ rect GC 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Run / Walk:"
+ cvar "+speed"
+ rect GC 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Dodge:"
+ cvar "+button6"
+ rect GC 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Sprint:"
+ cvar "+button8"
+ rect GC 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Forward:"
+ cvar "+forward"
+ rect GC 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Backpedal:"
+ cvar "+back"
+ rect GC 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Left:"
+ cvar "+moveleft"
+ rect GC 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Right:"
+ cvar "+moveright"
+ rect GC 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Jump:"
+ cvar "+moveup"
+ rect GC 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Crouch:"
+ cvar "+movedown"
+ rect GC 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Left:"
+ cvar "+left"
+ rect GC 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Right:"
+ cvar "+right"
+ rect GC 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Strafe:"
+ cvar "+strafe"
+ rect GC 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+//////// UPGRADES
+#define GB 350
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Primary Attack:"
+ cvar "+attack"
+ rect GB 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Secondary Attack:"
+ cvar "+button5"
+ rect GB 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Previous Upgrade:"
+ cvar "weapprev"
+ rect GB 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Next Upgrade:"
+ cvar "weapnext"
+ rect GB 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Activate Upgrade:"
+ cvar "+button2"
+ rect GB 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Reload:"
+ cvar "reload"
+ rect GB 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Buy Ammo:"
+ cvar "buy ammo"
+ rect GB 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Medkit:"
+ cvar "itemact medkit"
+ rect GB 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Lookup:"
+ cvar "+lookup"
+ rect GB 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Look Down:"
+ cvar "+lookdown"
+ rect GB 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Mouse Look:"
+ cvar "+mlook"
+ rect GB 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Centerview:"
+ cvar "centerview"
+ rect GB 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Free Look:"
+ cvar "cl_freelook"
+ rect GB 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect GB 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect GB 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 GB 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MISC
+#define GA 0
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Show Scores:"
+ cvar "+scores"
+ rect GA 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Up:"
+ cvar "scoresUp"
+ rect GA 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Down:"
+ cvar "scoresDown"
+ rect GA 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Structure/Evolve:"
+ cvar "+button7"
+ rect GA 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Deconstruct Structure:"
+ cvar "deconstruct"
+ rect GA 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Gesture:"
+ cvar "+button3"
+ rect GA 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Chat:"
+ cvar "messagemode"
+ rect GA 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Chat:"
+ cvar "messagemode2"
+ rect GA 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote Yes:"
+ cvar "vote yes"
+ rect GA 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote No:"
+ cvar "vote no"
+ rect GA 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote Yes:"
+ cvar "teamvote yes"
+ rect GA 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote No:"
+ cvar "teamvote no"
+ rect GA 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Screenshot:"
+ cvar "screenshotJPEG"
+ rect GA 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Hummel Fly Button:"
+ cvar "+speed"
+ rect GA 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textstyle ITEM_TEXTSTYLE_BLINK
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+//////// SYSTEM
+#define HA 70
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Quality Preset:"
+ cvar "ui_glCustom"
+ cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
+ rect HA 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update "ui_glCustom"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "GL Extensions:"
+ cvar "r_allowExtensions"
+ rect HA 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCuston
+ }
+ }
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ rect 30 75 130 20
+ type ITEM_TYPE_COMBOBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth ((SCONTENT_W/2)-(2*BORDER))
+ elementheight (ELEM_H)
+ dropitems 16
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_RESOLUTIONS
+ border WINDOW_BORDER_NONE
+ borderColor 0 0.8 1 1
+ textscale SA
+ forecolor 0 0.8 1 1
+ backcolor 0.1 0.1 0.1 1
+ outlinecolor 0.1 0.1 0.1 0
+ visible MENU_FALSE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ 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 HA 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+
+
+//////// GFX SOFTWARE
+#define HB 260
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect HB 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Screen Size:"
+ cvarfloat "cg_viewsize" 100 30 100
+ rect HB 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Marks On Walls:"
+ cvar "cg_marks"
+ rect HB 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Dynamic Lights:"
+ cvar "r_dynamiclight"
+ rect HB 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Gun:"
+ cvar "cg_drawGun"
+ rect HB 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Low Quality Sky:"
+ cvar "r_fastsky"
+ rect HB 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sync Every Frame:"
+ cvar "r_finish"
+ rect HB 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "In Game Videos:"
+ cvar "r_inGameVideo"
+ rect HB 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Depth Sort Particles:"
+ cvar "cg_depthSortParticles"
+ rect HB 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Particle Physics:"
+ cvar "cg_bounceParticles"
+ cvarFloatList { "Low Quality" 0 "High Quality" 1 }
+ rect HB 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect HB 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect HB 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "OpenAL:"
+ cvar "s_useOpenAL"
+ rect HB 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ 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 HB 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Doppler Sound:"
+ cvar "s_doppler"
+ rect HB 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name ghardware
+ 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 HB 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY SETTINGS"
+ style WINDOW_STYLE_EMPTY
+ rect 0 300 150 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_BLINK
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "vid_restart"
+ }
+ }
+
+ }
+}
diff --git a/assets/ui/ingame_robot.menu b/assets/ui/ingame_robot.menu
new file mode 100644
index 0000000..c9c1e02
--- /dev/null
+++ b/assets/ui/ingame_robot.menu
@@ -0,0 +1,440 @@
+#include "ui/menudef.h"
+{
+#define W 999
+#define H 210
+ menuDef
+ {
+ name "ingame_robot"
+ visible 1
+ outOfBoundsClick
+ rect (320-(W/2)) 75 W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen
+ {
+ close ingame;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_robot
+ open ingame
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 -125 1000 500
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -150 -150 1000 600
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "window"
+ rect -10 -50 1000 430
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "confirm1"
+ type ITEM_TYPE_BUTTON
+ text "VOTE DRAW GAME"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((0.4*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote draw draw draw";
+ }
+ }
+ itemDef
+ {
+ name "confirm2"
+ type ITEM_TYPE_BUTTON
+ text "VOTE SUDDEN DEATH"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((0.2*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote sudden_death Now!";
+ }
+ }
+ itemDef
+ {
+ name "confirm3"
+ type ITEM_TYPE_BUTTON
+ text "REGISTER"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((0*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "register";
+ }
+ }
+ itemDef
+ {
+ name "confirm4"
+ type ITEM_TYPE_BUTTON
+ text "APPLY LAG FIX"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((1*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ setcvar cg_EDGEFPSFIX 1;
+ setcvar cl_maxpackets 100;
+ setcvar cg_lagometer 1;
+ setcvar cl_nodelta 0;
+ setcvar snaps 40;
+ setcvar com_maxfps 125;
+ setcvar rate 25000;
+ setcvar cl_packetdups 1;
+ exec "echo ^2Lag Fix applied!";
+ }
+ }
+ itemDef
+ {
+ name "confirm5"
+ type ITEM_TYPE_BUTTON
+ text "UNDO LAG FIX"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((1.2*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ setcvar cg_EDGEFPSFIX 0;
+ setcvar cl_maxpackets 30;
+ setcvar snaps 20;
+ setcvar cl_nodelta 1;
+ setcvar com_maxfps 85;
+ setcvar rate 25000;
+ setcvar cl_packetdups 0;
+ exec "echo ^1Lag Fix undone!";
+ }
+ }
+ itemDef
+ {
+ name "confirm6"
+ type ITEM_TYPE_BUTTON
+ text "RECORD DEMO"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((1.4*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "record demo_edge";
+ }
+ }
+ itemDef
+ {
+ name "confirm7"
+ type ITEM_TYPE_BUTTON
+ text "STOP DEMO"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((1.6*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "stoprecord";
+ }
+ }
+ itemDef
+ {
+ name "confirm8"
+ type ITEM_TYPE_BUTTON
+ text "CREATE CONDUMP"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((1.8*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "condump condump_edge.txt";
+ }
+ }
+ itemDef
+ {
+ name "confirm9"
+ type ITEM_TYPE_BUTTON
+ text "TOGGLE CONSOLE"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((2*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "toggleconsole; echo ^1Use /toggleconsole to close console";
+ }
+ }
+ itemDef
+ {
+ name "confirm10"
+ type ITEM_TYPE_BUTTON
+ text "TURN MAIN CHAT ON"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((2.2*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ setcvar cl_noprint 0;
+ exec "echo ^2MAIN CHAT ON!";
+ }
+ }
+ itemDef
+ {
+ name "confirm11"
+ type ITEM_TYPE_BUTTON
+ text "TURN MAIN CHAT OFF"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((2.4*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "echo ^1MAIN CHAT OFF!";
+ setcvar cl_noprint 1;
+ }
+ }
+ itemDef
+ {
+ name "confirm12"
+ type ITEM_TYPE_BUTTON
+ text "ENABLE THIRD PERSON MODE"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((2.6*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "echo ^2THIRD PERSON MODE ENABLED";
+ setcvar cg_thirdPerson 1;
+ }
+ }
+ itemDef
+ {
+ name "confirm13"
+ type ITEM_TYPE_BUTTON
+ text "DISABLE THIRD PERSON MODE"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((2.8*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "echo ^1THIRD PERSON MODE DISABLED";
+ setcvar cg_thirdPerson 0;
+ }
+ }
+ itemDef
+ {
+ name "confirm13x"
+ type ITEM_TYPE_BUTTON
+ text "TURN NOCLIP OFF"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((3.2*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "echo ^1NOCLIP OFF";
+ exec "cmd noclip 0";
+ }
+ }
+ itemDef
+ {
+ name "confirm13c"
+ type ITEM_TYPE_BUTTON
+ text "TURN NOCLIP ON"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((3.0*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "echo ^2NOCLIP ON";
+ exec "cmd noclip 1";
+ }
+ }
+ itemDef
+ {
+ name "confirm14"
+ type ITEM_TYPE_BUTTON
+ text "VOTE ARMAGEDDON"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((0.8*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote armageddon";
+ }
+ }
+ itemDef
+ {
+ name "confirm15"
+ type ITEM_TYPE_BUTTON
+ text "VOTE TEAM ADMITDEFEAT"
+ style WINDOW_STYLE_EMPTY
+ textscale .3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 0 ((0.6*H)/2) W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callteamvote admitdefeat";
+ }
+ }
+ itemDef
+ {
+ name "confirm16"
+ type ITEM_TYPE_BUTTON
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "^5Yalt's"
+ style WINDOW_STYLE_EMPTY
+ textscale .40
+ rect 0 -43 W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "maplist2"
+ group grpidcredit
+ style WINDOW_STYLE_EMPTY
+ rect 0 -25 W 20
+ type ITEM_TYPE_TEXT
+ textalign ALIGN_CENTER
+ textscale 0.50
+ textstyle ITEM_TEXTSTYLE_BLINK
+ text "^5ROBOT HELPER"
+ forecolor 0 0.8 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/ingame_sbrowser.menu b/assets/ui/ingame_sbrowser.menu
new file mode 100644
index 0000000..4a8a9f2
--- /dev/null
+++ b/assets/ui/ingame_sbrowser.menu
@@ -0,0 +1,578 @@
+#include "ui/menudef.h"
+
+{
+
+ \\ Server Join \\
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define PREVIEW_W 112
+#define PREVIEW_H 84
+#define TOP_W (W-((2*BORDER)+PREVIEW_W))
+#define TOP_H PREVIEW_H
+#define TOP_X BORDER
+#define TOP_Y BORDER
+#define TOPBUTT_W (TOP_W/3)
+#define TOPBUTT_H (TOP_H/2)
+#define TOP_TOFF_X 20
+#define TOP_TOFF_Y 0
+
+#define BCJ_W (W-(2*BORDER))
+#define BCJ_H 50
+#define BCJ_X BORDER
+#define BCJ_Y (H-(BCJ_H+BORDER))
+#define ARROW_W 50
+#define ARROW_H BCJ_H
+
+#define BOT_W (W-(2*BORDER))
+#define BOT_H 45
+#define BOT_X BORDER
+#define BOT_Y (BCJ_Y-BOT_H)
+#define BOTBUTT_W (BOT_W/5)
+#define BOTBUTT_H BOT_H
+
+#define SERVER_C 0.6
+#define MAP_C 0.2
+#define PLAYERS_C 0.1
+#define PING_C 0.1
+#define LIST_W (W-(2*BORDER))
+#define LIST_H (H-((3*BORDER)+TOP_H+BOT_H+BCJ_H))
+#define LIST_X BORDER
+#define LIST_Y ((2*BORDER)+TOP_H)
+#define LIST_TOFF 5
+#define HEADFOOT_H 25
+
+ menuDef
+ {
+ name "ingame_sbrowser"
+ visible MENU_FALSE
+ fullscreen 0
+ rect 0 0 1000 1000
+ focusColor 1 1 1 1
+ outOfBoundsClick
+ style WINDOW_STYLE_EMPTY
+ aspectBias ASPECT_NONE
+ onOpen
+ {
+ uiScript InitServerList 3;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back;
+ close ingame;
+ uiScript UpdateFilter
+ }
+ onEsc {close ingame_sbrowser}
+
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -180 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -160 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name refreshSource
+ text "Get New List"
+ type ITEM_TYPE_BUTTON
+ textscale .5
+ style WINDOW_STYLE_FILLED
+ rect 10 300 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 .9
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshServers
+ }
+ }
+
+ itemDef
+ {
+ name refreshFilter
+ text "Refresh List"
+ textscale .5
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_BUTTON
+ rect 120 300 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 .9
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name gametypefield
+ text "Source:"
+ style WINDOW_STYLE_FILLED
+ ownerdraw UI_NETSOURCE
+ rect 230 300 125 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textalignx -30
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name gametypefield
+ text "Join Server"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 365 300 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name viewEmpty
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Empty:"
+ cvar "ui_browserShowEmpty"
+ textscale .45
+ style WINDOW_STYLE_FILLED
+ rect 10 340 110 25
+ textalignx -15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ 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 .45
+ style WINDOW_STYLE_FILLED
+ rect 10 370 110 25
+ textalignx -15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name server
+ group grpTabs
+ text "Server Name"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect LIST_X (LIST_Y-80) (SERVER_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 0;
+ }
+ }
+ itemDef
+ {
+ name map
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Map Name"
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+(SERVER_C*LIST_W)) (LIST_Y-80) (MAP_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 1;
+ }
+ }
+
+ itemDef
+ {
+ name Ping
+ group grpTabs
+ text "Ping"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+MAP_C+PLAYERS_C)*LIST_W)) (LIST_Y-80) (PING_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 3;
+ }
+ }
+
+ itemDef
+ {
+ name players
+ group grpTabs
+ text "Players"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+MAP_C)*LIST_W)) (LIST_Y-80) (PLAYERS_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 2;
+ }
+ }
+
+
+ // SERVER LIST //
+
+ itemDef
+ {
+ name serverlist
+ rect LIST_X ((LIST_Y+HEADFOOT_H-70)) LIST_W (LIST_H-(2*HEADFOOT_H))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ outlinecolor 1 1 1 0.1
+ elementwidth 120
+ elementheight 25
+ textscale .4
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERS
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .9
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ columns 4
+ LIST_TOFF ((SERVER_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C)*LIST_W)) ((MAP_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+MAP_C)*LIST_W)) ((PLAYERS_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+MAP_C+PLAYERS_C)*LIST_W)) ((PING_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ doubleClick { uiScript JoinServer }
+ }
+
+
+ // BOTTOM BUTTONS //
+
+ itemDef
+ {
+ name password
+ text "Set Password"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 240 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open password_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name createFavorite
+ text "Create Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 130 370 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name addFavorite
+ text "Add Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS
+ style WINDOW_STYLE_FILLED
+ rect 130 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript addFavorite
+ }
+ }
+
+ itemDef
+ {
+ name delfavorite
+ text "Delete Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ style WINDOW_STYLE_FILLED
+ rect 130 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ 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 350 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open serverinfo_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name findplayer
+ text "Find a Friend"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 460 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .9
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open findplayer_popmenu
+ }
+ }
+
+
+ // BACK BAR //
+
+ itemDef
+ {
+ name back
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ type ITEM_TYPE_BUTTON
+
+ text "Close"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close ingame_sbrowser
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+
+ text "Connect"
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/ingame_vote.menu b/assets/ui/ingame_vote.menu
new file mode 100644
index 0000000..70bdfff
--- /dev/null
+++ b/assets/ui/ingame_vote.menu
@@ -0,0 +1,515 @@
+#include "ui/menudef.h"
+
+{
+ \\ VOTE MENU \\
+
+ menuDef
+ {
+ name "ingame_vote"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 27 56 260 107
+ focusColor 1 .75 0 1
+
+ itemDef
+ {
+ name window
+ ownerdrawflag UI_SHOW_CANVOTE
+ ownerdrawflag UI_SHOW_CANTEAMVOTE
+ rect 10 5 240 47
+ 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
+ }
+
+ itemDef
+ {
+ name window
+ ownerdrawflag UI_SHOW_VOTEACTIVE
+ ownerdrawflag UI_SHOW_CANTEAMVOTE
+ rect 10 5 240 72
+ 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
+ }
+
+ itemDef
+ {
+ name window
+ ownerdrawflag UI_SHOW_TEAMVOTEACTIVE
+ rect 10 5 240 97
+ 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
+ }
+
+ itemDef
+ {
+ name callvote
+ text "Call Vote"
+ type 1
+ ownerdrawflag UI_SHOW_CANVOTE
+ textscale .35
+ rect 30 20 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_vote;
+ open ingame_callvote
+ }
+ }
+
+ itemDef
+ {
+ name callteamvote
+ text "Call Team Vote"
+ type 1
+ ownerdrawflag UI_SHOW_CANTEAMVOTE
+ textscale .35
+ rect 130 20 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_vote;
+ open ingame_callteamvote
+ }
+ }
+
+ itemDef
+ {
+ name yes
+ text "Vote Yes"
+ type 1
+ ownerdrawflag UI_SHOW_VOTEACTIVE
+ textscale .35
+ rect 30 45 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "vote yes";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name no
+ text "Vote No"
+ type 1
+ ownerdrawflag UI_SHOW_VOTEACTIVE
+ textscale .35
+ rect 130 45 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu4.wav";
+ exec "vote no";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamyes
+ text "Team Vote Yes"
+ type 1
+ ownerdrawflag UI_SHOW_TEAMVOTEACTIVE
+ textscale .35
+ rect 30 70 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "teamvote yes";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name teamno
+ text "Team Vote No"
+ type 1
+ ownerdrawflag UI_SHOW_TEAMVOTEACTIVE
+ textscale .35
+ rect 130 70 100 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 50
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu4.wav";
+ exec "teamvote no";
+ uiScript closeingame
+ }
+ }
+
+/* itemDef
+ {
+ name miscBtn
+ text "Misc"
+ textscale .25
+ group grpbutton
+ rect 20 75 45 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpCallVote;
+ show misc;
+
+ setitemcolor miscBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor kickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor teamKickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor mapBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name kickBtn
+ text "Kick"
+ textscale .25
+ group grpbutton
+ rect 20 100 45 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpCallVote;
+ show kick;
+
+ setitemcolor miscBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor kickBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor teamKickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor mapBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name teamKickBtn
+ text "Team Kick"
+ textscale .25
+ group grpbutton
+ rect 20 125 45 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpCallVote;
+ show teamKick;
+
+ setitemcolor miscBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor kickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor teamKickBtn forecolor 0.2 0.2 0.2 1.0;
+ setitemcolor mapBtn forecolor 1.0 1.0 1.0 1.0
+ }
+ }
+
+ itemDef
+ {
+ name mapBtn
+ text "Map"
+ textscale .25
+ group grpbutton
+ rect 20 150 45 20
+ type ITEM_TYPE_BUTTON
+ textalign ITEM_ALIGN_CENTER
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide grpCallVote;
+ show map;
+
+ setitemcolor miscBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor kickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor teamKickBtn forecolor 1.0 1.0 1.0 1.0;
+ setitemcolor mapBtn forecolor 0.2 0.2 0.2 1.0
+ }
+ }
+
+
+ // MISC //
+
+ itemDef
+ {
+ name misc
+ text "Restart Map"
+ group grpCallVote
+ textscale .25
+ rect 100 105 96 20
+ type 1
+ textalign 1
+ textalignx 50
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote map_restart";
+ uiScript closeingame
+ }
+ }
+
+ itemDef
+ {
+ name misc
+ group grpCallVote
+ text "Next Map"
+ textscale .25
+ rect 100 135 96 20
+ type 1
+ textalign 1
+ textalignx 50
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "cmd callvote nextmap";
+ uiScript closeingame
+ }
+ }
+
+
+ // KICK PLAYER //
+
+ itemDef
+ {
+ name kick
+ group grpCallVote
+ text "Kick Player:"
+ textscale .25
+ rect 80 75 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name kick
+ group grpCallVote
+ rect 80 95 150 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ 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 1 1 1 0.1
+ visible 0
+ }
+
+ itemDef
+ {
+ name kick
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpCallVote
+ rect 183 185 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteKick;
+ uiScript closeingame
+ }
+ }
+
+
+ // TEAM KICK PLAYER //
+
+ itemDef
+ {
+ name teamKick
+ group grpCallVote
+ text "Team Kick Player:"
+ textscale .25
+ rect 80 75 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ }
+
+ itemDef
+ {
+ name teamKick
+ group grpCallVote
+ rect 80 95 150 85
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ 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 1 1 1 0.1
+ visible 0
+ }
+
+ itemDef
+ {
+ name teamKick
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpCallVote
+ rect 183 185 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteTeamKick;
+ uiScript closeingame
+ }
+ }
+
+
+ // NEW MAP //
+
+ itemDef
+ {
+ name map
+ group grpCallVote
+ text "New Map:"
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .25
+ rect 80 75 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+ itemDef
+ {
+ name map
+ group grpCallVote
+ rect 80 95 150 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ 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 1 1 1 0.1
+ visible 0
+ }
+
+ itemDef
+ {
+ name map
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ group grpCallVote
+ rect 183 185 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ visible 0
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript voteMap;
+ uiScript closeingame
+ }
+ }*/
+ }
+}
diff --git a/assets/ui/ingame_yehelp.menu b/assets/ui/ingame_yehelp.menu
new file mode 100644
index 0000000..a9f9aa7
--- /dev/null
+++ b/assets/ui/ingame_yehelp.menu
@@ -0,0 +1,87 @@
+#include "ui/menudef.h"
+{
+#define W 800
+#define H 300
+ menuDef
+ {
+ name "ingame_yehelp"
+ visible 1
+ outOfBoundsClick
+ rect 0 0 W 450
+ fullscreen 0
+ style WINDOW_STYLE_FILLED
+ onopen
+ {
+ close ingame;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close "ingame_yehelp"
+ }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect -180 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect -160 0 1000 480
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect -250 0 1000 480
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name "list"
+ rect 70 60 130 380
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ forecolor 0 0.8 1 1
+ outlinecolor 1 1 1 0.1
+ backcolor 0 0 0 .9
+ elementwidth 5
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HELP_LIST
+ visible 1
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HELPINFOPANE
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ rect 210 60 420 380
+ textscale .28
+ textaligny 25
+ textalignx 25
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ forecolor 0 0.8 1 1
+ visible 1
+ decoration
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/joinserver.menu b/assets/ui/joinserver.menu
new file mode 100644
index 0000000..8cc370f
--- /dev/null
+++ b/assets/ui/joinserver.menu
@@ -0,0 +1,612 @@
+#include "ui/menudef.h"
+
+{
+
+ \\ Server Join \\
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define PREVIEW_W 112
+#define PREVIEW_H 84
+#define TOP_W (W-((2*BORDER)+PREVIEW_W))
+#define TOP_H PREVIEW_H
+#define TOP_X BORDER
+#define TOP_Y BORDER
+#define TOPBUTT_W (TOP_W/3)
+#define TOPBUTT_H (TOP_H/2)
+#define TOP_TOFF_X 20
+#define TOP_TOFF_Y 0
+
+#define BCJ_W (W-(2*BORDER))
+#define BCJ_H 50
+#define BCJ_X BORDER
+#define BCJ_Y (H-(BCJ_H+BORDER))
+#define ARROW_W 50
+#define ARROW_H BCJ_H
+
+#define BOT_W (W-(2*BORDER))
+#define BOT_H 45
+#define BOT_X BORDER
+#define BOT_Y (BCJ_Y-BOT_H)
+#define BOTBUTT_W (BOT_W/5)
+#define BOTBUTT_H BOT_H
+
+#define SERVER_C 0.6
+#define MAP_C 0.2
+#define PLAYERS_C 0.1
+#define PING_C 0.1
+#define LIST_W (W-(2*BORDER))
+#define LIST_H (H-((3*BORDER)+TOP_H+BOT_H+BCJ_H))
+#define LIST_X BORDER
+#define LIST_Y ((2*BORDER)+TOP_H)
+#define LIST_TOFF 5
+#define HEADFOOT_H 25
+
+ menuDef
+ {
+ name "joinserver"
+ visible MENU_FALSE
+ fullscreen MENU_TRUE
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ outOfBoundsClick
+ style WINDOW_STYLE_EMPTY
+ aspectBias ASPECT_NONE
+ background "ui/assets/warp_splash_m.jpg"
+ onOpen
+ {
+ uiScript InitServerList 3;
+ hide accept_alt;
+ show accept;
+ hide back_alt;
+ show back;
+ uiScript UpdateFilter
+ }
+
+ onEsc { uiScript closeJoin }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 442
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 12 640 442
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 440
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 70 0 500 500
+ style WINDOW_STYLE_GRADIENT
+ backcolor 0.0 1.35 2.55 0
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name refreshSource
+ text "Get New List"
+ type ITEM_TYPE_BUTTON
+ textscale .5
+ style WINDOW_STYLE_FILLED
+ rect 10 300 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ backcolor 0.3 0.3 0.3 .3
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshServers
+ }
+ }
+
+ itemDef
+ {
+ name refreshFilter
+ text "Refresh List"
+ textscale .5
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_BUTTON
+ rect 120 300 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ backcolor 0.3 0.3 0.3 .3
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name gametypefield
+ text "Source:"
+ style WINDOW_STYLE_FILLED
+ ownerdraw UI_NETSOURCE
+ rect 230 300 125 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textalignx -30
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .3
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav"
+ }
+ }
+
+ itemDef
+ {
+ name gametypefield
+ text "Join Server"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 365 300 80 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .3
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name gametypefield
+ text "Create Server"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 455 300 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .3
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createserver
+ }
+ }
+
+ itemDef
+ {
+ name viewEmpty
+ style WINDOW_STYLE_EMPTY
+ type ITEM_TYPE_YESNO
+ text "View Empty:"
+ cvar "ui_browserShowEmpty"
+ textscale .45
+ style WINDOW_STYLE_FILLED
+ rect 10 340 110 25
+ textalignx -15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ 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 .45
+ style WINDOW_STYLE_FILLED
+ rect 10 370 110 25
+ textalignx -15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript RefreshFilter
+ }
+ }
+
+ itemDef
+ {
+ name server
+ group grpTabs
+ text "Server Name"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect LIST_X (LIST_Y-80) (SERVER_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .3
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 0;
+ }
+ }
+ itemDef
+ {
+ name map
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Map Name"
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+(SERVER_C*LIST_W)) (LIST_Y-80) (MAP_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .3
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 1;
+ }
+ }
+
+ itemDef
+ {
+ name Ping
+ group grpTabs
+ text "Ping"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+MAP_C+PLAYERS_C)*LIST_W)) (LIST_Y-80) (PING_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .3
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 3;
+ }
+ }
+
+ itemDef
+ {
+ name players
+ group grpTabs
+ text "Players"
+ type ITEM_TYPE_BUTTON
+ textscale .33
+ style WINDOW_STYLE_FILLED
+ rect (LIST_X+((SERVER_C+MAP_C)*LIST_W)) (LIST_Y-80) (PLAYERS_C*LIST_W) HEADFOOT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx LIST_TOFF
+ border WINDOW_BORDER_NONE
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 .3
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerSort 2;
+ }
+ }
+
+
+ // SERVER LIST //
+
+ itemDef
+ {
+ name serverlist
+ rect LIST_X ((LIST_Y+HEADFOOT_H-70)) LIST_W (LIST_H-(2*HEADFOOT_H))
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ outlinecolor 1 1 1 0.1
+ elementwidth 120
+ elementheight 25
+ textscale .4
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERS
+ border WINDOW_BORDER_NONE
+ backcolor 0 0 0 .3
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ columns 4
+ LIST_TOFF ((SERVER_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C)*LIST_W)) ((MAP_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+MAP_C)*LIST_W)) ((PLAYERS_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ (LIST_TOFF+((SERVER_C+MAP_C+PLAYERS_C)*LIST_W)) ((PING_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT
+ doubleClick { uiScript JoinServer }
+ }
+
+
+ // BOTTOM BUTTONS //
+
+ itemDef
+ {
+ name password
+ text "Set Password"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 240 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open password_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name createFavorite
+ text "Create Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 130 370 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open createfavorite_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name addFavorite
+ text "Add Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS
+ style WINDOW_STYLE_FILLED
+ rect 130 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript addFavorite
+ }
+ }
+
+ itemDef
+ {
+ name delfavorite
+ text "Delete Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ style WINDOW_STYLE_FILLED
+ rect 130 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ 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 350 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open serverinfo_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name findplayer
+ text "Find a Friend"
+ type ITEM_TYPE_BUTTON
+ textscale .4
+ style WINDOW_STYLE_FILLED
+ rect 460 340 100 25
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ backcolor 0.3 0.3 0.3 .2
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ open findplayer_popmenu
+ }
+ }
+
+
+ // BACK BAR //
+
+ itemDef
+ {
+ name back
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver
+ }
+
+ mouseEnter
+ {
+ hide back;
+ show back_alt
+ }
+ }
+
+ itemDef
+ {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow.tga"
+ rect BCJ_X (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_LEFT
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ type ITEM_TYPE_BUTTON
+
+ text "Back"
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textalignx ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide back_alt;
+ show back
+ }
+
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close joinserver
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name accept
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ mouseEnter
+ {
+ hide accept;
+ show accept_alt
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+
+ itemDef
+ {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect (BCJ_X+570) (BCJ_Y-17) ARROW_H ARROW_W
+ aspectBias ALIGN_RIGHT
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+
+ text "Connect"
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx -ARROW_W
+ textscale .6
+
+ mouseExit
+ {
+ hide accept_alt;
+ show accept
+ }
+
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinServer
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/loading.menu b/assets/ui/loading.menu
new file mode 100644
index 0000000..458b245
--- /dev/null
+++ b/assets/ui/loading.menu
@@ -0,0 +1,146 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+#define BORDER 10
+
+#define SHOT_W 320
+#define SHOT_H 240
+#define SHOT_X (W-(BORDER+SHOT_W))
+#define SHOT_Y BORDER
+
+#define INFO_X BORDER
+#define INFO_W (W-((3*BORDER)+SHOT_W))
+#define LEVEL_Y BORDER
+#define LEVEL_H 30
+#define HOST_Y (LEVEL_H+(2*BORDER))
+#define HOST_H 30
+#define MOTD_Y (LEVEL_H+HOST_H+(3*BORDER))
+#define MOTD_H ((BORDER+SHOT_H)-MOTD_Y)
+
+#define MAIN_W (W-(2*BORDER))
+#define LABEL_W 180
+#define LABEL_X (W-(LABEL_W+BORDER))
+#define BAR_H ((H-((6*BORDER)+SHOT_H))/4)
+#define BAR_W (MAIN_W-(LABEL_W+BORDER))
+#define BAR_X BORDER
+#define MEDIA_Y (H-((4*BORDER)+(4*BAR_H)))
+#define BUILD_Y (H-((3*BORDER)+(3*BAR_H)))
+#define CHAR_Y (H-((2*BORDER)+(2*BAR_H)))
+#define OVER_Y (H-(BORDER+BAR_H))
+
+ assetGlobalDef
+ {
+ cursor "ui/assets/3_cursor3"
+ gradientBar "ui/assets/gradientbar2.tga"
+ fadeClamp 1.0
+ fadeCycle 1
+ fadeAmount 0.1
+ shadowX 5
+ shadowY 5
+ shadowColor 0.1 0.1 0.1 0.25
+ font "fonts/font" 26
+ smallFont "fonts/smallfont" 20
+ bigFont "fonts/bigfont" 34
+ }
+
+ menuDef
+ {
+ name "Loading"
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/warp_splash_m.jpg"
+ fullScreen MENU_TRUE
+ aspectBias ASPECT_NONE
+
+
+ itemDef
+ {
+ name background
+ rect 0 11 W 442
+ style WINDOW_STYLE_FILLED
+ ownerdraw CG_LOAD_LEVELSHOT
+ visible 1
+ decoration
+ }
+
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 442
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 12 640 442
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 440
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 70 0 500 500
+ style WINDOW_STYLE_GRADIENT
+ backcolor 0.0 1.35 2.55 0
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "loading_add"
+ style WINDOW_STYLE_SHADER
+ rect 148 443 345 55
+ visible 1
+ background "scripts/loading_add"
+ decoration
+ }
+
+ itemDef
+ {
+ name "lvlname"
+ rect 180 454 280 30
+ visible MENU_TRUE
+ forecolor 1 1 1 1
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale 0.3
+ ownerdraw CG_LOAD_LEVELNAME
+ style WINDOW_STYLE_FILLED
+ decoration
+ }
+
+ itemDef
+ {
+ name "loading"
+ style WINDOW_STYLE_SHADER
+ rect 370 162 300 400
+ visible 1
+ background "scripts/e6"
+ decoration
+ }
+
+ }
+}
diff --git a/assets/ui/main.menu b/assets/ui/main.menu
new file mode 100644
index 0000000..4cb9613
--- /dev/null
+++ b/assets/ui/main.menu
@@ -0,0 +1,196 @@
+#include "ui/menudef.h"
+
+{
+ assetGlobalDef
+ {
+ font "fonts/font" 26
+ smallFont "fonts/smallfont" 20
+ bigFont "fonts/bigfont" 34
+
+ 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 1 1 1 1 // 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 1 1 1 // Menu focus color for text and items
+ background "ui/assets/warp_splash_m.jpg"
+ aspectBias ASPECT_NONE
+ onOpen { uiScript stopRefresh ; playlooped "ui/assets/edge_heartbeat.wav" }
+ onESC { open quit_popmenu }
+
+ itemDef
+ {
+ name "aurora_add"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 442
+ visible 1
+ background "ui/menu_main_aurora_base_stars"
+ decoration
+ }
+
+ itemDef
+ {
+ name "aurora"
+ style WINDOW_STYLE_SHADER
+ rect 0 12 640 442
+ visible 1
+ background "ui/menu_main_aurora_base"
+ decoration
+ }
+
+ itemDef
+ {
+ name "dist"
+ style WINDOW_STYLE_SHADER
+ rect 0 13 640 440
+ visible 1
+ background "gfx/edge/basi_invisble_overlay"
+ decoration
+ }
+
+ itemDef
+ {
+ name window
+ rect 70 0 500 500
+ style WINDOW_STYLE_GRADIENT
+ backcolor 0.0 1.35 2.55 0
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name "edge_logo"
+ style WINDOW_STYLE_SHADER
+ rect 215 75 212 140
+ visible 1
+ background "ui/edge_logo"
+ decoration
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "ENTER New EDGE SERVER"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 270 210 100 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .40
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ exec stopmusic
+ exec "connect 95.85.34.7:30720";
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "SERVER BROWSER"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 270 230 100 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ open joinserver
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "OPTIONS"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .4
+ rect 270 250 100 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ backcolor 0 0 0 0
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ open simple_options
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "QUIT"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 270 270 100 20
+ textscale .4
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ uiScript "quit"
+ }
+ }
+ itemDef
+ {
+ name copyright
+ type ITEM_TYPE_TEXT
+ text "Tremulous (C) 2005-2009 darklegion development | EDGE (C) 2012-2013 yalt"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .22
+ rect 0 467 640 10
+ textalign ALIGN_CENTER
+ forecolor 0.5 0.5 0.5 1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "terminal"
+ style WINDOW_STYLE_SHADER
+ rect 210 374 220 80
+ visible 1
+ background "ui/edgeterminal"
+ decoration
+ }
+ itemDef
+ {
+ name copyright
+ type ITEM_TYPE_TEXT
+ text "www.new-edge.org"
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_BLINK
+ textscale .35
+ rect 0 423 635 10
+ textalign ALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ decoration
+ }
+ }
+}
diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h
new file mode 100644
index 0000000..3e7796f
--- /dev/null
+++ b/assets/ui/menudef.h
@@ -0,0 +1,229 @@
+#ifndef MENUDEF_H
+#define MENUDEF_H
+
+enum
+{
+ ITEM_TYPE_ANY = -1, // invalid type
+ ITEM_TYPE_NONE, // no specified type
+ ITEM_TYPE_TEXT, // simple text
+ ITEM_TYPE_BUTTON, // button, basically text with a border
+ ITEM_TYPE_RADIOBUTTON, // toggle button, may be grouped
+ ITEM_TYPE_CHECKBOX, // check box
+ ITEM_TYPE_EDITFIELD, // editable text, associated with a cvar
+ ITEM_TYPE_SAYFIELD, // the chat field
+ ITEM_TYPE_CYCLE, // cycling list
+ ITEM_TYPE_LISTBOX, // scrollable list
+ ITEM_TYPE_COMBOBOX, // drop down scrollable list
+ ITEM_TYPE_MODEL, // model
+ ITEM_TYPE_OWNERDRAW, // owner draw, has an associated ownerdraw number
+ ITEM_TYPE_NUMERICFIELD, // editable text, associated with a cvar
+ ITEM_TYPE_SLIDER, // mouse speed, volume, etc.
+ ITEM_TYPE_YESNO, // boolean cvar setting
+ ITEM_TYPE_MULTI, // multiple list setting, enumerated
+ ITEM_TYPE_BIND // keyboard control configuration
+};
+
+// The first items in these enums are the defaults if menus do not specify
+enum
+{
+ ALIGN_LEFT, // left alignment
+ ALIGN_CENTER, // center alignment
+ ALIGN_RIGHT, // right alignment
+ ASPECT_NONE, // no aspect compensation
+ ALIGN_NONE
+};
+
+enum
+{
+ VALIGN_BOTTOM, // bottom alignment
+ VALIGN_CENTER, // center alignment
+ VALIGN_TOP, // top alignment
+ VALIGN_NONE
+};
+
+enum
+{
+ ITEM_TEXTSTYLE_NORMAL, // normal text
+ ITEM_TEXTSTYLE_BLINK, // fast blinking
+ ITEM_TEXTSTYLE_PULSE, // slow pulsing
+ ITEM_TEXTSTYLE_SHADOWED, // drop shadow (need a color for this)
+ ITEM_TEXTSTYLE_OUTLINED, // apparently unimplemented
+ ITEM_TEXTSTYLE_OUTLINESHADOWED, // apparently unimplemented
+ ITEM_TEXTSTYLE_SHADOWEDMORE, // drop shadow (need a color for this)
+ ITEM_TEXTSTYLE_NEON // glow (need a color for this)
+};
+
+enum
+{
+ WINDOW_BORDER_NONE, // no border
+ WINDOW_BORDER_FULL, // full border based on border color (single pixel)
+ WINDOW_BORDER_HORZ, // horizontal borders only
+ WINDOW_BORDER_VERT, // vertical borders only
+ WINDOW_BORDER_KCGRADIENT // horizontal border using the gradient bars
+};
+
+enum
+{
+ WINDOW_STYLE_EMPTY, // no background
+ WINDOW_STYLE_FILLED, // filled with background color
+ WINDOW_STYLE_GRADIENT, // gradient bar based on background color
+ WINDOW_STYLE_SHADER, // use background shader
+ WINDOW_STYLE_TEAMCOLOR, // team color
+ WINDOW_STYLE_CINEMATIC // cinematic
+};
+
+#define MENU_TRUE 1 // uh.. true
+#define MENU_FALSE 0 // and false
+
+enum
+{
+ HUD_VERTICAL,
+ HUD_HORIZONTAL
+};
+
+// list box element types
+enum
+{
+ LISTBOX_TEXT,
+ LISTBOX_IMAGE
+};
+
+// list feeders
+enum
+{
+ FEEDER_SERVERS, // servers
+ FEEDER_MAPS, // all maps available, in graphic format
+ FEEDER_ALIENTEAM_LIST, // alien team members
+ FEEDER_HUMANTEAM_LIST, // human team members
+ FEEDER_TEAM_LIST, // team members for team voting
+ FEEDER_PLAYER_LIST, // players
+ FEEDER_NEWS, // news
+ FEEDER_MODS, // list of available mods
+ FEEDER_DEMOS, // list of available demo files
+ FEEDER_SERVERSTATUS, // server status
+ FEEDER_FINDPLAYER, // find player
+ FEEDER_CINEMATICS, // cinematics
+
+ FEEDER_TREMTEAMS, // teams
+ FEEDER_TREMALIENCLASSES, // alien classes
+ FEEDER_TREMHUMANITEMS, // human items
+ FEEDER_TREMHUMANARMOURYBUY, // human buy
+ FEEDER_TREMHUMANARMOURYSELL, // human sell
+ FEEDER_TREMALIENUPGRADE, // alien upgrade
+ FEEDER_TREMALIENBUILD, // alien buildables
+ FEEDER_TREMHUMANBUILD, // human buildables
+ FEEDER_IGNORE_LIST, // ignored players
+ FEEDER_HELP_LIST, // help topics
+ FEEDER_RESOLUTIONS // display resolutions
+};
+
+// display flags
+#define UI_SHOW_FAVORITESERVERS 0x00000001
+#define UI_SHOW_NOTFAVORITESERVERS 0x00000002
+
+#define UI_SHOW_VOTEACTIVE 0x00000004
+#define UI_SHOW_CANVOTE 0x00000008
+#define UI_SHOW_TEAMVOTEACTIVE 0x00000010
+#define UI_SHOW_CANTEAMVOTE 0x00000020
+
+#define UI_SHOW_NOTSPECTATING 0x00000040
+
+// owner draw types
+enum
+{
+ CG_PLAYER_HEALTH,
+ CG_PLAYER_HEALTH_CROSS,
+ CG_PLAYER_AMMO_VALUE,
+ CG_PLAYER_CLIPS_VALUE,
+ CG_PLAYER_BUILD_TIMER,
+ CG_PLAYER_CREDITS_VALUE,
+ CG_PLAYER_CREDITS_VALUE_NOPAD,
+ CG_PLAYER_STAMINA,
+ CG_PLAYER_STAMINA_1,
+ CG_PLAYER_STAMINA_2,
+ CG_PLAYER_STAMINA_3,
+ CG_PLAYER_STAMINA_4,
+ CG_PLAYER_STAMINA_BOLT,
+ CG_PLAYER_BOOST_BOLT,
+ CG_PLAYER_CLIPS_RING,
+ CG_PLAYER_BUILD_TIMER_RING,
+ CG_PLAYER_SELECT,
+ CG_PLAYER_SELECTTEXT,
+ CG_PLAYER_WEAPONICON,
+ CG_PLAYER_WALLCLIMBING,
+ CG_PLAYER_BOOSTED,
+ CG_PLAYER_POISON_BARBS,
+ CG_PLAYER_BOMBS,
+ CG_PLAYER_PRICKLES,
+ CG_PLAYER_FBREATH,
+ CG_DRAW_INVI_STAT,
+ CG_DRAW_INVI_OVERLAY,
+ CG_PLAYER_ALIEN_SENSE,
+ CG_PLAYER_HUMAN_SCANNER,
+ CG_PLAYER_USABLE_BUILDABLE,
+ CG_PLAYER_CHARGE_BAR_BG,
+ CG_PLAYER_CHARGE_BAR,
+ CG_PLAYER_CROSSHAIR,
+ CG_PLAYER_LOCATION,
+ CG_TEAMOVERLAY,
+ CG_PLAYER_CREDITS_FRACTION,
+
+ CG_KILLER,
+ CG_SPECTATORS,
+ CG_FOLLOW,
+
+// loading screen
+ CG_LOAD_LEVELSHOT,
+ CG_LOAD_EDGESHOT,
+ CG_LOAD_MEDIA,
+ CG_LOAD_MEDIA_LABEL,
+ CG_LOAD_BUILDABLES,
+ CG_LOAD_BUILDABLES_LABEL,
+ CG_LOAD_CHARMODEL,
+ CG_LOAD_CHARMODEL_LABEL,
+ CG_LOAD_OVERALL,
+ CG_LOAD_LEVELNAME,
+ CG_LOAD_MOTD,
+ CG_LOAD_HOSTNAME,
+
+ CG_FPS,
+ CG_FPS_FIXED,
+ CG_TIMER,
+ CG_TIMER_MINS,
+ CG_TIMER_SECS,
+ CG_SNAPSHOT,
+ CG_LAGOMETER,
+ CG_SPEEDOMETER,
+ CG_PLAYER_CROSSHAIRNAMES,
+ CG_STAGE_REPORT_TEXT,
+ CG_ALIENS_SCORE_LABEL,
+ CG_HUMANS_SCORE_LABEL,
+ CG_DEMO_PLAYBACK,
+ CG_DEMO_RECORDING,
+
+ CG_CONSOLE,
+ CG_TUTORIAL,
+ CG_CLOCK,
+
+ UI_NETSOURCE,
+ UI_NETMAPPREVIEW,
+ UI_NETMAPCINEMATIC,
+ UI_SERVERREFRESHDATE,
+ UI_SERVERMOTD,
+ UI_GLINFO,
+ UI_KEYBINDSTATUS,
+ UI_SELECTEDMAPPREVIEW,
+ UI_SELECTEDMAPNAME,
+
+ UI_TEAMINFOPANE,
+ UI_ACLASSINFOPANE,
+ UI_AUPGRADEINFOPANE,
+ UI_HITEMINFOPANE,
+ UI_HBUYINFOPANE,
+ UI_HSELLINFOPANE,
+ UI_ABUILDINFOPANE,
+ UI_HBUILDINFOPANE,
+ UI_HELPINFOPANE
+};
+
+#endif
diff --git a/assets/ui/menus.txt b/assets/ui/menus.txt
new file mode 100644
index 0000000..22cd243
--- /dev/null
+++ b/assets/ui/menus.txt
@@ -0,0 +1,16 @@
+// menu defs
+//
+{
+ loadMenu { "ui/main.menu" }
+ loadMenu { "ui/options.menu" }
+ loadMenu { "ui/connect.menu" }
+ loadMenu { "ui/error.menu" }
+ loadMenu { "ui/drop.menu" }
+ loadMenu { "ui/joinserver.menu" }
+ loadMenu { "ui/createserver.menu" }
+ loadMenu { "ui/password.menu" }
+ loadMenu { "ui/download.menu" }
+ loadMenu { "ui/serverinfo.menu" }
+ loadMenu { "ui/findplayer.menu" }
+ loadMenu { "ui/createfavorite.menu" }
+}
diff --git a/assets/ui/options.menu b/assets/ui/options.menu
new file mode 100644
index 0000000..cf503df
--- /dev/null
+++ b/assets/ui/options.menu
@@ -0,0 +1,2049 @@
+#include "ui/menudef.h"
+
+{
+ \\ INGAME OPTIONS BOX \\
+
+#define W 320
+#define H 290
+#define X 10
+#define Y 60
+#define BORDER 10
+#define TOPBUTT_W ((W-(2*BORDER))/4)
+#define TOPBUTT_H 30
+#define CONTENT_X BORDER
+#define CONTENT_Y ((1.5*BORDER)+TOPBUTT_H)
+#define CONTENT_W (W-(2*BORDER))
+#define CONTENT_OFF (0-(CONTENT_W/2))
+#define SIDEBUTT_W 65
+#define SIDEBUTT_H 25
+#define SCONTENT_X (SIDEBUTT_W+BORDER)
+#define SCONTENT_Y CONTENT_Y
+#define SCONTENT_W (W-(SIDEBUTT_W+(2*BORDER)))
+#define SCONTENT_OFF (0-(SCONTENT_W/2))
+#define RESCOMBO_OFF 8
+#define ELEM_H 16
+#define SA 0.3
+ menuDef
+ {
+ name "simple_options"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect ((320-(W/2))-40) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_FULL
+ popup
+ onOpen
+ {
+ show hud;
+ hide look;
+ hide ghardware;
+ }
+ onESC
+ {
+ play "sound/misc/menu1.wav";
+ close ingame_options
+ }
+ itemDef
+ {
+ name "window"
+ rect -480 -40 1280 400
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+
+ itemDef
+ {
+ name hudBtn
+ text "Game"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((3*TOPBUTT_W)+BORDER))-10) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ hide load1
+ show hud;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 1 1 1 1;
+ setitemcolor controlsBtn forecolor 0 0.8 1 1;
+ setitemcolor systemBtn forecolor 0 0.8 1 1;
+ }
+ }
+
+ itemDef
+ {
+ name controlsBtn
+ text "Controls"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((2*TOPBUTT_W)+BORDER))+5) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ show controls;
+ hide load1
+ show look;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 0 0.8 1 1;
+ setitemcolor controlsBtn forecolor 1 1 1 1;
+ setitemcolor systemBtn forecolor 0 0.8 1 1;
+ }
+ }
+
+ itemDef
+ {
+ name systemBtn
+ text "System"
+ group menuGrp
+ style WINDOW_STYLE_EMPTY
+ rect ((W-((1*TOPBUTT_W)+BORDER))+25) -30 TOPBUTT_W TOPBUTT_H
+ type ITEM_TYPE_BUTTON
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .6
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ hide optionsGrp;
+ hide load1
+ show system;
+ show ghardware;
+
+ setitemcolor playerBtn forecolor 0 0.8 1 1;
+ setitemcolor hudBtn forecolor 0 0.8 1 1;
+ setitemcolor controlsBtn forecolor 0 0.8 1 1;
+ setitemcolor systemBtn forecolor 1 1 1 1;
+ }
+ }
+
+
+////////
+#define GX 50
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Player Name:"
+ cvar "name"
+ maxchars 80
+ rect GX 20 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Taunts Sounds Off:"
+ cvar "cg_noTaunt"
+ rect GX 35 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Team Chats Only:"
+ cvar "cg_teamChatsOnly"
+ rect GX 50 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sticky Spectate:"
+ cvar "cg_stickySpec"
+ rect GX 65 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Static Death Cam:"
+ cvar "cg_staticDeathCam"
+ rect GX 80 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Disable Warning Dialogs:"
+ cvar "cg_disableWarningDialogs"
+ cvarFloatList { "No" 0 "Print to Console" 1 "Yes" 2 }
+ rect GX 95 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Crosshair:"
+ cvar "cg_drawCrosshair"
+ cvarFloatList { "Never" 0 "Ranged Weapons Only" 1 "Always" 2 }
+ rect GX 110 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Crosshair Size:"
+ cvar "cg_crosshairSize"
+ cvarFloatList { "Normal" 1 "Small" 0.75 "Tiny" 0.5 "Huge" 1.25 }
+ rect GX 125 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Clock:"
+ cvar "cg_drawClock"
+ cvarFloatList { "No" 0 "12 Hour" 1 "24 Hour" 2 }
+ rect GX 140 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Charge Bar:"
+ cvar "cg_drawChargeBar"
+ rect GX 155 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Lag-o-meter:"
+ cvar "cg_lagometer"
+ rect GX 170 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Team Overlay:"
+ cvar "cg_drawTeamOverlay"
+ cvarFloatList { "Off" 0 "All Teammates" 1 "Support Teammates" 2 "Nearby Teammates" 3 }
+ rect GX 185 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Sort Team Overlay:"
+ cvar "cg_teamOverlaySortMode"
+ cvarFloatList { "None" 0 "Score" 1 "Weapon/Class" 2 }
+ rect GX 200 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Gun:"
+ cvar "cg_drawGun"
+ rect GX 215 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Show Speed:"
+ cvar "cg_drawspeed"
+ cvarFloatList { "No" 0 "Text" 1 "Graph" 2 "Text + Graph" 3 "Text No-Z" 5 "Graph No-Z" 6 "Text + Graph No-Z" 7 }
+ rect GX 230 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show FPS:"
+ cvar "cg_drawFPS"
+ rect GX 245 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Timer:"
+ cvar "cg_drawTimer"
+ rect GX 260 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name hud
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Show Demo State:"
+ cvar "cg_drawDemoState"
+ rect GX 275 300 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx CONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ /////////////////
+#define GC 170
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Auto Wallwalk Pitching:"
+ cvar "cg_wwFollow"
+ rect GC 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sprint Toggles:"
+ cvar "cg_sprintToggle"
+ rect GC 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Wallwalk Control Toggles:"
+ cvar "cg_wwToggle"
+ rect GC 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Wallwalking Speed:"
+ cvar "cg_wwSmoothTime"
+ cvarFloatList { "Medium" 300 "Fast" 150 "Instant" 0 "Slow" 600 }
+ rect GC 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Run / Walk:"
+ cvar "+speed"
+ rect GC 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Dodge:"
+ cvar "+button6"
+ rect GC 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Sprint:"
+ cvar "+button8"
+ rect GC 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Forward:"
+ cvar "+forward"
+ rect GC 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Backpedal:"
+ cvar "+back"
+ rect GC 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Left:"
+ cvar "+moveleft"
+ rect GC 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Move Right:"
+ cvar "+moveright"
+ rect GC 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Jump:"
+ cvar "+moveup"
+ rect GC 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Crouch:"
+ cvar "+movedown"
+ rect GC 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Left:"
+ cvar "+left"
+ rect GC 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Turn Right:"
+ cvar "+right"
+ rect GC 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Strafe:"
+ cvar "+strafe"
+ rect GC 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+//////// UPGRADES
+#define GB 350
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Primary Attack:"
+ cvar "+attack"
+ rect GB 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Secondary Attack:"
+ cvar "+button5"
+ rect GB 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Previous Upgrade:"
+ cvar "weapprev"
+ rect GB 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Next Upgrade:"
+ cvar "weapnext"
+ rect GB 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Activate Upgrade:"
+ cvar "+button2"
+ rect GB 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Reload:"
+ cvar "reload"
+ rect GB 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Buy Ammo:"
+ cvar "buy ammo"
+ rect GB 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Medkit:"
+ cvar "itemact medkit"
+ rect GB 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Lookup:"
+ cvar "+lookup"
+ rect GB 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Look Down:"
+ cvar "+lookdown"
+ rect GB 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Mouse Look:"
+ cvar "+mlook"
+ rect GB 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Centerview:"
+ cvar "centerview"
+ rect GB 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Free Look:"
+ cvar "cl_freelook"
+ rect GB 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Mouse Sensitivity:"
+ cvarfloat "sensitivity" 5 1 30
+ rect GB 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Invert Mouse:"
+ cvar "ui_mousePitch"
+ rect GB 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 GB 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+//////// MISC
+#define GA 0
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Show Scores:"
+ cvar "+scores"
+ rect GA 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Up:"
+ cvar "scoresUp"
+ rect GA 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Scroll Scores Down:"
+ cvar "scoresDown"
+ rect GA 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Use Structure/Evolve:"
+ cvar "+button7"
+ rect GA 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Deconstruct Structure:"
+ cvar "deconstruct"
+ rect GA 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Gesture:"
+ cvar "+button3"
+ rect GA 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Chat:"
+ cvar "messagemode"
+ rect GA 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Chat:"
+ cvar "messagemode2"
+ rect GA 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote Yes:"
+ cvar "vote yes"
+ rect GA 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Vote No:"
+ cvar "vote no"
+ rect GA 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote Yes:"
+ cvar "teamvote yes"
+ rect GA 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Team Vote No:"
+ cvar "teamvote no"
+ rect GA 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Screenshot:"
+ cvar "screenshotJPEG"
+ rect GA 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name look
+ group optionsGrp
+ type ITEM_TYPE_BIND
+ text "Hummel Fly Button:"
+ cvar "+speed"
+ rect GA 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textstyle ITEM_TEXTSTYLE_BLINK
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+//////// SYSTEM
+#define HA 70
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Quality Preset:"
+ cvar "ui_glCustom"
+ cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 }
+ rect HA 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript update "ui_glCustom"
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "GL Extensions:"
+ cvar "r_allowExtensions"
+ rect HA 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCuston
+ }
+ }
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ rect 30 75 130 20
+ type ITEM_TYPE_COMBOBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth ((SCONTENT_W/2)-(2*BORDER))
+ elementheight (ELEM_H)
+ dropitems 16
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_RESOLUTIONS
+ border WINDOW_BORDER_NONE
+ borderColor 0 0.8 1 1
+ textscale SA
+ forecolor 0 0.8 1 1
+ backcolor 0.1 0.1 0.1 1
+ outlinecolor 0.1 0.1 0.1 0
+ visible MENU_FALSE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ 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 HA 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ 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 HA 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript glCustom
+ }
+ }
+
+
+
+//////// GFX SOFTWARE
+#define HB 260
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Brightness:"
+ cvarfloat "r_gamma" 1 .5 2
+ rect HB 20 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Screen Size:"
+ cvarfloat "cg_viewsize" 100 30 100
+ rect HB 40 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Marks On Walls:"
+ cvar "cg_marks"
+ rect HB 60 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Dynamic Lights:"
+ cvar "r_dynamiclight"
+ rect HB 80 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Draw Gun:"
+ cvar "cg_drawGun"
+ rect HB 100 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Low Quality Sky:"
+ cvar "r_fastsky"
+ rect HB 120 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Sync Every Frame:"
+ cvar "r_finish"
+ rect HB 140 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "In Game Videos:"
+ cvar "r_inGameVideo"
+ rect HB 160 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Depth Sort Particles:"
+ cvar "cg_depthSortParticles"
+ rect HB 180 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_MULTI
+ text "Particle Physics:"
+ cvar "cg_bounceParticles"
+ cvarFloatList { "Low Quality" 0 "High Quality" 1 }
+ rect HB 200 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Effects Volume:"
+ cvarfloat "s_volume" 0.7 0 1
+ rect HB 220 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_SLIDER
+ text "Music Volume:"
+ cvarfloat "s_musicvolume" 0.25 0 1
+ rect HB 240 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "OpenAL:"
+ cvar "s_useOpenAL"
+ rect HB 260 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ 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 HB 280 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_YESNO
+ text "Doppler Sound:"
+ cvar "s_doppler"
+ rect HB 300 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+
+ itemDef
+ {
+ name ghardware
+ 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 HB 320 150 30
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textalignx SCONTENT_OFF
+ textscale SA
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ }
+ }
+
+ itemDef
+ {
+ name ghardware
+ group optionsGrp
+ type ITEM_TYPE_BUTTON
+ text "APPLY SETTINGS"
+ style WINDOW_STYLE_EMPTY
+ rect 0 300 150 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_BLINK
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_FALSE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ exec "vid_restart"
+ }
+ }
+
+ }
+}
diff --git a/assets/ui/password.menu b/assets/ui/password.menu
new file mode 100644
index 0000000..4db76bf
--- /dev/null
+++ b/assets/ui/password.menu
@@ -0,0 +1,83 @@
+#include "ui/menudef.h"
+
+{
+ \\ PASSWORD POPUP MENU \\
+
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define INPUT_H 20
+#define W 250
+#define H ((2*BORDER)+INPUT_H+BUTT_H)
+
+ menuDef
+ {
+ name "password_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_NONE
+ popup
+
+ onOpen
+ {
+ setfocus passwordEntry
+ }
+
+ onESC
+ {
+ close password_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 0 W H
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 0.8
+ visible MENU_TRUE
+ decoration
+
+ border WINDOW_BORDER_NONE
+ }
+
+ // PASSWORD //
+
+ itemDef
+ {
+ name passwordEntry
+ type ITEM_TYPE_EDITFIELD
+ style WINDOW_STYLE_EMPTY
+ text "Password:"
+ maxChars 40
+ textscale .4
+ cvar "password"
+ rect BORDER BORDER (W-(2*BORDER)) INPUT_H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ }
+
+ itemDef
+ {
+ name yes
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_EMPTY
+ rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close password_popmenu
+ }
+ }
+ }
+}
diff --git a/assets/ui/say.menu b/assets/ui/say.menu
new file mode 100644
index 0000000..1f7fe8f
--- /dev/null
+++ b/assets/ui/say.menu
@@ -0,0 +1,137 @@
+#include "ui/menudef.h"
+
+{
+
+#define BORDER 10
+
+#define X BORDER
+#define Y BORDER
+#define W (600-(2*BORDER))
+#define H (480-(2*BORDER))
+
+ // Say to All
+ menuDef
+ {
+ name say
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ rect X (Y+40) 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 "^5Say:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .45
+ forecolor 1 0.8 1 0.5
+ visible MENU_TRUE
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say;
+ }
+ }
+ }
+
+ // Say to Team
+ menuDef
+ {
+ name say_team
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ rect X (Y+40) 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 "^5Say to team:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .45
+ forecolor 1 0.8 1 0.5
+ visible MENU_TRUE
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say_team;
+ }
+ }
+ }
+
+ // Command
+ menuDef
+ {
+ name say_command
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ rect X (Y+40) 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 "[yekey]^5Command:"
+ cvar "ui_sayBuffer"
+ maxchars 128
+ rect 0 0 W H
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ textscale .45
+ forecolor 1 0.8 1 0.5
+ visible MENU_TRUE
+ onCharEntry
+ {
+ uiScript SayKeyDown;
+ }
+ onTextEntry
+ {
+ uiScript Say;
+ close say_command;
+ }
+ }
+ }
+}
diff --git a/assets/ui/serverinfo.menu b/assets/ui/serverinfo.menu
new file mode 100644
index 0000000..0c6342e
--- /dev/null
+++ b/assets/ui/serverinfo.menu
@@ -0,0 +1,110 @@
+#include "ui/menudef.h"
+
+{
+ \\ SERVER INFO POPUP MENU \\
+
+#define W 400
+#define H 300
+#define BUTT_W 45
+#define BUTT_H 35
+#define BORDER 10
+#define LIST_W (W-(2*BORDER))
+#define LIST_DW (LIST_W-40)
+#define LEFT_C 0.13
+#define RIGHT_C 0.61
+
+ menuDef
+ {
+ name "serverinfo_popmenu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ border WINDOW_BORDER_NONE
+ popup
+ onClose { }
+ onOpen { uiScript ServerStatus }
+ onESC
+ {
+ close serverinfo_popmenu
+ }
+
+ itemDef
+ {
+ name window
+ rect 0 -65 400 400
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 0.8
+ visible MENU_TRUE
+ decoration
+ border WINDOW_BORDER_NONE
+
+ }
+
+ itemDef
+ {
+ name serverinfo
+ rect 0 -65 400 400
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 16
+ textscale .25
+ border WINDOW_BORDER_NONE
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible MENU_TRUE
+ columns 4
+ 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT
+ (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT
+ ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT
+ }
+
+ // BUTTON //
+
+ itemDef
+ {
+ name refresh
+ text "Refresh"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .8
+ rect 70 345 100 15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript ServerStatus
+ }
+ }
+
+ itemDef
+ {
+ name close
+ text "Close"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .8
+ rect 220 345 100 15
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close serverinfo_popmenu
+ }
+ }
+ }
+}
+
+
diff --git a/assets/ui/teamscore.menu b/assets/ui/teamscore.menu
new file mode 100644
index 0000000..f686d99
--- /dev/null
+++ b/assets/ui/teamscore.menu
@@ -0,0 +1,170 @@
+#include "ui/menudef.h"
+
+{
+ \\ score_menu \\
+
+#define W 500
+#define H 338
+#define BORDER 10
+
+#define TOFF 10
+#define SPEC_W 75
+#define BAR_H 30
+
+#define LLIST_L 0
+#define LLIST_R (W/2)
+#define RLIST_L (W/2)
+#define RLIST_R W
+
+
+ menuDef
+ {
+ name "teamscore_menu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (260-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+
+
+ // TEAM NAME //
+
+ itemDef
+ {
+ name "scoreye"
+ style WINDOW_STYLE_SHADER
+ rect -50 40 595 300
+ visible 1
+ background "ui/assets/score_baseb"
+ decoration
+ }
+
+ //flicker light
+ itemDef
+ {
+ name "score_addlight"
+ style WINDOW_STYLE_SHADER
+ rect 209 116 50 100
+ visible 1
+ background "scripts/scoreaddlight"
+ decoration
+ }
+ itemDef
+ {
+ name confirm5
+ type ITEM_TYPE_BUTTON
+ text "WWW.YE.BOARDS.NET"
+ style WINDOW_STYLE_EMPTY
+ textscale .30
+ rect 1 341 W 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ forecolor 1 1 1 1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "score_add"
+ style WINDOW_STYLE_SHADER
+ rect -51 -21 600 397
+ visible 1
+ background "scripts/scoreadd"
+ decoration
+ }
+
+ // TEAM HEADINGS //
+
+ itemDef
+ {
+ name leftlist
+ rect -42 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+// rect 255 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0.00 1.35 2.55 0
+ border WINDOW_BORDER_NONE
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 1 0 0 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 140
+ elementheight 16
+ textscale .26
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALIENTEAM_LIST
+ columns 7
+ 10 10 ALIGN_LEFT
+ 23 10 ALIGN_LEFT
+ 5 30 ALIGN_LEFT
+ 55 80 ALIGN_LEFT
+ 138 50 ALIGN_RIGHT
+ 205 29 ALIGN_RIGHT
+ 244 36 ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name rightlist
+// rect -42 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+ rect 255 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0.00 1.35 2.55 0
+ border WINDOW_BORDER_NONE
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 0 0.6 1 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 140
+ elementheight 16
+ textscale .26
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HUMANTEAM_LIST
+
+ columns 7
+ 10 10 ALIGN_LEFT
+ 23 10 ALIGN_LEFT
+ 5 30 ALIGN_LEFT
+ 55 80 ALIGN_LEFT
+ 138 50 ALIGN_RIGHT
+ 205 29 ALIGN_RIGHT
+ 244 36 ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name window
+ rect -22 ((H-BAR_H)) 540 31
+ style WINDOW_STYLE_FILLED
+ backcolor 0.00 1.35 2.55 0
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ forecolor 1 1 1 1
+ textscale .40
+ textvalign VALIGN_CENTER
+ visible MENU_TRUE
+ ownerdraw CG_SPECTATORS
+ decoration
+ }
+
+ itemDef
+ {
+ name winner
+ type ITEM_TYPE_TEXT
+ rect ((W/2)-10) -0 0 0
+ style WINDOW_STYLE_EMPTY
+ forecolor 0 0.6 1 1
+ textscale 0.7
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ visible MENU_TRUE
+ cvar "ui_winner"
+ decoration
+ }
+
+
+ }
+}
diff --git a/assets/ui/teamscoreb.menu b/assets/ui/teamscoreb.menu
new file mode 100644
index 0000000..93579e1
--- /dev/null
+++ b/assets/ui/teamscoreb.menu
@@ -0,0 +1,129 @@
+#include "ui/menudef.h"
+
+{
+ \\ score_menu \\
+
+#define W 500
+#define H 338
+#define BORDER 10
+
+#define TOFF 10
+#define SPEC_W 75
+#define BAR_H 30
+
+#define LLIST_L 0
+#define LLIST_R (W/2)
+#define RLIST_L (W/2)
+#define RLIST_R W
+
+
+ menuDef
+ {
+ name "teamscoreb_menu"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ rect (320-(W/2)) (260-(H/2)) W H
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_EMPTY
+
+
+ // TEAM NAME //
+
+ itemDef
+ {
+ name "scoreye"
+ style WINDOW_STYLE_SHADER
+ rect -110 40 720 300
+ visible 1
+ background "ui/assets/score_baseb"
+ decoration
+ }
+
+
+ itemDef
+ {
+ name "score_add"
+ style WINDOW_STYLE_SHADER
+ rect -120 -21 740 396
+ visible 1
+ background "scripts/scoreadd"
+ decoration
+ }
+
+ // TEAM HEADINGS //
+
+ itemDef
+ {
+ name leftlist
+ rect -110 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0.00 1.35 2.55 0
+ border WINDOW_BORDER_NONE
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 0 0.6 1 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 140
+ elementheight 16
+ textscale .26
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_HUMANTEAM_LIST
+ columns 7
+ 10 10 ALIGN_LEFT
+ 20 10 ALIGN_LEFT
+ 5 30 ALIGN_LEFT
+ 55 155 ALIGN_LEFT
+ 215 50 ALIGN_RIGHT
+ 273 30 ALIGN_RIGHT
+ 308 36 ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name rightlist
+ rect 255 (((2*BAR_H)+BORDER)+5) ((W/1.6)+40) (H-((3*BAR_H)+(2*BORDER)))
+ style WINDOW_STYLE_FILLED
+ backcolor 0.00 1.35 2.55 0
+ border WINDOW_BORDER_NONE
+ borderSize 1.0
+ bordercolor .5 .5 .5 1
+ forecolor 1 0 0 1
+ visible MENU_TRUE
+ type ITEM_TYPE_LISTBOX
+ elementwidth 140
+ elementheight 16
+ textscale .26
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALIENTEAM_LIST
+ columns 7
+ 13 10 ALIGN_LEFT
+ 20 10 ALIGN_LEFT
+ 5 30 ALIGN_LEFT
+ 55 155 ALIGN_LEFT
+ 215 50 ALIGN_RIGHT
+ 273 30 ALIGN_RIGHT
+ 308 36 ALIGN_RIGHT
+ }
+
+ itemDef
+ {
+ name window
+ rect -86 ((H-BAR_H)) 676 31
+ style WINDOW_STYLE_FILLED
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ backcolor 0.00 1.35 2.55 0
+ forecolor 1 1 1 1
+ textscale .40
+ textvalign VALIGN_CENTER
+ visible MENU_TRUE
+ ownerdraw CG_SPECTATORS
+ decoration
+ }
+
+
+
+ }
+}
diff --git a/assets/ui/tremulous.txt b/assets/ui/tremulous.txt
new file mode 100644
index 0000000..3255f05
--- /dev/null
+++ b/assets/ui/tremulous.txt
@@ -0,0 +1,15 @@
+// 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_dialogs.menu" }
+ loadMenu { "ui/tremulous_humandialogs.menu" }
+ loadMenu { "ui/tremulous_aliendialogs.menu" }
+ loadMenu { "ui/tremulous_alienupgrade.menu" }
+ loadMenu { "ui/say.menu" }
+}
diff --git a/assets/ui/tremulous_alien_builder_hud.menu b/assets/ui/tremulous_alien_builder_hud.menu
new file mode 100644
index 0000000..b532264
--- /dev/null
+++ b/assets/ui/tremulous_alien_builder_hud.menu
@@ -0,0 +1,42 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "alien_builder_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#include "ui/tremulous_alien_common_hud.h"
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 567 410 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor 1.0 0.0 0.0 .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //BUILD POINTS
+ itemDef
+ {
+ name "build-points"
+ rect 493.5 421.5 60 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor 1.0 0.0 0.0 1.0
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alien_common_hud.h b/assets/ui/tremulous_alien_common_hud.h
new file mode 100644
index 0000000..f51db81
--- /dev/null
+++ b/assets/ui/tremulous_alien_common_hud.h
@@ -0,0 +1,257 @@
+#define COMMON_HUD_R 1.0
+#define COMMON_HUD_G 0.0
+#define COMMON_HUD_B 0.0
+#include "ui/tremulous_common_hud.h"
+
+//////////////////
+//STATIC OBJECTS//
+//////////////////
+
+//LEFT RING CIRCLE
+itemDef
+{
+ name "left-ring-circle"
+ rect 47.5 410 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 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
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 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
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 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
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+}
+
+//RIGHT ARM
+itemDef
+{
+ name "right-arm"
+ rect 417 395 145 60
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 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
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/bolt.tga"
+ ownerdraw CG_PLAYER_BOOST_BOLT
+}
+
+//CROSS
+itemDef
+{
+ name "cross"
+ rect 150 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_HEALTH_CROSS
+}
+
+//LEFT RING
+itemDef
+{
+ name "left-ring"
+ rect 7.25 369.5 90.5 106
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/left-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+}
+
+//LEFT SPIKES
+itemDef
+{
+ name "left-spikes"
+ rect 18.5 381 59 83
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ 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
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/right-ring.tga"
+ ownerdraw CG_PLAYER_BOOSTED
+}
+
+//RIGHT SPIKES
+itemDef
+{
+ name "right-spikes"
+ rect 562.5 381 59 83
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0
+ backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/alien/right-spikes.tga"
+ ownerdraw CG_PLAYER_WALLCLIMBING
+}
+
+//HEALTH
+itemDef
+{
+ name "health"
+ rect 78.5 421.5 60 15
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_HEALTH
+}
+
+//ALIEN CLASS ICON
+itemDef
+{
+ name "alien-icon"
+ rect 423 417.5 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.6
+ ownerdraw CG_PLAYER_WEAPONICON
+}
+
+//ORGANS
+itemDef
+{
+ name "organs"
+ rect 565 417 11 11
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ ownerdraw CG_PLAYER_CREDITS_VALUE_NOPAD
+}
+
+//CREDITS FRACTION
+itemDef
+{
+ name "credits-background"
+ rect 567 410 25 25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ background "ui/assets/neutral/circle.tga"
+ ownerdraw CG_PLAYER_CREDITS_FRACTION
+}
+
+//ALIENSENSE
+itemDef
+{
+ name "aliensense"
+ rect 20 20 600 400
+ visible MENU_TRUE
+ decoration
+ ownerdraw CG_PLAYER_ALIEN_SENSE
+}
+
+//CHARGE BAR
+itemDef
+{
+ name "charge"
+ rect 292 426 56 8
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CHARGE_BAR
+ background "ui/assets/neutral/charge_cap_h.tga"
+}
+
+//CHARGE BAR BG
+itemDef
+{
+ name "chargebg"
+ rect 288 422 64 16
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ ownerdraw CG_PLAYER_CHARGE_BAR_BG
+ background "ui/assets/neutral/charge_bg_h.tga"
+}
+
+//TEAM OVERLAY
+itemDef
+{
+ name "teamoverlay"
+ rect BORDER 175 250 128
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75
+ textscale 0.85
+ ownerdraw CG_TEAMOVERLAY
+}
diff --git a/assets/ui/tremulous_alien_general_hud.menu b/assets/ui/tremulous_alien_general_hud.menu
new file mode 100644
index 0000000..3f936c7
--- /dev/null
+++ b/assets/ui/tremulous_alien_general_hud.menu
@@ -0,0 +1,79 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "alien_general_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#include "ui/tremulous_alien_common_hud.h"
+
+ //BLOB
+ itemDef
+ {
+ name "blob"
+ rect 497 419 52 18
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/tremublob.tga"
+ ownerdraw CG_PLAYER_POISON_BARBS
+ }
+ //BOMBS
+ itemDef
+ {
+ name "bombs"
+ rect 528 421 52 18
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/trembombs.tga"
+ ownerdraw CG_PLAYER_BOMBS
+ }
+ //FBREATH
+ itemDef
+ {
+ name "fbreath"
+ rect 495 416 55 21
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/tremfbreath.tga"
+ ownerdraw CG_PLAYER_FBREATH
+ }
+ //PRICKLES
+ itemDef
+ {
+ name "prickles"
+ rect 475 419 80 21
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ forecolor 1.0 0.0 0.0 0.5
+ background "ui/assets/alien/prickles.tga"
+ ownerdraw CG_PLAYER_PRICKLES
+ }
+ //lvl1upginvi
+ itemDef
+ {
+ name "lvl1upginvi"
+ rect 580 320 50 50
+ visible MENU_TRUE
+ ownerdraw CG_DRAW_INVI_STAT
+ }
+ //lvl1upginvi
+ itemDef
+ {
+ name "basioverlay"
+ rect 0 0 W H
+ visible MENU_TRUE
+ ownerdraw CG_DRAW_INVI_OVERLAY
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienbuild.menu b/assets/ui/tremulous_alienbuild.menu
new file mode 100644
index 0000000..b7bda9a
--- /dev/null
+++ b/assets/ui/tremulous_alienbuild.menu
@@ -0,0 +1,107 @@
+#include "ui/menudef.h"
+{
+#define W 550
+#define H 250
+ menuDef
+ {
+ name "tremulous_alienbuild"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) 160 W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadAlienBuilds; setFocus list }
+
+ itemDef
+ {
+ name "window"
+ rect -250 -30 1280 305
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 142 -20 140 260
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENBUILD
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildAlienBuildable;
+ close tremulous_alienbuild
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_ABUILDINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 290 -20 200 260
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 6
+ textaligny 6
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "Okay"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 220 245 30 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildAlienBuildable;
+ close tremulous_alienbuild
+ }
+ }
+
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 305 245 30 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor 0 0 0 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienbuild
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienclass.menu b/assets/ui/tremulous_alienclass.menu
new file mode 100644
index 0000000..374f1c7
--- /dev/null
+++ b/assets/ui/tremulous_alienclass.menu
@@ -0,0 +1,124 @@
+#include "ui/menudef.h"
+{
+#define W 550
+#define H 250
+ menuDef
+ {
+ name "tremulous_alienclass"
+ visible MENU_TRUE
+ outOfBoundsClick
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ onOpen { uiScript LoadAlienClasses; setFocus list }
+ popup
+ itemDef
+ {
+ name "window"
+ rect -250 300 1280 120
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 200 310 110 60
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 110
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENCLASSES
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnAsAlienClass;
+ close tremulous_alienclass
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_ACLASSINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 320 310 200 260
+ textscale .25
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 6
+ textaligny 6
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "Back"
+ text "BACK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 296 390 50 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close tremulous_alienclass;
+ open tremulous_teamselect
+ }
+ }
+ itemDef
+ {
+ name "Okay"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 245 390 50 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnAsAlienClass;
+ close tremulous_alienclass
+ }
+ }
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 350 390 50 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienclass
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_aliendialogs.menu b/assets/ui/tremulous_aliendialogs.menu
new file mode 100644
index 0000000..f55c421
--- /dev/null
+++ b/assets/ui/tremulous_aliendialogs.menu
@@ -0,0 +1,94 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+
+ menuDef
+ {
+ name "tremulous_alien_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name "window"
+ rect -400 -10 1280 205
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+
+ itemDef
+ {
+ name alien_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name alien_dialog
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name alien_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_alien_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_alienupgrade.menu b/assets/ui/tremulous_alienupgrade.menu
new file mode 100644
index 0000000..c989549
--- /dev/null
+++ b/assets/ui/tremulous_alienupgrade.menu
@@ -0,0 +1,106 @@
+#include "ui/menudef.h"
+{
+#define W 550
+#define H 250
+menuDef
+ {
+ name "tremulous_alienupgrade"
+ visible MENU_TRUE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadAlienUpgrades; setFocus list }
+
+ itemDef
+ {
+ name "window"
+ rect -250 170 1280 250
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 200 190 120 200
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENUPGRADE
+ forecolor 0 0.8 1 1
+ outlinecolor 1 1 1 0.1
+ visible 1
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UpgradeToNewClass;
+ close tremulous_alienupgrade
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_AUPGRADEINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 330 190 260 200
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 6
+ textaligny 6
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "Okay"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 245 390 50 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript UpgradeToNewClass;
+ close tremulous_alienupgrade
+ }
+ }
+
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 350 390 50 30
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_alienupgrade
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_common_hud.h b/assets/ui/tremulous_common_hud.h
new file mode 100644
index 0000000..57427b1
--- /dev/null
+++ b/assets/ui/tremulous_common_hud.h
@@ -0,0 +1,232 @@
+#define BORDER 10
+
+#define STAT_W 45
+#define STAT_H 22
+#define STAT_X (W-(BORDER+STAT_W))
+
+#define CONSOLE_W (W-((3*BORDER)+STAT_W))
+#define CONSOLE_H 300
+#define MAIN_W (W-(2*BORDER))
+
+//CONSOLE
+itemDef
+{
+ name "console"
+ rect BORDER 30 CONSOLE_W CONSOLE_H
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 0.93 0.93 0.92 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textscale 0.35
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ ownerdraw CG_CONSOLE
+}
+
+//FPS
+itemDef
+{
+ name "fps"
+ rect STAT_X BORDER STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_FPS
+}
+
+//TIMER
+itemDef
+{
+ name "timer"
+ rect STAT_X ((2*BORDER)+STAT_H) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_TIMER
+}
+
+//LAGOMETER
+itemDef
+{
+ name "lagometer"
+ rect STAT_X ((3*BORDER)+(2*STAT_H)) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textscale 0.3
+ ownerdraw CG_LAGOMETER
+}
+
+//SPEEDOMETER
+itemDef
+{
+ name "speedometer"
+ rect (320-(STAT_W/2)) 350 STAT_W STAT_H
+ aspectBias ALIGN_CENTER
+ type ITEM_TYPE_OWNERDRAW
+ ownerdraw CG_SPEEDOMETER
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ foreColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ textscale 0.3
+}
+
+//CLOCK
+itemDef
+{
+ name "clock"
+ rect STAT_X ((4*BORDER)+(3*STAT_H)) STAT_W STAT_H
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale 0.3
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_CLOCK
+}
+
+//LOCATION
+itemDef
+{
+ name "location"
+ rect (STAT_X-75) ((5*BORDER)+(4*STAT_H)) (STAT_W+75) STAT_H
+ aspectBias ALIGN_RIGHT
+ visible 1
+ decoration
+ forecolor 1 1 1 1
+ textalign ALIGN_RIGHT
+ textscale 0.3
+ ownerdraw CG_PLAYER_LOCATION
+}
+
+//DEMO STATE
+itemDef
+{
+ name "demoRecording"
+ rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 1 0 0 1
+ textscale 0.3
+ ownerdraw CG_DEMO_RECORDING
+ background "ui/assets/neutral/circle.tga"
+}
+itemDef
+{
+ name "demoPlayback"
+ rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32
+ aspectBias ALIGN_RIGHT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor 1 1 1 1
+ textscale 0.3
+ ownerdraw CG_DEMO_PLAYBACK
+ background "ui/assets/forwardarrow.tga"
+}
+
+//SNAPSHOT
+itemDef
+{
+ name "snapshot"
+ rect BORDER (H-(BORDER+STAT_H)) MAIN_W STAT_H
+ aspectBias ALIGN_LEFT
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale 0.4
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_SNAPSHOT
+}
+
+//PLAYER NAME
+itemDef
+{
+ name "playername"
+ rect 200 275 240 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_CROSSHAIRNAMES
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+}
+
+//CROSSHAIR
+itemDef
+{
+ name "crosshair"
+ visible MENU_TRUE
+ decoration
+ rect 320 240 0 0
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .35
+ ownerdraw CG_PLAYER_CROSSHAIR
+}
+
+//SPECTATOR TEXT
+itemDef
+{
+ name "followtext"
+ rect 200 375 240 25
+ foreColor 1 1 1 1
+ aspectBias ALIGN_CENTER
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible MENU_TRUE
+ decoration
+ textScale .7
+ textStyle ITEM_TEXTSTYLE_SHADOWED
+ ownerdraw CG_FOLLOW
+}
+
+ itemDef
+ {
+ name "stage_add"
+ style WINDOW_STYLE_SHADER
+ rect 253 -1 140 35
+ visible 1
+ background "scripts/stage_add"
+ decoration
+ }
+
+ itemDef
+ {
+ name "stagereport"
+ rect 200 2 240 25
+ foreColor 1 1 1 1
+ aspectBias ALIGN_CENTER
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible 1
+ decoration
+ textScale .22
+ textStyle ITEM_TEXTSTYLE_NORMAL
+ ownerdraw CG_STAGE_REPORT_TEXT
+ }
+
diff --git a/assets/ui/tremulous_default_hud.menu b/assets/ui/tremulous_default_hud.menu
new file mode 100644
index 0000000..8d1034b
--- /dev/null
+++ b/assets/ui/tremulous_default_hud.menu
@@ -0,0 +1,37 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "default_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#define COMMON_HUD_R 1.0
+#define COMMON_HUD_G 1.0
+#define COMMON_HUD_B 1.0
+#include "ui/tremulous_common_hud.h"
+
+ //SPECTATOR TEXT
+ itemDef
+ {
+ name "spectatortext"
+ text "SPECTATOR"
+ rect 200 415 240 25
+ foreColor 1 1 1 1
+ aspectBias ALIGN_CENTER
+ textalign ALIGN_CENTER
+ textvalign VALIGN_TOP
+ visible MENU_TRUE
+ decoration
+ textScale .7
+ textStyle ITEM_TEXTSTYLE_SHADOWED
+ }
+ }
+}
diff --git a/assets/ui/tremulous_dialogs.menu b/assets/ui/tremulous_dialogs.menu
new file mode 100644
index 0000000..73f6916
--- /dev/null
+++ b/assets/ui/tremulous_dialogs.menu
@@ -0,0 +1,94 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_default_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name "window"
+ rect -400 -10 1280 205
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name default_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name default_dialog
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name default_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 0.5
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_default_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_human_hud.menu b/assets/ui/tremulous_human_hud.menu
new file mode 100644
index 0000000..7a1baff
--- /dev/null
+++ b/assets/ui/tremulous_human_hud.menu
@@ -0,0 +1,365 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 640
+#define H 480
+
+ menuDef
+ {
+ name "human_hud"
+ fullScreen MENU_FALSE
+ visible MENU_TRUE
+ rect 0 0 W H
+ aspectBias ASPECT_NONE
+
+#define COMMON_HUD_R 0.0
+#define COMMON_HUD_G 0.8
+#define COMMON_HUD_B 1.0
+#include "ui/tremulous_common_hud.h"
+
+ //////////////////
+ //STATIC OBJECTS//
+ //////////////////
+
+ //LEFT CIRCLE
+ itemDef
+ {
+ name "left-circle"
+ rect 35 417.5 25 25
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 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
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/left-arm.tga"
+ }
+
+ //CREDITS LABEL
+ itemDef
+ {
+ name "credits-label"
+ rect 548 445 7 7.5
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/credits.tga"
+ }
+
+ //RIGHT CIRCLE
+ itemDef
+ {
+ name "right-circle"
+ rect 580.5 407.5 35 35
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/circle.tga"
+ }
+
+ //RIGHT ARM
+ itemDef
+ {
+ name "right-arm"
+ rect 418 400 150 60
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/human/right-arm.tga"
+ }
+
+ //RING
+ itemDef
+ {
+ name "ring"
+ rect 563 390 70 70
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/ring.tga"
+ ownerdraw CG_PLAYER_CLIPS_RING
+ }
+
+ //CREDITS
+ itemDef
+ {
+ name "credits"
+ rect 502 443 45 11.25
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CREDITS_VALUE
+ }
+ //CLIPS
+ itemDef
+ {
+ name "clips"
+ rect 534.5 417 70 20
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_CLIPS_VALUE
+ }
+ ///////////////////
+ //DYNAMIC OBJECTS//
+ ///////////////////
+
+ //BOLT
+ itemDef
+ {
+ name "bolt"
+ rect 40 420 15 20
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/bolt.tga"
+ ownerdraw CG_PLAYER_STAMINA_BOLT
+ }
+
+ //CROSS
+ itemDef
+ {
+ name "cross"
+ rect 135 428 20 20
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_HEALTH_CROSS
+ }
+
+ //STAMINA 1
+ itemDef
+ {
+ name "stamina1"
+ rect 34.5 403.5 9 11.5
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina1.tga"
+ ownerdraw CG_PLAYER_STAMINA_1
+ }
+
+ //STAMINA 2
+ itemDef
+ {
+ name "stamina2"
+ rect 24 410.75 11.5 10.5
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina2.tga"
+ ownerdraw CG_PLAYER_STAMINA_2
+ }
+
+ //STAMINA 3
+ itemDef
+ {
+ name "stamina3"
+ rect 20.75 423.5 10.5 7
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina3.tga"
+ ownerdraw CG_PLAYER_STAMINA_3
+ }
+
+ //STAMINA 4
+ itemDef
+ {
+ name "stamina4"
+ rect 21 402.5 54 55
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8
+ backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2
+ background "ui/assets/human/stamina4.tga"
+ ownerdraw CG_PLAYER_STAMINA_4
+ }
+
+
+
+ //HEALTH
+ itemDef
+ {
+ name "health"
+ rect 67 430 60 15
+ aspectBias ALIGN_LEFT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_HEALTH
+ }
+
+ //WEAPON ICON
+ itemDef
+ {
+ name "weapon"
+ rect 428 419 30 30
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_WEAPONICON
+ }
+
+ //WEAPON SELECT TEXT
+ itemDef
+ {
+ name "selecttext"
+ rect 200 300 240 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ textScale .5
+ ownerdraw CG_PLAYER_SELECTTEXT
+ textstyle ITEM_TEXTSTYLE_SHADOWED
+ }
+
+ //AMMO
+ itemDef
+ {
+ name "weapon"
+ rect 506 427 53 15
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_AMMO_VALUE
+ }
+
+ //BUILD TIMER
+ itemDef
+ {
+ name "buildtimer"
+ rect 583 410 30 30
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ ownerdraw CG_PLAYER_BUILD_TIMER
+ }
+
+ //USABLE
+ itemDef
+ {
+ name "usable"
+ rect 305 380 25 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ background "ui/assets/neutral/use.tga"
+ ownerdraw CG_PLAYER_USABLE_BUILDABLE
+ }
+
+ //SCANNER
+ itemDef
+ {
+ name "scanner"
+ rect 164 340 312 72
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5
+ background "ui/assets/human/scanner.tga"
+ ownerdraw CG_PLAYER_HUMAN_SCANNER
+ }
+
+ //INVENTORY
+ itemDef
+ {
+ name "inventory"
+ rect 182.5 425 275 25
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_SELECT
+ }
+
+ //CHARGE BAR
+ itemDef
+ {
+ name "charge"
+ rect 510 384 56 8
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5
+ ownerdraw CG_PLAYER_CHARGE_BAR
+ background "ui/assets/neutral/charge_cap_h.tga"
+ }
+
+ //CHARGE BAR BG
+ itemDef
+ {
+ name "chargebg"
+ rect 506 380 64 16
+ aspectBias ALIGN_RIGHT
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ ownerdraw CG_PLAYER_CHARGE_BAR_BG
+ background "ui/assets/neutral/charge_bg_h.tga"
+ }
+
+ //SELECTED
+ itemDef
+ {
+ name "selected"
+ rect 306 424 27 27
+ aspectBias ALIGN_CENTER
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/neutral/selected.tga"
+ }
+
+ //TEAM OVERLAY
+ itemDef
+ {
+ name "teamoverlay"
+ rect BORDER 175 250 128
+ style WINDOW_STYLE_EMPTY
+ visible MENU_TRUE
+ decoration
+ forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75
+ textscale 0.85
+ ownerdraw CG_TEAMOVERLAY
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanarmoury.menu b/assets/ui/tremulous_humanarmoury.menu
new file mode 100644
index 0000000..7da9d9a
--- /dev/null
+++ b/assets/ui/tremulous_humanarmoury.menu
@@ -0,0 +1,144 @@
+#include "ui/menudef.h"
+{
+#define W 550
+#define H 250
+menuDef
+ {
+ name "tremulous_humanarmoury"
+ visible MENU_FALSE
+ focuscolor 1 1 1 1
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen
+ {
+ uiScript LoadHumanArmouryBuys;
+ uiScript LoadHumanArmourySells;
+ setFocus list
+ }
+ itemDef
+ {
+ name "window"
+ rect -250 -30 1280 300
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "buylist"
+ rect 50 -20 160 260
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .38
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANARMOURYBUY
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ resetonfeederchange
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuyFromArmoury;
+ }
+ }
+ itemDef
+ {
+ name "selllist"
+ rect 210 -20 140 260
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .38
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANARMOURYSELL
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ resetonfeederchange
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SellToArmoury;
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HBUYINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 370 -20 200 260
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 6
+ textaligny 6
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "Buy"
+ text "BUY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 220 242 30 20
+ textalign ALIGN_LEFT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ uiScript BuyFromArmoury;
+ }
+ }
+ itemDef
+ {
+ name "Close"
+ text "CLOSE"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 320 242 30 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ close tremulous_humanarmoury
+ }
+ }
+ itemDef
+ {
+ name "Sell"
+ text "SELL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 265 242 30 20
+ textalign ALIGN_RIGHT
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ visible MENU_TRUE
+ action
+ {
+ uiScript SellToArmoury;
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanbuild.menu b/assets/ui/tremulous_humanbuild.menu
new file mode 100644
index 0000000..f35f0ee
--- /dev/null
+++ b/assets/ui/tremulous_humanbuild.menu
@@ -0,0 +1,105 @@
+#include "ui/menudef.h"
+{
+#define W 550
+#define H 250
+ menuDef
+ {
+ name "tremulous_humanbuild"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) 160 W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadHumanBuilds; setFocus list }
+
+ itemDef
+ {
+ name "window"
+ rect -250 -30 1280 305
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 142 -20 140 260
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 120
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANBUILD
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible MENU_TRUE
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildHumanBuildable;
+ close tremulous_humanbuild
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HBUILDINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 290 -20 200 260
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ textalignx 6
+ textaligny 6
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ visible MENU_TRUE
+ decoration
+ }
+ itemDef
+ {
+ name "Okay"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 220 245 30 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript BuildHumanBuildable;
+ close tremulous_humanbuild
+ }
+ }
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 305 245 30 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_humanbuild
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/tremulous_humandialogs.menu b/assets/ui/tremulous_humandialogs.menu
new file mode 100644
index 0000000..e13929e
--- /dev/null
+++ b/assets/ui/tremulous_humandialogs.menu
@@ -0,0 +1,95 @@
+#include "ui/menudef.h"
+
+{
+
+#define W 280
+#define H 190
+#define BORDER 10
+
+#define BUTT_H 25
+#define BUTT_W 45
+
+#define INFO_W (W-(2*BORDER))
+#define INFO_H (H-((4*BORDER)+(2*BUTT_H)))
+#define INFO_X BORDER
+#define INFO_Y ((2*BORDER)+BUTT_H)
+#define INFO_TOFF 6
+
+ menuDef
+ {
+ name "tremulous_human_dialog"
+ visible MENU_FALSE
+ fullscreen MENU_FALSE
+ outOfBoundsClick
+ rect (320-(W/2)) (240-(H/2)) W H
+ focusColor 1 1 1 1
+ style WINDOW_STYLE_EMPTY
+ popup
+
+ itemDef
+ {
+ name "window"
+ rect -400 -10 1280 205
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+
+
+ itemDef
+ {
+ name human_dialog
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect BORDER BORDER INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .5
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name human_dialog
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect INFO_X INFO_Y INFO_W INFO_H
+ cvar "ui_dialog"
+ wrapped
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .33
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ decoration
+ }
+
+ itemDef
+ {
+ name human_dialog
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect BORDER 150 INFO_W BUTT_H
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 1
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ close tremulous_human_dialog
+ }
+ }
+ }
+}
diff --git a/assets/ui/tremulous_humanitem.menu b/assets/ui/tremulous_humanitem.menu
new file mode 100644
index 0000000..128f6ec
--- /dev/null
+++ b/assets/ui/tremulous_humanitem.menu
@@ -0,0 +1,121 @@
+#include "ui/menudef.h"
+{
+#define W 999
+#define H 210
+ menuDef
+ {
+ name "tremulous_humanitem"
+ visible MENU_FALSE
+ outOfBoundsClick
+ rect 0 0 W H
+ focuscolor 1 1 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadHumanItems; setFocus list }
+ itemDef
+ {
+ name "window"
+ rect -250 260 1280 120
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 175 300 110 100
+ type ITEM_TYPE_LISTBOX
+ elementwidth 80
+ elementheight 20
+ textscale .33
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANITEMS
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnWithHumanItem;
+ close tremulous_humanitem
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_HITEMINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 365 270 350 250
+ textscale .33
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 0.1 0.1 0.1 0.5
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "Okay"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 305 292 40 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript SpawnWithHumanItem;
+ close tremulous_humanitem
+ }
+ }
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 308 310 40 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_humanitem
+ }
+ }
+ itemDef
+ {
+ name "Back"
+ text "BACK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 305 328 40 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible MENU_TRUE
+ action
+ {
+ play "sound/misc/menu4.wav";
+ close tremulous_humanitem;
+ open tremulous_teamselect
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/assets/ui/tremulous_teamselect.menu b/assets/ui/tremulous_teamselect.menu
new file mode 100644
index 0000000..855e541
--- /dev/null
+++ b/assets/ui/tremulous_teamselect.menu
@@ -0,0 +1,101 @@
+#include "ui/menudef.h"
+{
+#define W 999
+#define H 210
+menuDef
+ {
+ name "tremulous_teamselect"
+ outOfBoundsClick
+ rect 0 0 W H
+ focusColor 1 1 1 1
+ forecolor 0 0.8 1 1
+ style WINDOW_STYLE_FILLED
+ popup
+ onOpen { uiScript LoadTeams; setFocus list }
+
+ itemDef
+ {
+ name "window"
+ rect -250 260 1280 120
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 .9
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "list"
+ rect 205 280 80 100
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_EMPTY
+ elementwidth 80
+ elementheight 20
+ textscale .42
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMTEAMS
+ forecolor 0 0.8 1 1
+ backcolor 0.2 0.2 0.2 1
+ outlinecolor 1 1 1 0.1
+ visible 1
+ doubleclick
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinTeam;
+ close tremulous_teamselect
+ }
+ }
+ itemDef
+ {
+ name infopane
+ ownerdraw UI_TEAMINFOPANE
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style WINDOW_STYLE_EMPTY
+ rect 365 285 250 100
+ textscale .25
+ textalign ALIGN_LEFT
+ textvalign VALIGN_TOP
+ forecolor 0 0.8 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name "OKAY"
+ text "OKAY"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 305 300 40 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action
+ {
+ play "sound/misc/menu1.wav";
+ uiScript JoinTeam;
+ close tremulous_teamselect
+ }
+ }
+ itemDef
+ {
+ name "Cancel"
+ text "CANCEL"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ rect 308 325 40 20
+ textalign ALIGN_CENTER
+ textvalign VALIGN_CENTER
+ textscale .4
+ forecolor 0 0.8 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action
+ {
+ play "sound/misc/menu3.wav";
+ close tremulous_teamselect
+ }
+ }
+ }
+}