summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ui/connect.menu15
-rw-r--r--ui/createfavorite.menu199
-rw-r--r--ui/createserver.menu1315
-rw-r--r--ui/error.menu318
-rw-r--r--ui/findplayer.menu514
-rw-r--r--ui/hud.txt7
-rw-r--r--ui/ingame.menu382
-rw-r--r--ui/ingame.txt16
-rw-r--r--ui/ingame_about.menu400
-rw-r--r--ui/ingame_callvote.menu491
-rw-r--r--ui/ingame_leave.menu344
-rw-r--r--ui/ingame_options.menu469
-rw-r--r--ui/ingame_vote.menu141
-rw-r--r--ui/joinserver.menu1259
-rw-r--r--ui/main.menu207
-rw-r--r--ui/menus.txt37
-rw-r--r--ui/mod.menu303
-rw-r--r--ui/password.menu147
-rw-r--r--ui/quit.menu163
-rw-r--r--ui/quitcredit.menu258
-rw-r--r--ui/serverinfo.menu396
-rw-r--r--ui/teamscore.menu512
-rw-r--r--ui/tremulous.txt21
-rw-r--r--ui/tremulous_alienbuild.menu84
-rw-r--r--ui/tremulous_alienclass.menu101
-rw-r--r--ui/tremulous_aliendialogs.menu369
-rw-r--r--ui/tremulous_alienupgrade.menu84
-rw-r--r--ui/tremulous_humanbuild.menu84
-rw-r--r--ui/tremulous_humandialogs.menu552
-rw-r--r--ui/tremulous_humanitem.menu101
-rw-r--r--ui/tremulous_teamselect.menu84
31 files changed, 9373 insertions, 0 deletions
diff --git a/ui/connect.menu b/ui/connect.menu
new file mode 100644
index 00000000..7f0de083
--- /dev/null
+++ b/ui/connect.menu
@@ -0,0 +1,15 @@
+#include "ui/menudef.h"
+
+
+{
+
+menuDef {
+ name "Connect"
+ background "gfx/2d/load_screen"
+ rect 0 0 640 480
+ fullScreen MENU_FALSE
+ visible MENU_FALSE
+ style WINDOW_STYLE_SHADER
+ }
+
+} \ No newline at end of file
diff --git a/ui/createfavorite.menu b/ui/createfavorite.menu
new file mode 100644
index 00000000..f0f324af
--- /dev/null
+++ b/ui/createfavorite.menu
@@ -0,0 +1,199 @@
+#include "ui/menudef.h"
+
+{
+\\ CREATE FAVORITE POPUP MENU \\
+
+menuDef {
+ name "createfavorite_popmenu"
+ visible 0
+ fullscreen 0
+ rect 204 122 235 235
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onESC { close createfavorite_popmenu ; open joinserver }
+
+
+
+itemDef {
+ name window
+ rect 0 0 235 235
+ style 3
+ background "ui/assets/mainpop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 47 47 144 144
+ style 3
+ background "centerconsole2"
+ visible 1
+ decoration
+ }
+
+
+
+
+
+ // ENTER NAME AND ADDRESS //
+
+itemDef {
+ name name
+ text "Name"
+ style 0
+ decoration
+ textscale .3
+ rect 1 62 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 0 0 0 1
+ visible 1
+
+ }
+itemDef {
+ name name
+ text "Name"
+ style 0
+ decoration
+ textscale .3
+ rect 0 61 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name nameEntry
+ style 1
+ maxchars 15
+ text ":"
+ textscale .25
+ TYPE 4
+ cvar "ui_favoriteName"
+ rect 60 81 120 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ mouseenter { setitemcolor nameentry backcolor 0 0 0 .75 }
+ mouseexit { setitemcolor nameentry backcolor 0 0 0 .5 }
+ }
+
+
+
+
+
+itemDef {
+ name address
+ text "IP Address"
+ style 0
+ decoration
+ textscale .3
+ rect 1 112 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 0 0 0 1
+ visible 1
+
+ }
+itemDef {
+ name address
+ text "IP Address"
+ style 0
+ decoration
+ textscale .3
+ rect 0 111 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name addressEntry
+ style 1
+ maxchars 20
+ maxPaintChars 12
+ text ":"
+ textscale .25
+ TYPE 4
+ maxchars 21
+ cvar "ui_favoriteAddress"
+ rect 60 131 120 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ mouseenter { setitemcolor addressEntry backcolor 0 0 0 .75 }
+ mouseexit { setitemcolor addressEntry backcolor 0 0 0 .25 }
+ }
+
+
+
+
+itemDef {
+ name yes
+ text "Ok"
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 103 158 30 26
+ textalign 1
+ textalignx 15
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript CreateFavorite ;
+ close createfavorite_popmenu ;
+ open joinserver }
+ mouseEnter { setitemcolor yes backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor yes backcolor .37 .1 .1 1 }
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 103 158 30 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 97 158 7 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 132 158 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+}
+}
+} \ No newline at end of file
diff --git a/ui/createserver.menu b/ui/createserver.menu
new file mode 100644
index 00000000..68f1d3de
--- /dev/null
+++ b/ui/createserver.menu
@@ -0,0 +1,1315 @@
+#include "ui/menudef.h"
+
+{
+\\ Server Creation \\
+
+ menuDef {
+ name "createserver"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ background "menuback_a"
+ outOfBoundsClick
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ onEsc { close createserver ; open main }
+ onOpen { setitemcolor fadebox backcolor 0 0 0 1 ;
+ playlooped "music/fla_mp03.wav" ;
+ fadeout fadebox ;
+ transition mappreview 7 127 190 1 7 57 190 141 20 10 ;
+ uiScript loadArenas ;
+ hide lightning ;
+ hide accept_alt ;
+ show accept ;
+ hide back_alt ;
+ show back ;
+ hide grpmessage }
+
+
+itemDef {
+ name window
+ rect 2 50 200 370
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ decoration
+}
+
+itemDef {
+ name window
+ rect 204 50 227 98
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ decoration
+}
+
+
+itemDef {
+ name window
+ rect 204 150 227 270
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ decoration
+}
+
+itemDef {
+ name window
+ rect 433 50 200 183
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ decoration
+}
+
+itemDef {
+ name window
+ rect 433 235 200 185
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ decoration
+}
+itemDef {
+ name window
+ rect 433 50 200 370
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 .25
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .25
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ decoration
+}
+
+
+
+// top bar //
+ itemDef {
+ name topbar
+ style 2
+ rect 0 5 640 40
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.5
+ bordersize 2
+ backcolor 0 0 .75 .5
+ visible 1
+ decoration
+ mouseEnter { setcolor backcolor .75 0 0 .5 }
+ mouseExit { setcolor backcolor 0 0 .75 .5 }
+ }
+
+
+// GLOBAL SETTINGS
+
+
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_NETGAMETYPE
+ text "Type:"
+ textstyle 6
+ rect 0 10 320 31
+ textalign ITEM_ALIGN_LEFT
+ textalignx 20
+ textaligny 26
+ textscale .416
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" }
+ mouseEnter { fadein message_gametype }
+ mouseExit { fadeout message_gametype }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_SKILL
+ textstyle 6
+ text "Skill:"
+ rect 320 10 320 31
+ textalign ITEM_ALIGN_LEFT
+ textalignx 90
+ textaligny 26
+ textscale .416
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" }
+ mouseEnter { fadein message_skill }
+ mouseExit { fadeout message_skill }
+ }
+
+
+// map selection
+
+itemDef {
+ name mappreview
+ style 0
+ ownerdraw UI_STARTMAPCINEMATIC
+ rect 7 57 190 141
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 1
+ }
+
+itemDef {
+ name mappreview
+ style WINDOW_STYLE_FILLED
+ rect 6 56 192 143
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 1
+ }
+
+ itemDef {
+ name maplist
+ rect 6 205 192 211
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ textstyle 6
+ textalign 3
+ textaligny 14
+ border 1
+ bordercolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ columns 1 2 190 25
+ mouseEnter { fadein message_arena ; setitemcolor maplist bordercolor .7 0 0 1 }
+ mouseExit { fadeout message_arena ; setitemcolor maplist bordercolor .5 .5 .5 .5 }
+ }
+
+// SETTINGS //
+
+
+
+// NORMAL //
+
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Capture Limit:"
+ cvar "capturelimit"
+ ownerdrawflag UI_SHOW_NETANYTEAMGAME
+ rect 260 60 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ maxchars 4
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Frag Limit:"
+ cvar "fraglimit"
+ ownerdrawflag UI_SHOW_NETANYNONTEAMGAME
+ rect 260 60 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ maxchars 4
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Time Limit:"
+ cvar "timelimit"
+ rect 260 77 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ maxchars 4
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Friendly Fire:"
+ cvar "g_friendlyfire"
+ rect 260 94 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Pure Server:"
+ cvar "sv_pure"
+ rect 260 111 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name normal
+ group grpsettings
+ type ITEM_TYPE_MULTI
+ text "Dedicated:"
+ // syntax for this is cvar name followed by a semicolan separated list of choices first choice equals 0
+ // 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 260 128 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+// EXPERT //
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_EDITFIELD
+ text "Host Name:"
+ cvar "sv_hostname"
+ maxChars 32
+ maxPaintChars 10
+ rect 260 160 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Auto Download:"
+ cvar "sv_allowdownload"
+ rect 260 175 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Enable Voting:"
+ cvar "g_allowvote"
+ rect 260 190 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Players:"
+ cvar "sv_maxclients"
+ rect 260 205 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ maxchars 4
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Minimum Ping:"
+ cvar "sv_minping"
+ rect 260 220 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ maxchars 4
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Maximum Ping:"
+ cvar "sv_maxping"
+ rect 260 235 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ maxchars 4
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Force Join:"
+ cvar "g_teamautojoin"
+ rect 260 250 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Even Teams:"
+ cvar "g_teamforcebalance"
+ rect 260 265 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Do Warmup:"
+ cvar "g_dowarmup"
+ rect 260 280 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Warmup time:"
+ cvar "g_warmup"
+ rect 260 295 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ maxchars 4
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Synchronous Client:"
+ cvar "g_synchronousclients"
+ rect 260 310 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Max Rate:"
+ cvar "sv_maxrate"
+ rect 260 325 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ maxchars 4
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Zombie Time:"
+ cvar "sv_zombietime"
+ rect 260 340 128 12
+ maxchars 4
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_NUMERICFIELD
+ text "Reconnect Limit:"
+ cvar "sv_reconnectlimit"
+ maxchars 4
+ rect 260 355 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+ itemDef {
+ name expert
+ group grpsettings
+ type ITEM_TYPE_YESNO
+ text "Require Password:"
+ cvar "g_needpassword"
+ rect 260 370 128 12
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name expert
+ group grpsettings
+ type 4
+ text "Password:"
+ cvar "g_password"
+ rect 260 385 128 12
+ maxchars 10
+ maxPaintChars 10
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 65
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+// BOT LIST FOR TEAM GAMES
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_BLUETEAMNAME
+ rect 450 70 128 28
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 26
+ textscale .333
+ forecolor 0 0 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_clan }
+ mouseExit { fadeout message_clan }
+ }
+
+
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_BLUETEAM1
+ rect 450 100 128 20
+ text "1."
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_BLUETEAM2
+ rect 450 122 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ text "2."
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "3."
+ ownerdraw UI_BLUETEAM3
+ rect 450 144 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "4."
+ ownerdraw UI_BLUETEAM4
+ rect 450 166 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "5."
+ ownerdraw UI_BLUETEAM5
+ rect 450 188 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+
+
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_REDTEAMNAME
+ rect 450 250 128 28
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 26
+ textscale .333
+ forecolor 1 0 0 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_clan }
+ mouseExit { fadeout message_clan }
+ }
+
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_REDTEAM1
+ text "1."
+ rect 450 280 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "2."
+ ownerdraw UI_REDTEAM2
+ rect 450 302 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "3."
+ ownerdraw UI_REDTEAM3
+ rect 450 324 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "4."
+ ownerdraw UI_REDTEAM4
+ rect 450 346 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "5."
+ ownerdraw UI_REDTEAM5
+ rect 450 368 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+// BOT LIST FOR NONTEAMGAMES
+
+
+itemDef {
+ name gametypefield
+ style 0
+ text "1."
+ ownerdraw UI_BLUETEAM1
+ rect 450 100 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "2."
+ ownerdraw UI_REDTEAM1
+ rect 450 125 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "3."
+ ownerdraw UI_BLUETEAM2
+ rect 450 150 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "4."
+ ownerdraw UI_REDTEAM2
+ rect 450 175 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "5."
+ ownerdraw UI_BLUETEAM3
+ rect 450 200 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+
+
+
+
+
+
+itemDef {
+ name gametypefield
+ style 0
+ text "6."
+ ownerdraw UI_REDTEAM3
+ rect 450 225 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "7."
+ ownerdraw UI_BLUETEAM4
+ rect 450 250 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "8."
+ ownerdraw UI_REDTEAM4
+ rect 450 275 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "9."
+ ownerdraw UI_BLUETEAM5
+ rect 450 300 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ text "10."
+ ownerdraw UI_REDTEAM5
+ rect 443 325 128 20
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 18
+ textscale .333
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ cvarTest "ui_actualNetGameType"
+ showCvar { "0" ; "1" ; "2" }
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { fadein message_slot }
+ mouseExit { fadeout message_slot }
+ }
+
+
+
+// BACK BAR //
+
+
+ itemDef {
+ name gotobar
+ style 2
+ rect 0 430 640 30
+ textscale 0.4
+ textalign 0 // center
+ textalignx 60 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 21
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.75
+ bordersize 2
+ backcolor 0 0 .75 0.5
+ visible 1
+ mouseEnter { setcolor backcolor .75 0 0 .5 }
+ mouseExit { setcolor backcolor 0 0 .75 .5 }
+ decoration
+ }
+
+ itemDef {
+ name back
+ style 3
+ background "ui/assets/backarrow.tga"
+ rect 16 424 50 50
+ visible 1
+ action { close createserver ; open main }
+ mouseEnter { hide back ; show back_alt ; fadein message_back }
+ }
+
+itemDef {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect 14 422 54 54
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ mouseExit { hide back_alt ; show back ; fadeout message_back }
+ action { close createserver ; open main }
+ }
+
+
+
+ itemDef {
+ name accept
+ style 3
+ rect 574 424 50 50
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter { playlooped "sound/misc/loop_electricity_05.wav" ; show lightning ; hide accept ; show accept_alt ; fadein message_accept }
+ action { close fight ; uiScript StartServer }
+/*
+ // demo_only
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" }
+*/
+ }
+
+ itemDef {
+ name accept_alt
+ style 3
+ rect 572 422 54 54
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ action { close fight ; uiScript StartServer }
+ mouseExit { hide lightning ; hide accept_alt ; show accept ; fadeout message_accept ; playlooped "music/fla_mp03.wav" }
+/*
+ // demo_only
+ cvarTest "ui_actualNetGameType"
+ hideCvar { "0" ; "1" }
+*/
+ }
+itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 46 385 236 128
+ visible 0
+ decoration
+ }
+itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 355 385 236 128
+ visible 0
+ decoration
+ }
+
+
+
+// MESSAGES //
+
+itemDef {
+ name message_back
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Exit to Main Menu"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_accept
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textalignx 0
+ textstyle 1
+ textaligny 25
+ textscale .416
+ text "Start Server"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_gametype
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Set GameType"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_skill
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Set Skill Level"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_arena
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Choose Your Arena"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_clan
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Click to toggle through clan list"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_slot
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Click to toggle botnames, human, or closed slots"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_normal
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Select to Modify Normal Server Settings"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_expert
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Select to Modify Expert Server Settings"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name fadebox
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/fadebox.tga"
+ forecolor 0 0 0 1
+ backcolor 0 0 0 1
+ rect 0 0 640 480
+ visible 1
+ decoration
+ }
+
+
+}
+}
+
+}
diff --git a/ui/error.menu b/ui/error.menu
new file mode 100644
index 00000000..ed987e8d
--- /dev/null
+++ b/ui/error.menu
@@ -0,0 +1,318 @@
+#include "ui/menudef.h"
+
+{
+\\ END OF GAME \\
+
+menuDef {
+ name "error_popmenu"
+ visible 0
+ fullscreen 0
+ rect 158 80 320 320
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onClose { uiScript clearError }
+ onOpen { }
+ onESC { close error_popmenu ; open main }
+
+
+
+itemDef {
+ name window
+ rect 10 15 300 320
+ style 1
+ backcolor .8 .66 .15 1
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 10 15 300 320
+ style 3
+ background "warning"
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 10 15 300 10
+ style 1
+ backcolor 0 0 0 .25
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 30 35 250 270
+ style 1
+ backcolor .5 .41 .09 1
+ forecolor 0 0 0 1
+ border 1
+ bordercolor 0 0 0 1
+ bordersize 5
+ visible 1
+ decoration
+ }
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 184 10 96 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 256 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 0 274 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 256 274 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 64 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 0 128 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 192 16 96
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 304 64 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 304 128 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 304 192 16 96
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name window
+ rect 64 330 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 172 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+
+
+
+ itemDef {
+ name errorinfo
+ rect 0 50 320 20
+ text "Error:"
+ textalign 1
+ textstyle 6
+ textscale .333
+ textalignx 160
+ textaligny 23
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name errorinfo
+ rect 60 80 200 270
+ type ITEM_TYPE_TEXT
+ style 1
+ textstyle 3
+ autowrapped
+ cvar "com_errorMessage"
+ textalign ITEM_ALIGN_CENTER
+ textalignx 100
+ textaligny 23
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+
+// BUTTON //
+
+
+itemDef {
+ name exit
+ text "Exit"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 138 295 45 26
+ textalign 1
+ textalignx 22
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ close error_popmenu ;
+ open main }
+ mouseEnter { setitemcolor exit backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor exit backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 138 295 45 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 126 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 182 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+
+
+
+
+
+
+}
+
+
+}
+
+
diff --git a/ui/findplayer.menu b/ui/findplayer.menu
new file mode 100644
index 00000000..1eaf7354
--- /dev/null
+++ b/ui/findplayer.menu
@@ -0,0 +1,514 @@
+#include "ui/menudef.h"
+
+{
+\\ Server Information Popup Menu \\
+
+menuDef {
+ name "findplayer_popmenu"
+ visible 0
+ fullscreen 0
+ rect 158 80 320 340
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onClose { }
+ onOpen { uiScript FindPlayer ; setfocus namefield }
+ onESC { close findplayer_popmenu ; open joinserver }
+
+itemDef {
+ name window
+ rect 10 15 310 330
+ style 1
+ backcolor 0 0 0 .5
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 10 15 320 340
+ style 1
+ backcolor 0 0 0 .25
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name window
+ rect 10 15 300 320
+ style 1
+ backcolor .1 .1 .37 1
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name window
+ rect 10 15 300 10
+ style 1
+ backcolor 0 0 0 .25
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 184 10 96 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 256 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 0 274 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 256 274 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 64 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 0 128 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 192 16 96
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 304 64 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 304 128 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 304 192 16 96
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name window
+ rect 64 330 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 172 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+
+
+ itemDef {
+ name findplayer
+ rect 0 20 320 20
+ text "Find a Friend"
+ textalign 1
+ textstyle 3
+ textscale .333
+ textalignx 155
+ textaligny 23
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 61 53 239 20
+ style 1
+ backcolor 0 0 0 .5
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name namefield
+ group "playersettinggroup"
+ type ITEM_TYPE_EDITFIELD
+ style 0
+ text "Name:"
+ cvar "ui_findplayer"
+ maxChars 20
+ rect 20 48 215 32
+ textalign ITEM_ALIGN_LEFT
+ textalignx 0
+ textaligny 21
+ textscale .3
+ outlinecolor 1 .5 .5 .5
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ action { ui_script FindPlayer }
+ visible 1
+ }
+
+
+ itemDef {
+ name serverNameList //LIST OF SERVER NAMES//
+ rect 20 75 280 80
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ backcolor 0 0 0 1
+ outlinecolor .1 .1 .7 .5
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_FINDPLAYER
+ visible 1
+ mouseenter { setitemcolor serverNamewindow bordercolor .7 0 0 1 }
+ mouseexit { setitemcolor serverNamewindow bordercolor .5 .5 .5 1 }
+ }
+
+ itemDef {
+ name serverNamewindow
+ rect 20 75 264 80
+ style 1
+ backcolor 0 0 0 0
+ forecolor 0 0 0 0
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name serverInfoList //LIST OF SERVER STATUS INFORMATION//
+ rect 20 175 280 110
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ backcolor 0 0 0 1
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible 1
+ columns 4 2 40 20
+ 40 40 10
+ 90 40 10
+ 135 40 20
+ mouseenter { setitemcolor serverInfowindow bordercolor .7 0 0 1 }
+ mouseexit { setitemcolor serverInfowindow bordercolor .5 .5 .5 1 }
+
+ }
+
+ itemDef {
+ name serverInfowindow
+ rect 20 175 264 110
+ style 1
+ backcolor 0 0 0 0
+ forecolor 0 0 0 0
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+
+
+// BUTTON //
+
+
+itemDef {
+ name exit
+ text "Exit"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 38 295 45 26
+ textalign 1
+ textalignx 22
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action {play "sound/misc/nomenu.wav" ;
+ close findplayer_popmenu ;
+ open joinserver }
+ mouseEnter { setitemcolor exit backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor exit backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 38 295 45 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 26 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 82 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name search
+ text "Search"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 131 295 60 26
+ textalign 1
+ textalignx 30
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ ui_script FindPlayer }
+ mouseEnter { setitemcolor search backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor search backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name search
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 131 295 60 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name search
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 119 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name search
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 190 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+
+
+
+itemDef {
+ name join
+ text "Join"
+ type 1
+ textscale .25
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 238 295 45 26
+ textalign 1
+ textalignx 22
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { ui_script FoundPlayerJoinServer }
+ mouseEnter { setitemcolor join backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor join backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name join
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 238 295 45 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name join
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 226 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+itemDef {
+ name join
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 282 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+
+
+
+
+
+
+}
+
+
+}
+
+
diff --git a/ui/hud.txt b/ui/hud.txt
new file mode 100644
index 00000000..ab99a101
--- /dev/null
+++ b/ui/hud.txt
@@ -0,0 +1,7 @@
+// hud menu defs
+//
+{
+ loadMenu { "ui/hud.menu" }
+ loadMenu { "ui/score.menu" }
+ loadMenu { "ui/teamscore.menu" }
+}
diff --git a/ui/ingame.menu b/ui/ingame.menu
new file mode 100644
index 00000000..8814d223
--- /dev/null
+++ b/ui/ingame.menu
@@ -0,0 +1,382 @@
+#include "ui/menudef.h"
+{
+
+ assetGlobalDef {
+ font "fonts/font" 16 // font
+ smallFont "fonts/smallfont" 12 // font
+ bigFont "fonts/bigfont" 20 // font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ }
+
+
+\\ INGAME MENU \\
+
+ menuDef {
+ name "ingame"
+ visible 0
+ fullScreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ disableColor .5 .5 .5 1
+
+itemDef {
+ name "ingameRect"
+ visible 1
+ rect 0 0 620 26
+ style 0
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 .75 .5
+ visible 1
+ decoration
+ }
+itemdef
+ {
+ name about
+ text "About"
+ rect 5 0 53 30
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ textalign 1
+ textalignx 27
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .0 .17 .0 1
+ visible 1
+ action { open ingame_about }
+ mouseEnter { setitemcolor about backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor about backcolor .0 .17 .0 1 }
+ }
+itemdef
+ {
+ name aboutframe
+ style 3
+ rect 0 0 58 32
+ background "ui/assets/ingameframea.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name join
+ text "Join"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ cvarTest "ui_singleplayeractive"
+ disableCvar { "1" }
+ rect 58 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_join }
+ mouseEnter { setitemcolor join backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor join backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name joinframe
+ style 3
+ rect 58 0 58 32
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+
+ itemDef {
+ name orders
+ text "Orders"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 116 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ cvarTest "g_gametype"
+ disableCvar { "0" ; "1" ; "2" ; "3" ; "8" }
+ visible 1
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ action { open ingame_orders }
+ mouseEnter { setitemcolor orders backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor orders backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name ordersframe
+ style 3
+ rect 116 0 58 32
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name addBot
+ text "Add Bot"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 174 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ cvarTest "ui_singleplayeractive"
+ disableCvar { "1" }
+
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_addbot }
+ mouseEnter { setitemcolor addBot backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor addBot backcolor 0 .17 0 1 }
+ }
+itemdef
+ {
+ name addBotframe
+ style 3
+ rect 174 0 58 32
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name player
+ text "Player"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 232 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_player }
+ mouseEnter { setitemcolor player backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor player backcolor 0 .17 0 1 }
+ }
+itemdef
+ {
+ name playerframe
+ style 3
+ rect 232 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name controls
+ text "Controls"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 290 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_controls }
+ mouseEnter { setitemcolor controls backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor controls backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name controlsframe
+ style 3
+ rect 290 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name options
+ text "Options"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 348 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_options }
+ mouseEnter { setitemcolor options backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor options backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name optionsframe
+ style 3
+ rect 348 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name system
+ text "System"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 406 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_system }
+ mouseEnter { setitemcolor system backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor system backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name systemframe
+ style 3
+ rect 406 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name vote
+ text "Vote"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ cvarTest "ui_singleplayeractive"
+ disableCvar { "1" }
+
+ rect 464 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_vote }
+ mouseEnter { setitemcolor vote backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor vote backcolor 0 .17 0 1 }
+ }
+itemdef
+ {
+ name voteframe
+ style 3
+ rect 464 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name callvote
+ text "CallVote"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ cvarTest "ui_singleplayeractive"
+ disableCvar { "1" }
+
+ rect 522 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_callvote }
+ mouseEnter { setitemcolor callvote backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor callvote backcolor 0 .17 0 1 }
+ }
+itemdef
+ {
+ name callvoteframe
+ style 3
+ rect 522 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name leave
+ text "Exit"
+ type 1
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 580 0 58 30
+ textalign 1
+ textalignx 29
+ textaligny 22
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 .17 0 1
+ visible 1
+ action { open ingame_leave }
+ mouseEnter { setitemcolor leave backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor leave backcolor 0 .17 0 1 }
+ }
+
+itemdef
+ {
+ name leave
+ style 3
+ rect 580 0 58 32
+ textalign 1
+ background "ui/assets/ingameframe.tga"
+ visible 1
+ decoration
+ }
+
+
+
+}
+
+} \ No newline at end of file
diff --git a/ui/ingame.txt b/ui/ingame.txt
new file mode 100644
index 00000000..fb523ba7
--- /dev/null
+++ b/ui/ingame.txt
@@ -0,0 +1,16 @@
+// menu defs
+//
+{
+ loadMenu { "ui/ingame.menu" }
+ loadMenu { "ui/ingame_vote.menu" }
+ loadMenu { "ui/ingame_about.menu" }
+ loadMenu { "ui/ingame_controls.menu" }
+ loadMenu { "ui/ingame_join.menu" }
+ loadMenu { "ui/ingame_options.menu" }
+ loadMenu { "ui/ingame_system.menu" }
+ loadMenu { "ui/ingame_leave.menu" }
+ loadMenu { "ui/ingame_player.menu" }
+ loadMenu { "ui/ingame_addbot.menu" }
+ loadMenu { "ui/ingame_callvote.menu" }
+ loadMenu { "ui/ingame_orders.menu" }
+}
diff --git a/ui/ingame_about.menu b/ui/ingame_about.menu
new file mode 100644
index 00000000..fb3d348c
--- /dev/null
+++ b/ui/ingame_about.menu
@@ -0,0 +1,400 @@
+#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 0 30 256 295
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+
+itemDef {
+ name window
+ rect 10 15 256 280
+ style 1
+ backcolor 0 .1 0 1
+ visible 1
+ decoration
+ }
+
+
+
+// FRAME //
+
+
+
+itemDef {
+ name window
+ rect 0 10 16 128
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 3 0 65 16
+ style 3
+ background "ui/assets/ingameconnection.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 67 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 131 10 96 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 0 138 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 202 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 233 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 212 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 212 233 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 64 289 66 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 289 96 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 260 74 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 260 138 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 260 202 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+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
+ style 0
+ //type 4
+ textalign ITEM_ALIGN_RIGHT
+ text "GameType:"
+ type ITEM_TYPE_MULTI
+ cvar "G_GAMETYPE"
+ cvarFloatList { "Free For All" 0 "Tournament" 1 "Free For All" 2 "Team Deathmatch" 3 "Capture the Flag" 4 "One Flag CTF" 5 "Overload" 6 "Harvester" 7 "Team Tournament" 8 }
+
+ textalignx 128
+ textaligny 12
+ textscale .25
+ backcolor 0 0 .75 .25
+ visible 1
+ decoration
+ }
+itemDef {
+ name about
+ rect 0 70 256 20
+ type 4
+ style 0
+ text "Capture Limit:"
+ cvarTest "G_GAMETYPE"
+ hideCvar { "0" ; "1" ; "2" ; "3" }
+ maxPaintChars 12
+ cvar capturelimit
+ 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 "Frag Limit:"
+ cvarTest "G_GAMETYPE"
+ showCvar { "0" ; "1" ; "2" ; "3" }
+ maxPaintChars 12
+ cvar fraglimit
+ 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 "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 20 100 256 20
+ type 4
+ style 0
+ text "Red Team:"
+ maxPaintChars 12
+ cvar g_redTeam
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 108
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name about
+ rect 20 115 256 20
+ type 4
+ style 0
+ text "Blue Team:"
+ maxPaintChars 12
+ cvar g_blueTeam
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 108
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name about
+ rect 0 140 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 155 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 170 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 205 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 220 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 235 256 20
+ type 11
+ style 0
+ text "Bot/Min Players:"
+ cvar bot_minplayers
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name about
+ rect 0 265 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/ui/ingame_callvote.menu b/ui/ingame_callvote.menu
new file mode 100644
index 00000000..0c417d77
--- /dev/null
+++ b/ui/ingame_callvote.menu
@@ -0,0 +1,491 @@
+#include "ui/menudef.h"
+
+{
+\\ CALL VOTE MENU \\
+
+menuDef {
+ name "ingame_callvote"
+ visible 0
+ fullscreen 0
+ rect 347 30 290 190
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ onopen { hide grpcallVote ; show misc ; uiScript loadArenas }
+
+itemDef {
+ name window
+ rect 10 15 270 175
+ style 1
+ backcolor 0 .1 0 1
+ visible 1
+ decoration
+ }
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 226 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 168 0 64 16
+ style 3
+ background "ui/assets/ingameconnection.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 0 128 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 226 128 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 64 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 274 64 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name window
+ rect 64 184 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 184 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+
+
+// BUTTONS //
+itemDef {
+ name ctr_misc
+ text "Misc"
+ textscale .25
+ group grpbutton
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 20 25 45 20
+ type 1
+ textalign 1
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpCallVote ; show misc }
+ mouseEnter { setitemcolor ctr_misc backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ctr_misc backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name ctr_gametype
+ text "Type"
+ textscale .25
+ group grpbutton
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 71 25 45 20
+ type 1
+ textalign 1
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpCallVote ; show type }
+ mouseEnter { setitemcolor ctr_gametype backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ctr_gametype backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name ctr_kickplayer
+ text "Kick"
+ textscale .25
+ group grpbutton
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 122 25 45 20
+ type 1
+ textalign 1
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpCallVote ; show kick }
+ mouseEnter { setitemcolor ctr_kickplayer backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ctr_kickplayer backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name ctr_changemap
+ text "Map"
+ textscale .25
+ group grpbutton
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 173 25 45 20
+ type 1
+ textalign 1
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpCallVote ; show map }
+ mouseEnter { setitemcolor ctr_changemap backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ctr_changemap backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name ctr_changeleader
+ text "Leader"
+ textscale .25
+ group grpbutton
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 225 25 45 20
+ type 1
+ textalign 1
+ textalignx 22
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpCallVote ; show leader }
+ mouseEnter { setitemcolor ctr_changeleader backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ctr_changeleader backcolor .37 .1 .1 1 }
+ }
+
+
+// MISC //
+
+itemDef {
+ name misc
+ text "Restart Map"
+ group grpCallVote
+ textscale .25
+ rect 0 70 290 20
+ type 1
+ textalign 1
+ textalignx 145
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ action { exec "cmd callvote map_restart" ; uiScript closeingame }
+ }
+
+
+itemDef {
+ name misc
+ group grpCallVote
+ text "Next Map"
+ textscale .25
+ rect 0 90 290 20
+ type 1
+ textalign 1
+ textalignx 145
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ action { exec "cmd callvote nextmap" ; uiScript closeingame }
+ }
+itemDef {
+ name misc
+ group grpCallVote
+ text "Do Warmup"
+ textscale .25
+ rect 0 110 290 20
+ type 1
+ textalign 1
+ textalignx 145
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ action { exec "cmd callvote g_doWarmup 1" ; uiScript closeingame }
+ }
+
+
+
+// Game Type //
+
+itemDef {
+ name type
+ group grpCallVote
+ text "Gametype:"
+ style 0
+ textscale .25
+ ownerdraw UI_NETGAMETYPE
+ rect 60 90 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ }
+itemDef {
+ name type
+ text "OK"
+ type 1
+ textscale .25
+ group grpCallVote
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 123 160 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 0
+ action { uiScript voteGame ; uiScript closeingame }
+ mouseEnter { setcolor backcolor .1 .37 .1 1 }
+ mouseExit { setcolor backcolor .37 .1 .1 1 }
+ }
+
+
+// KICK PLAYER //
+
+itemDef {
+ name kick
+ group grpCallVote
+ text "Kick Player:"
+ textscale .25
+ rect 20 50 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ action { }
+ }
+itemDef {
+ name kick
+ group grpCallVote
+ rect 20 70 250 85
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_PLAYER_LIST
+ border 1
+ bordercolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 0
+ mouseEnter { fadein message_arena ; setitemcolor kick bordercolor .7 0 0 1 }
+ mouseExit { fadeout message_arena ; setitemcolor kick bordercolor .5 .5 .5 1 }
+ }
+
+itemDef {
+ name kick
+ text "OK"
+ type 1
+ textscale .25
+ group grpCallVote
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 123 160 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 0
+ action { uiScript voteKick ; uiScript closeingame }
+ mouseEnter { setcolor backcolor .1 .37 .1 1 }
+ mouseExit { setcolor backcolor .37 .1 .1 1 }
+ }
+
+// NEW MAP //
+
+itemDef {
+ name map
+ group grpCallVote
+ text "New Map:"
+ ownerdraw UI_ALLMAPS_SELECTION
+ textscale .25
+ rect 20 50 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ action { }
+ }
+itemDef {
+ name map
+ group grpCallVote
+ rect 20 70 250 85
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_ALLMAPS
+ border 1
+ bordercolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 0
+ mouseEnter { fadein message_arena ; setitemcolor map bordercolor .7 0 0 1 }
+ mouseExit { fadeout message_arena ; setitemcolor map bordercolor .5 .5 .5 .5 }
+ }
+
+
+itemDef {
+ name map
+ text "OK"
+ type 1
+ textscale .25
+ group grpCallVote
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 123 160 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 0
+ action { uiScript voteMap ; uiScript closeingame }
+ mouseEnter { setcolor backcolor .1 .37 .1 1 }
+ mouseExit { setcolor backcolor .37 .1 .1 1 }
+ }
+
+// CHANGE LEADER //
+
+itemDef {
+ name leader
+ group grpCallVote
+ text "New Leader:"
+ textscale .25
+ rect 20 50 110 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 0
+ decoration
+ action { }
+ }
+itemDef {
+ name leader
+ group grpCallVote
+ rect 20 70 250 85
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_LISTBOX
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TEAM_LIST
+ border 1
+ bordercolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 0
+ mouseEnter { fadein message_arena ; setitemcolor leader bordercolor .7 0 0 1 }
+ mouseExit { fadeout message_arena ; setitemcolor leader bordercolor .5 .5 .5 1 }
+ }
+
+itemDef {
+ name leader
+ text "OK"
+ type 1
+ textscale .25
+ group grpCallVote
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 123 160 50 20
+ textalign 1
+ textalignx 25
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 0
+ action { uiScript voteLeader ; uiScript closeingame }
+ mouseEnter { setcolor backcolor .1 .37 .1 1 }
+ mouseExit { setcolor backcolor .37 .1 .1 1 }
+ }
+
+
+
+
+
+
+
+}
+
+
+}
diff --git a/ui/ingame_leave.menu b/ui/ingame_leave.menu
new file mode 100644
index 00000000..70f82971
--- /dev/null
+++ b/ui/ingame_leave.menu
@@ -0,0 +1,344 @@
+#include "ui/menudef.h"
+
+
+{
+\\ INGAME_LEAVE MENU \\
+
+ menuDef {
+ name "ingame_leave"
+ visible 1
+ fullScreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 511 30 128 125
+ focusColor 1 .75 0 1
+ onOpen { show grpMenu ; hide grpConfirm }
+
+
+
+itemDef {
+ name leave
+ style WINDOW_STYLE_FILLED
+ rect 10 15 108 110
+ backcolor 0 .1 0 1
+ visible 1
+ decoration
+ }
+
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 112 10 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 0 63 16
+ style 3
+ background "ui/assets/ingameconnection.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 64 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 64 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name leave
+ text "Main Menu"
+ group grpMenu
+ style 2
+ rect 0 30 128 20
+ type 1
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action { hide grpMenu ; show leaveConfirm }
+ }
+
+ itemDef {
+ name leave
+ group grpMenu
+ text "Restart"
+ style 2
+ type 1
+ rect 0 50 128 20
+ textalign 1
+ textalignx 65
+ textaligny 18
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action { hide grpMenu ; show restartConfirm }
+ }
+
+ itemDef {
+ name leave
+ group grpMenu
+ type 1
+ text "Quit"
+ style 2
+ rect 0 70 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action { hide grpMenu ; show quitConfirm }
+ }
+
+
+// CONFIRMS //
+
+
+itemDef {
+ name leaveConfirm
+ text "Exit to"
+ group grpConfirm
+ style 2
+ rect 0 33 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ decoration
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name leaveConfirm
+ text "Main Menu?"
+ group grpConfirm
+ style 2
+ rect 0 50 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ decoration
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+itemDef {
+ name leaveConfirm
+ text "Yes"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 18 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { uiScript leave }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+itemDef {
+ name leaveConfirm
+ text "No"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 70 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpConfirm ; show grpMenu }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+
+itemDef {
+ name restartConfirm
+ text "Want to"
+ group grpConfirm
+ style 2
+ rect 0 33 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ decoration
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name restartConfirm
+ text "Restart Map?"
+ group grpConfirm
+ style 2
+ rect 0 50 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ decoration
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+itemDef {
+ name restartConfirm
+ text "Yes"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 18 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { exec "map_restart" ; close ingame_leave ; close ingame }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+itemDef {
+ name restartConfirm
+ text "No"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 70 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpConfirm ; show grpMenu }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+itemDef {
+ name quitConfirm
+ text "Want to"
+ group grpConfirm
+ style 2
+ rect 0 33 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ }
+itemDef {
+ name quitConfirm
+ text "Quit Game?"
+ group grpConfirm
+ style 2
+ rect 0 50 128 20
+ textalign 1
+ textalignx 64
+ textaligny 18
+ textscale .25
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ }
+
+
+itemDef {
+ name quitConfirm
+ text "Yes"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 18 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { uiScript quit }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+itemDef {
+ name quitConfirm
+ text "No"
+ group grpConfirm
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 70 80 40 20
+ textalign 1
+ textalignx 20
+ textaligny 15
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { hide grpConfirm ; show grpMenu }
+ mouseEnter { setitemcolor ok backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor ok backcolor .37 .1 .1 1 }
+ }
+
+
+
+}
+
+} \ No newline at end of file
diff --git a/ui/ingame_options.menu b/ui/ingame_options.menu
new file mode 100644
index 00000000..b369e3b5
--- /dev/null
+++ b/ui/ingame_options.menu
@@ -0,0 +1,469 @@
+#include "ui/menudef.h"
+
+{
+\\ SETUP MENU \\
+
+menuDef {
+ name "ingame_options"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 265 30 210 375
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+itemDef {
+ name window
+ rect 10 15 200 360
+ style 1
+ backcolor 0 .1 0 1
+ visible 1
+ decoration
+ }
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 10 32 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 144 10 32 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 157 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 74 0 73 16
+ style 3
+ background "ui/assets/ingameconnection.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 0 314 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 157 314 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 64 16 84
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 0 148 16 84
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 0 232 16 84
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 205 64 16 84
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 205 148 16 84
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 205 232 16 84
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name window
+ rect 64 370 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 128 370 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+
+
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Simple Items:"
+ cvar "cg_simpleItems"
+ rect 0 20 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Marks On Walls:"
+ cvar "cg_marks"
+ rect 0 37 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Show Floating Scores:"
+ cvar "cg_scorePlums"
+ rect 0 54 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_MULTI
+ text "Ejecting Brass:"
+ cvar "cg_brassTime"
+ cvarFloatList { "High" 2500 "Med" 1250 "Off" 0 }
+ rect 0 71 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Dynamic Lights:"
+ cvar "r_dynamiclight"
+ rect 0 88 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Identify Target:"
+ cvar "cg_drawCrosshairNames"
+ rect 0 105 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Draw Gun:"
+ cvar "cg_drawGun"
+ rect 0 122 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Low Quality Sky:"
+ cvar "r_fastsky"
+ rect 0 139 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Sync Every Frame:"
+ cvar "weapon 5"
+ rect 0 156 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Force Player Models:"
+ cvar "cg_forceModel"
+ rect 0 173 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Draw Team Overlay:"
+ cvar "cg_drawTeamOverlay"
+ rect 0 190 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Auto Download:"
+ cvar "cl_allowDownload"
+ rect 0 207 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+ itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Show Time:"
+ cvar "cg_drawTimer"
+ rect 0 224 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Voices Off:"
+ cvar "cg_NoVoiceChats"
+ rect 0 241 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Taunts Off:"
+ cvar "cg_noTaunt"
+ rect 0 258 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Voice Text Off:"
+ cvar "cg_noVoiceText"
+ rect 0 275 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "Team Chats Only:"
+ cvar "cg_teamChatsOnly"
+ rect 0 292 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_MULTI
+ text "Statusbar:"
+ cvar "cg_hudfiles"
+ cvarStrList { Normal "ui/hud.txt" Small "ui/hud2.txt" }
+ rect 0 309 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ action { exec "loadhud" }
+ }
+
+itemDef {
+ name options
+ group grpOptions
+ type ITEM_TYPE_YESNO
+ text "In Game Videos:"
+ cvar "r_inGameVideo"
+ rect 0 326 200 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 143
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+itemDef {
+ name options
+ group grpOptions
+ text "Crosshair:"
+ ownerdraw UI_CROSSHAIR
+ rect 143 343 20 17
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 0
+ textaligny 17
+ textscale .25
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+
+
+
+
+
+
+}
+
+
+}
diff --git a/ui/ingame_vote.menu b/ui/ingame_vote.menu
new file mode 100644
index 00000000..b48b4b47
--- /dev/null
+++ b/ui/ingame_vote.menu
@@ -0,0 +1,141 @@
+#include "ui/menudef.h"
+
+{
+\\ SERVER INFO MENU \\
+
+menuDef {
+ name "ingame_vote"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 430 30 128 125
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+
+ itemDef {
+ name window
+ rect 10 15 108 110
+ style 1
+ backcolor 0 .1 0 1
+ visible 1
+ decoration
+ }
+
+
+
+
+// FRAME //
+
+
+itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 30 0 65 16
+ style 3
+ background "ui/assets/ingameconnection.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 0 64 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 64 64 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+
+
+ itemDef {
+ name yes
+ text "Yes"
+ type 1
+ textscale .25
+ rect 0 30 128 20
+ textalign 1
+ textalignx 64
+ textaligny 10
+ forecolor 1 1 1 1
+ visible 1
+ action { exec "vote yes" ; uiScript closeingame }
+ }
+
+ itemDef {
+ name no
+ text "No"
+ type 1
+ textscale .25
+ rect 0 50 128 20
+ textalign 1
+ textalignx 64
+ textaligny 10
+ forecolor 1 1 1 1
+ visible 1
+ action { exec "vote no" ; uiScript closeingame }
+ }
+itemDef {
+ name yes
+ text "TeamYes"
+ type 1
+ ownerdrawflag UI_SHOW_ANYTEAMGAME
+ textscale .25
+ rect 0 70 128 20
+ textalign 1
+ textalignx 64
+ textaligny 10
+ forecolor 1 1 1 1
+ visible 1
+ action { exec "teamvote yes" ; uiScript closeingame }
+ }
+
+ itemDef {
+ name no
+ text "TeamNo"
+ type 1
+ ownerdrawflag UI_SHOW_ANYTEAMGAME
+ textscale .25
+ rect 0 90 128 20
+ textalign 1
+ textalignx 64
+ textaligny 10
+ forecolor 1 1 1 1
+ visible 1
+ action { exec "teamvote no" ; uiScript closeingame }
+ }
+
+
+}
+
+
+
+
+
+}
+
+
+}
diff --git a/ui/joinserver.menu b/ui/joinserver.menu
new file mode 100644
index 00000000..8686ee8c
--- /dev/null
+++ b/ui/joinserver.menu
@@ -0,0 +1,1259 @@
+#include "ui/menudef.h"
+
+{
+\\ Server Join \\
+
+ menuDef {
+ name "joinserver"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ background "menuback_a"
+ focusColor 1 .75 0 1
+ outOfBoundsClick
+ style 1
+ border 1
+ onOpen { setitemcolor fadebox backcolor 0 0 0 1 ;
+ playlooped "music/fla_mp03.wav" ;
+ fadeout fadebox ;
+ uiScript UpdateFilter ;
+ hide lightning ;
+ hide accept_alt ;
+ show accept ;
+ hide back_alt ;
+ show back ;
+ hide grpmessage }
+ onEsc { uiScript closeJoin }
+
+
+// top bar //
+
+
+ itemDef {
+ name sourcebar
+ style 2
+ rect 0 20 640 40
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.5
+ bordersize 2
+ backcolor 0 0 .75 0.5
+ visible 1
+ mouseEnter { setcolor backcolor .75 0 0 .5 }
+ mouseExit { setcolor backcolor 0 0 .75 .5 }
+ decoration
+ }
+
+// DATE AND MESSAGE OF THE DAY //
+
+itemDef {
+ name datewindow
+ rect 10 365 265 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ backcolor 0 0 0 .15
+ visible 1
+ }
+itemDef {
+ name messagewindow
+ rect 275 365 355 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ backcolor 0 0 0 .15
+ visible 1
+ }
+
+itemDef {
+ name refreshdate
+ ownerdraw UI_SERVERREFRESHDATE
+ textscale .22
+ rect 10 365 265 25
+ textalign 0
+ textalignx 10
+ textaligny 20
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name messageoftheday
+ ownerdraw UI_SERVERMOTD
+ textscale .3
+ rect 280 365 345 25
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+
+// map selection
+
+
+itemDef {
+ name gametypefield
+ style 0
+ ownerdraw UI_NETSOURCE
+ rect 10 20 134 40
+ textstyle 6
+ textalign ITEM_ALIGN_LEFT
+ textalignx 2
+ textaligny 30
+ textscale .32
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" }
+ mouseEnter { show message_source }
+ mouseExit { hide message_source }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ textstyle 6
+ ownerdraw UI_NETFILTER
+ rect 149 20 181 40
+ textalign ITEM_ALIGN_LEFT
+ textalignx 2
+ textaligny 30
+ textscale .32
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" }
+ mouseEnter { show message_gamefilter }
+ mouseExit { hide message_gamefilter }
+ }
+
+itemDef {
+ name gametypefield
+ style 0
+ textstyle 6
+ text "Type:"
+ ownerdraw UI_JOINGAMETYPE
+ rect 330 20 160 40
+ textalign ITEM_ALIGN_LEFT
+ textalignx 2
+ textaligny 30
+ textscale .32
+ forecolor 1 1 1 1
+ border 0
+ bordercolor 0 0 0 0
+ visible 1
+ action { play "sound/misc/kcaction.wav" }
+ mouseEnter { show message_typefilter }
+ mouseExit { hide message_typefilter }
+ }
+
+itemDef {
+ name mappreview
+ style 0
+ ownerdraw UI_NETMAPCINEMATIC
+ rect 505 5 128 96
+ border 1
+ bordercolor 0 .5 0 .5
+ visible 1
+ }
+
+itemDef {
+ name mappreview
+ style WINDOW_STYLE_FILLED
+ rect 505 5 128 96
+ border 1
+ bordercolor .5 .5 .5 .5
+ visible 1
+ }
+
+
+
+itemDef {
+ name horizontoalseparators
+ rect 10 132 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name horizontoalseparators
+ rect 10 172 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+itemDef {
+ name horizontoalseparators
+ rect 10 212 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+itemDef {
+ name horizontoalseparators
+ rect 10 252 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+itemDef {
+ name horizontoalseparators
+ rect 10 292 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+itemDef {
+ name horizontoalseparators
+ rect 10 332 604 20
+ style WINDOW_STYLE_FILLED
+ border 0
+ backcolor 0 0 .5 .25
+ visible 1
+ decoration
+ }
+
+// COLUMNS //
+
+
+
+itemDef {
+ name serverColumn
+ group grpColumn
+ rect 10 128 265 235
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name mapColumn
+ group grpColumn
+ rect 275 128 125 235
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name playerColumn
+ group grpColumn
+ rect 400 128 60 235
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name typeColumn
+ group grpColumn
+ rect 460 128 100 235
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name pingColumn
+ group grpColumn
+ rect 560 128 52 235
+ style WINDOW_STYLE_FILLED
+ border 1
+ backcolor 0 0 0 0
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+
+
+ itemDef {
+ name serverlist
+ rect 10 128 620 235
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERS
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 .7 .25
+ outlinecolor 0 1 0 .25
+ visible 1
+ columns 5 2 40 40 275 40 20 400 5 10 460 20 10 560 20 20
+ mouseenter { setitemcolor serverlist bordercolor .7 0 0 1 }
+ mouseexit { setitemcolor serverlist bordercolor .5 .5 .5 .5 }
+ doubleClick { uiScript JoinServer }
+ }
+
+
+
+
+
+// SORT TABS //
+
+
+ itemDef {
+ name server
+ group grpTabs
+ text "Server Name"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/sorttab.tga"
+ rect 10 103 110 26
+ textalign 1
+ textalignx 59 // center
+ textaligny 21
+ forecolor 1 1 1 1
+ backcolor .1 .1 .37 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript ServerSort 0 ;
+ setitemcolor grpTabs backcolor .1 .1 .37 1 ;
+ setitemcolor server backcolor .1 .37 .1 1 ;
+ setitemcolor grpColumn backcolor 0 0 0 0 ;
+ setitemcolor serverColumn backcolor 0 1 0 .25 }
+ mouseEnter { show message_sort ; setitemcolor serverColumn bordercolor 1 0 0 1 }
+ mouseExit { hide message_sort ; setitemcolor serverColumn bordercolor .5 .5 .5 1 }
+ }
+
+
+
+ itemDef {
+ name map
+ group grpTabs
+ type ITEM_TYPE_BUTTON
+ text "Map Name"
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/sorttab.tga"
+ rect 275 103 100 26
+ textalign 1
+ textalignx 50 // center
+ textaligny 21
+ backcolor .1 .1 .37 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript ServerSort 1 ;
+ setitemcolor grpTabs backcolor .1 .1 .37 1 ;
+ setitemcolor map backcolor .1 .37 .1 1 ;
+ setitemcolor grpColumn backcolor 0 0 0 0 ;
+ setitemcolor mapColumn backcolor 0 1 0 .25 }
+ mouseEnter { show message_sort ; setitemcolor mapColumn bordercolor 1 0 0 1 }
+ mouseExit { hide message_sort ; setitemcolor mapColumn bordercolor .5 .5 .5 1 }
+ }
+
+
+
+ itemDef {
+ name Players
+ group grpTabs
+ text "#Plyrs"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/sorttab.tga"
+ rect 400 103 50 26
+ textalign 1
+ textalignx 25 // center
+ textaligny 21
+ forecolor 1 1 1 1
+ backcolor .1 .1 .37 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript ServerSort 2 ;
+ setitemcolor grpTabs backcolor .1 .1 .37 1 ;
+ setitemcolor Players backcolor .1 .37 .1 1 ;
+ setitemcolor grpColumn backcolor 0 0 0 0 ;
+ setitemcolor playerColumn backcolor 0 1 0 .25 }
+ mouseEnter { show message_sort ; setitemcolor playerColumn bordercolor 1 0 0 1 }
+ mouseExit { hide message_sort ; setitemcolor playerColumn bordercolor .5 .5 .5 1 }
+ }
+
+
+itemDef {
+ name Type
+ group grpTabs
+ text "Type"
+ textscale .25
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/sorttab.tga"
+ rect 460 103 60 26
+ textalign 1
+ textalignx 30 // center
+ textaligny 21
+ backcolor .1 .1 .37 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript ServerSort 3 ;
+ setitemcolor grpTabs backcolor .1 .1 .37 1 ;
+ setitemcolor Type backcolor .1 .37 .1 1 ;
+ setitemcolor grpColumn backcolor 0 0 0 0 ;
+ setitemcolor typeColumn backcolor 0 1 0 .25 }
+ mouseEnter { show message_sort ; setitemcolor typeColumn bordercolor 1 0 0 1 }
+ mouseExit { hide message_sort ; setitemcolor typeColumn bordercolor .5 .5 .5 1 }
+ }
+
+
+itemDef {
+ name Ping
+ group grpTabs
+ text "Ping"
+ type ITEM_TYPE_BUTTON
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/sorttab.tga"
+ rect 560 103 52 26
+ textalign 1
+ textalignx 26 // center
+ textaligny 21
+ backcolor .1 .1 .37 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript ServerSort 4 ;
+ setitemcolor grpTabs backcolor .1 .1 .37 1 ;
+ setitemcolor Ping backcolor .1 .37 .1 1 ;
+ setitemcolor grpColumn backcolor 0 0 0 0 ;
+ setitemcolor pingColumn backcolor 0 1 0 .25 }
+ mouseEnter { show message_sort ; setitemcolor pingColumn bordercolor 1 0 0 1 }
+ mouseExit { hide message_sort ; setitemcolor pingColumn bordercolor .5 .5 .5 1 }
+ }
+
+
+
+
+
+// BUTTONS //
+
+itemDef {
+ name refreshSource
+ text "Get New List"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ //background "ui/assets/button_red.tga"
+ background "ui/assets/button_back.tga"
+ rect 16 67 105 26
+ textalign 1
+ textalignx 52 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter { show message_refreshSOurce ; setitemcolor refreshSource backcolor .1 .37 .1 1 }
+ mouseExit { hide message_refreshSource ; setitemcolor refreshSource backcolor .37 .1 .1 1 }
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript RefreshServers }
+ }
+
+
+
+itemDef {
+ name refreshSource
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 16 67 105 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name refreshSource
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 4 67 13 26
+ visible 1
+ decoration
+ }
+itemDef {
+ name refreshSource
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 120 67 13 26
+ visible 1
+ decoration
+ }
+
+
+
+
+itemDef {
+ name refreshFilter
+ text "Refresh List"
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ type ITEM_TYPE_BUTTON
+ background "ui/assets/button_back.tga"
+ rect 149 67 94 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter { show message_refreshFilter ; setitemcolor refreshFilter backcolor .1 .37 .1 1 }
+ mouseExit { hide message_refreshFilter ; setitemcolor refreshFilter backcolor .37 .1 .1 1 }
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript RefreshFilter }
+ }
+
+
+
+itemDef {
+ name refreshFilter
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 149 67 94 26
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name refreshFilter
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 137 67 13 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name refreshFilter
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 242 67 13 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+
+itemDef {
+ name password
+ text "Password"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 20 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" ;
+ open password_popmenu }
+ mouseEnter { show message_password ; setitemcolor password backcolor .1 .37 .1 1 }
+ mouseExit { hide message_password ; setitemcolor password backcolor .37 .1 .1 1 }
+ }
+
+itemDef {
+ name password
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 20 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name password
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 14 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name password
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 111 395 7 26
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name createFavorite
+ text "New Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 148 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" ;
+ open createfavorite_popmenu }
+ mouseEnter { show message_createFavorite ; setitemcolor createFavorite backcolor .1 .37 .1 1 }
+ mouseExit { hide message_createFavorite ; setitemcolor createFavorite backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name createFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 148 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name createFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 142 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name createFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 239 395 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+itemDef {
+ name addFavorite
+ text "Add Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS
+ rect 276 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript addFavorite }
+ mouseEnter { show message_addFavorite ; setitemcolor addFavorite backcolor .1 .37 .1 1 }
+ mouseExit { hide message_addFavorite ; setitemcolor addFavorite backcolor .37 .1 .1 1 }
+ }
+
+
+itemDef {
+ name addFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 276 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name addFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 270 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name addFavorite
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 367 395 7 26
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name delfavorite
+ text "Del. Favorite"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ background "ui/assets/button_back.tga"
+ rect 276 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript DeleteFavorite ; uiScript UpdateFilter }
+ mouseEnter { show message_delFavorite ; setitemcolor delfavorite backcolor .1 .37 .1 1 }
+ mouseExit { hide message_delFavorite ; setitemcolor delfavorite backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name delfavorite
+ style WINDOW_STYLE_SHADER
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ background "ui/assets/framebutton.tga"
+ rect 276 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name delfavorite
+ style WINDOW_STYLE_SHADER
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ background "ui/assets/leftbutton.tga"
+ rect 270 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name delfavorite
+ style WINDOW_STYLE_SHADER
+ ownerdrawFlag UI_SHOW_FAVORITESERVERS
+ background "ui/assets/rightbutton.tga"
+ rect 367 395 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+itemDef {
+ name serverinfo
+ text "Server Info"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 404 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" ;
+ open serverinfo_popmenu }
+ mouseEnter { show message_serverinfo ; setitemcolor serverinfo backcolor .1 .37 .1 1 }
+ mouseExit { hide message_serverinfo ; setitemcolor serverinfo backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 404 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 398 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 495 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name findplayer
+ text "Find Friend"
+ type ITEM_TYPE_BUTTON
+ textscale .3
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 532 395 92 26
+ textalign 1
+ textalignx 46 // center
+ textaligny 20
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/kcaction.wav" ;
+ open findplayer_popmenu }
+ mouseEnter { show message_findplayer ; setitemcolor findplayer backcolor .1 .37 .1 1 }
+ mouseExit { hide message_findplayer ; setitemcolor findplayer backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 532 395 92 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 526 395 7 26
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name serverinfo
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 623 395 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+// VIEW OPTIONS //
+
+itemDef {
+ name viewEmpty
+ type ITEM_TYPE_YESNO
+ text "View Empty:"
+
+ cvar "ui_browserShowEmpty"
+ textscale .25
+ rect 262 71 125 20
+ textalign 0
+ textalignx 0
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ uiScript RefreshFilter }
+ mouseEnter { show message_viewEmpty }
+ mouseExit { hide message_viewEmpty }
+ }
+itemDef {
+ name viewEmpty
+ type 11
+ text "View Full:"
+ cvar "ui_browserShowFull"
+ textscale .25
+ rect 387 71 125 20
+ textalign 0
+ textalignx 0
+ textaligny 17
+ forecolor 1 1 1 1
+ visible 1
+ action { uiScript RefreshFilter ;
+ play "sound/misc/nomenu.wav" }
+ mouseEnter { show message_viewFull }
+ mouseExit { hide message_viewFull }
+ }
+
+
+
+
+
+// BACK BAR //
+
+
+ itemDef {
+ name gotobar
+ style 2
+ rect 0 430 640 30
+ textscale 0.4
+ textalign 0 // center
+ textalignx 60 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 21
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.5
+ bordersize 2
+ backcolor 0 0 .75 0.5
+ visible 1
+ mouseEnter { setcolor backcolor .75 0 0 .5 }
+ mouseExit { setcolor backcolor 0 0 .75 .5 }
+ decoration
+ }
+
+ itemDef {
+ name back
+ style 3
+ background "ui/assets/backarrow.tga"
+ rect 16 424 50 50
+ visible 1
+ action { close joinserver ; open main }
+ mouseEnter { hide back ; show back_alt ; show message_back }
+ }
+
+itemDef {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect 14 422 54 54
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ mouseExit { hide back_alt ; show back ; hide message_back }
+ action { close joinserver ; open main }
+ }
+
+
+
+
+ itemDef {
+ name accept
+ style 3
+ rect 574 424 50 50
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter { show lightning ; hide accept ; show accept_alt ; show message_accept ; playlooped "sound/misc/loop_electricity_05.wav" }
+ action { uiScript JoinServer }
+ }
+
+ itemDef {
+ name accept_alt
+ style WINDOW_STYLE_SHADER
+ rect 572 422 54 54
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ type ITEM_TYPE_BUTTON
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ mouseExit { hide lightning ; hide accept_alt ; show accept ; hide message_accept ; playlooped "music/fla_mp03.wav" }
+ action { uiScript JoinServer }
+
+ }
+
+ itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 46 385 246 128
+ visible 0
+ decoration
+ }
+itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 345 385 246 128
+ visible 0
+ decoration
+ }
+
+
+
+// MESSAGES //
+
+itemDef {
+ name message_back
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Exit to Main Menu"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_accept
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textalignx 0
+ textstyle 1
+ textaligny 25
+ textscale .416
+ text "Join Arena"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_source
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Set Source"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_gamefilter
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Set to Filter for Specific Game Mods"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_typefilter
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Set to Filter for Specific Game Types"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_sort
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Sort Column"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_refreshSource
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Get Updated Server List from Current Source"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_refreshFilter
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Refresh All Currently Filtered Servers"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_addFavorite
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Add Selected Server to Favorites"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_delFavorite
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Delete Selected Server from Favorites"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_createFavorite
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Enter IP Address of Favorite Server"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_addfilter
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Enter Four Letter Filter and Description"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_password
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Enter Password for Protected Servers"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_serverinfo
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Display Server Information"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_findplayer
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Search Current Server List for Friends"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+
+itemDef {
+ name fadebox
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/fadebox.tga"
+ forecolor 0 0 0 1
+ backcolor 0 0 0 1
+ rect 0 0 640 480
+ visible 1
+ decoration
+ }
+
+
+
+
+}
+
+
+}
+
+
diff --git a/ui/main.menu b/ui/main.menu
new file mode 100644
index 00000000..3e569b45
--- /dev/null
+++ b/ui/main.menu
@@ -0,0 +1,207 @@
+#include "ui/menudef.h"
+
+{
+ assetGlobalDef
+ {
+ font "fonts/font" 16 // font
+ smallFont "fonts/smallfont" 12 // font
+ bigFont "fonts/bigfont" 20 // font
+ cursor "ui/assets/3_cursor3" // cursor
+ gradientBar "ui/assets/gradientbar2.tga" // gradient bar
+ itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse )
+
+ fadeClamp 1.0 // sets the fadeup alpha
+ fadeCycle 1 // how often fade happens in milliseconds
+ fadeAmount 0.1 // amount to adjust alpha per cycle
+
+ shadowColor 0.1 0.1 0.1 0.25 // shadow color
+ }
+
+
+
+
+
+ menuDef
+ {
+ name "main"
+ fullScreen MENU_TRUE
+ rect 0 0 640 480 // Size and position of the menu
+ visible MENU_TRUE // Visible on open
+ focusColor 1 .75 0 1 // Menu focus color for text and items
+
+ onOpen { uiScript stopRefresh ; playlooped "sounds/ui/heartbeat.wav" }
+ onESC{open quit_popmenu}
+
+ itemDef
+ {
+ name background
+ rect 0 0 640 480
+ style WINDOW_STYLE_FILLED
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name splashmodel
+ rect 0 0 640 480
+ type ITEM_TYPE_MODEL
+ style WINDOW_STYLE_EMPTY
+ asset_model "models/splash/splash_screen.md3"
+ model_fovx 33.0
+ model_fovy 24.75
+ model_angle 180
+ visible 1
+ decoration
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Join Server"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 20 128 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 20
+ textscale .416
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ close main;
+ open joinserver
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Start Server"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 40 128 20
+ textalign ITEM_ALIGN_RIGHT
+ textalignx 128
+ textaligny 20
+ textscale .416
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ close main;
+ open createserver
+ }
+ }
+ itemDef
+ {
+ name mainmenu
+ text "Setup"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 80 128 20
+ textalignx 128
+ textaligny 20
+ textscale .416
+ textalign ITEM_ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ close main;
+ open setup_menu;
+ open control_menu
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Credits"
+ type ITEM_TYPE_BUTTON
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ style WINDOW_STYLE_EMPTY
+ rect 472 100 128 20
+ textalignx 128
+ textaligny 20
+ textalign ITEM_ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ close main;
+ open credit
+ }
+ }
+
+ itemDef
+ {
+ name mainmenu
+ text "Mods"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .416
+ rect 472 120 128 20
+ textalignx 128
+ textaligny 20
+ textalign ITEM_ALIGN_RIGHT
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ close main;
+ open mod
+ }
+ }
+ itemDef
+ {
+ name mainmenu
+ text "Quit"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ rect 472 160 128 20
+ textalignx 128
+ textaligny 20
+ textscale .416
+ textalign ITEM_ALIGN_RIGHT
+ forecolor 1 1 1 1
+ visible 1
+ action
+ {
+ play "sound/misc/kcaction.wav";
+ open quit_popmenu
+ }
+ }
+
+ itemDef
+ {
+ name copyright
+ text "Q3A (C) 2000 Id Software Inc. Tremulous by Timbo and Veda."
+ style WINDOW_STYLE_EMPTY
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ textscale .15
+ rect 0 440 640 40
+ textalign 1
+ textaligny 32
+ textalignx 320
+ forecolor .75 .75 .75 .75
+ visible 1
+ decoration
+ }
+ }
+}
diff --git a/ui/menus.txt b/ui/menus.txt
new file mode 100644
index 00000000..5568ab0a
--- /dev/null
+++ b/ui/menus.txt
@@ -0,0 +1,37 @@
+// menu defs
+//
+{
+ loadMenu { "ui/main.menu" }
+ loadMenu { "ui/joinserver.menu" }
+ loadMenu { "ui/player.menu" }
+ loadMenu { "ui/setup.menu" }
+ loadMenu { "ui/fight.menu" }
+ loadMenu { "ui/skirmish.menu" }
+ loadMenu { "ui/createserver.menu" }
+ loadMenu { "ui/controls.menu" }
+ loadMenu { "ui/cdkey.menu" }
+ loadMenu { "ui/system.menu" }
+ loadMenu { "ui/options.menu" }
+ loadMenu { "ui/help.menu" }
+ loadMenu { "ui/ordershelp.menu" }
+ loadMenu { "ui/mod.menu" }
+ loadMenu { "ui/demo.menu" }
+ loadMenu { "ui/cinematicmenu.menu" }
+ loadMenu { "ui/credit.menu" }
+ loadMenu { "ui/demo_quit.menu" }
+ loadMenu { "ui/connect.menu" }
+ loadMenu { "ui/powerup.menu" }
+ loadMenu { "ui/password.menu" }
+ loadMenu { "ui/quake3.menu" }
+ loadMenu { "ui/quit.menu" }
+ loadMenu { "ui/vid_restart.menu" }
+ loadMenu { "ui/default.menu" }
+ loadMenu { "ui/addfilter.menu" }
+ loadMenu { "ui/error.menu" }
+ loadMenu { "ui/serverinfo.menu" }
+ loadMenu { "ui/findplayer.menu" }
+ loadMenu { "ui/endofgame.menu" }
+ loadMenu { "ui/quitcredit.menu" }
+ loadMenu { "ui/resetscore.menu" }
+ loadMenu { "ui/createfavorite.menu" }
+}
diff --git a/ui/mod.menu b/ui/mod.menu
new file mode 100644
index 00000000..cb2363e8
--- /dev/null
+++ b/ui/mod.menu
@@ -0,0 +1,303 @@
+#include "ui/menudef.h"
+
+{
+\\ MOD \\
+
+ menuDef {
+ name "mod"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ background "menuback_a"
+ focusColor 1 .67 0 1
+ style 1
+ border 1
+ onEsc { close mod ; open main }
+ onOpen { setitemcolor fadebox backcolor 0 0 0 1 ;
+ playlooped "music/fla_mp03.wav" ;
+ fadeout fadebox ;
+ uiScript loadMods ;
+ hide lightning ;
+ hide accept_alt ;
+ show accept ;
+ hide back_alt ;
+ show back ;
+ hide grpmessage }
+
+
+
+
+
+
+
+// LEVEL SELECTION BAR //
+
+
+ itemDef {
+ name levelbar
+ text "TEAM ARENA MODS"
+ textstyle 6
+ style 2
+ rect 0 16 640 40
+ textscale 0.416
+ textalign 1 // center
+ textalignx 320 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 27
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.5
+ bordersize 2
+ backcolor 0 0 .75 0.5
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name teamarenaimage
+ style 3
+ background "ui/assets/teamarenaimage.tga"
+ rect 0 80 220 115
+ visible 1
+ }
+
+
+itemDef {
+ name mappreview
+ style 5
+ cinematic "mpintro.roq"
+ rect 20 195 200 150
+ backcolor 1 1 1 .25
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ decoration
+ visible 1
+ }
+/*
+
+// DEMO ONLY //
+itemDef {
+ name demo_only
+ style 0
+ rect 240 250 360 20
+ textstyle 1
+ textalign 1
+ textalignx 180
+ textaligny 25
+ textscale .333
+ text "This Option is Not Available in Demo."
+ forecolor 1 1 1 1
+ decoration
+ visible 1
+ }
+
+*/
+
+
+
+itemDef {
+ name modlist
+ rect 240 100 360 300
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_MODS
+ textalign 3
+ textaligny 14
+ border 1
+ bordercolor .5 .5 .5 .5
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ doubleClick { uiScript RunMod }
+ mouseEnter { fadein message_mod ; setitemcolor modlist bordercolor .7 0 0 1 }
+ mouseExit { fadeout message_mod ; setitemcolor modlist bordercolor .5 .5 .5 .5 }
+ }
+
+
+
+
+// BACK BAR //
+
+
+ itemDef {
+ name gotobar
+ style 2
+ rect 0 430 640 30
+ textscale 0.4
+ textalign 0 // center
+ textalignx 60 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 21
+ style 2
+ border 4
+ bordercolor 0.5 0.5 0.5 0.5
+ bordersize 2
+ backcolor 0 0 .75 0.5
+ visible 1
+ mouseEnter { setcolor backcolor .75 0 0 .5 }
+ mouseExit { setcolor backcolor 0 0 .75 .5 }
+ decoration
+ }
+
+
+
+ itemDef {
+ name back
+ style 3
+ background "ui/assets/backarrow.tga"
+ rect 16 424 50 50
+ visible 1
+ action { close mod ; open main }
+ mouseEnter { hide back ; show back_alt ; fadein message_back }
+ }
+
+itemDef {
+ name back_alt
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/backarrow_alt.tga"
+ rect 14 422 54 54
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ mouseExit { hide back_alt ; show back ; fadeout message_back }
+ action { close mod ; open main }
+ }
+
+
+
+
+
+itemDef {
+ name accept
+ style 3
+ rect 574 424 50 50
+ background "ui/assets/forwardarrow.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ mouseEnter { show lightning ; hide accept ; show accept_alt ; show message_accept ; playlooped "sound/misc/loop_electricity_05.wav" }
+ action { close mod ; uiScript RunMod }
+ }
+
+itemDef {
+ name accept_alt
+ style 3
+ rect 572 422 54 54
+ background "ui/assets/forwardarrow_alt.tga"
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 0
+ type ITEM_TYPE_BUTTON
+ action { close mod ; uiScript RunMod }
+ mouseExit { hide lightning ; hide accept_alt ; show accept ; hide message_accept ; playlooped "music/fla_mp03.wav" }
+ }
+
+
+ itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 46 385 250 128
+ visible 0
+ decoration
+ }
+itemDef {
+ name lightning
+ style 3
+ background lightningkc
+ rect 341 385 250 128
+ visible 0
+ decoration
+ }
+
+
+
+// MESSAGES //
+
+itemDef {
+ name message_back
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textstyle 1
+ textalign 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Exit to Main Menu"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name message_accept
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Play Mod"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+itemDef {
+ name message_mod
+ group grpmessage
+ style 0
+ rect 320 430 128 30
+ textalign 1
+ textstyle 1
+ textalignx 0
+ textaligny 25
+ textscale .416
+ text "Select Mod Name to Play"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+
+itemDef {
+ name fadebox
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/fadebox.tga"
+ forecolor 0 0 0 1
+ backcolor 0 0 0 1
+ rect 0 0 640 480
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+}
+
+
+
+
+
+
+
+
+}
+
+}
+} \ No newline at end of file
diff --git a/ui/password.menu b/ui/password.menu
new file mode 100644
index 00000000..3f52bbb9
--- /dev/null
+++ b/ui/password.menu
@@ -0,0 +1,147 @@
+#include "ui/menudef.h"
+
+{
+\\ PASSWORD POPUP MENU \\
+
+menuDef {
+ name "password_popmenu"
+ visible 0
+ fullscreen 0
+ rect 204 122 235 235
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onESC { close password_popmenu ; open joinserver }
+
+
+
+itemDef {
+ name window
+ rect 0 0 235 235
+ style 3
+ background "ui/assets/mainpop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 47 47 144 144
+ style 3
+ background "centerconsole2"
+ visible 1
+ decoration
+ }
+
+
+
+
+
+ // PASSWORD //
+
+itemDef {
+ name password
+ text "Password"
+ style 0
+ decoration
+ textscale .3
+ rect 1 87 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 0 0 0 1
+ visible 1
+
+ }
+itemDef {
+ name password
+ text "Password"
+ style 0
+ decoration
+ textscale .3
+ rect 0 86 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ forecolor 1 1 1 1
+ visible 1
+ }
+itemDef {
+ name passwordEntry
+ style 1
+ text ":"
+ maxchars 15
+ textscale .25
+ TYPE 4
+ cvar "password"
+ rect 50 106 130 20
+ textalign 0
+ textalignx 0
+ textaligny 16
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ mouseenter { setitemcolor passwordEntry backcolor 0 0 0 .75 }
+ mouseexit { setitemcolor passwordEntry backcolor 0 0 0 .5 }
+ }
+
+
+
+itemDef {
+ name yes
+ text "Ok"
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 103 140 30 26
+ textalign 1
+ textalignx 15
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ close password_popmenu ; open joinserver }
+ mouseEnter { setitemcolor yes backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor yes backcolor .37 .1 .1 1 }
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 103 140 30 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 97 140 7 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 132 140 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+}
+
+
+
+}
diff --git a/ui/quit.menu b/ui/quit.menu
new file mode 100644
index 00000000..2d7f21fb
--- /dev/null
+++ b/ui/quit.menu
@@ -0,0 +1,163 @@
+#include "ui/menudef.h"
+
+{
+\\ QUIT POPUP MENU \\
+
+menuDef {
+ name "quit_popmenu"
+ visible 0
+ fullscreen 0
+ //rect 217 200 210 85
+ rect 204 122 235 235
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onESC { close quit_popmenu ; open main }
+
+
+
+itemDef {
+ name window
+ rect 0 0 235 235
+ style 3
+ background "ui/assets/mainpop.tga"
+ visible 1
+ decoration
+ }
+itemDef {
+ name window
+ rect 47 47 144 144
+ style 3
+ background "centerconsole2"
+ visible 1
+ decoration
+ }
+
+
+
+
+
+ // QUIT //
+
+itemDef {
+ name confirm
+ text "Quit Team Arena?"
+ style 0
+ textscale .3
+ textstyle 3
+ rect 0 90 110 20
+ textalign 1
+ textalignx 117
+ textaligny 16
+ decoration
+ forecolor 1 1 1 1
+ visible 1
+ }
+
+
+itemDef {
+ name yes
+ text "YES"
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 75 120 30 26
+ textalign 1
+ textalignx 15
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav";
+ close main ;
+ close quit_popmenu ;
+ open quitCredit }
+ mouseEnter { setitemcolor yes backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor yes backcolor .37 .1 .1 1 }
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 75 120 30 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 69 120 7 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name yes
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 104 120 7 26
+ visible 1
+ decoration
+ }
+
+
+
+
+
+itemDef {
+ name no
+ text "NO"
+ type 1
+ textscale .25
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 128 120 30 26
+ textalign 1
+ textalignx 15
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ close quit_popmenu ; open main }
+ mouseEnter { setitemcolor no backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor no backcolor .37 .1 .1 1 }
+ }
+ itemDef {
+ name no
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 128 120 30 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name no
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 122 120 7 26
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name no
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 157 120 7 26
+ visible 1
+ decoration
+ }
+
+}
+
+
+}
+
+
diff --git a/ui/quitcredit.menu b/ui/quitcredit.menu
new file mode 100644
index 00000000..7f83df1a
--- /dev/null
+++ b/ui/quitcredit.menu
@@ -0,0 +1,258 @@
+#include "ui/menudef.h"
+
+{
+\\ QUIT CREDIT \\
+
+ menuDef {
+ name "quitCredit"
+ visible 0
+ fullscreen 1
+ rect 0 0 640 480
+ background "menuback_a"
+ focusColor 1 .67 0 1
+ style 1
+ border 1
+ onEsc { uiScript "quit" }
+ onOpen { setitemcolor fadebox backcolor 0 0 0 1 ;
+ fadeout fadebox ;
+ show grpidcredit }
+
+
+
+
+
+itemDef {
+ name demo_only
+ style WINDOW_STYLE_EMPTY
+ rect 0 0 640 480
+ type 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ close quitCredit ;
+ uiScript "quit" }
+ }
+
+
+
+// LEVEL SELECTION BAR //
+
+itemDef {
+ name teamarenaart
+ group grpidcredit
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/teamarenaimage2.tga"
+ rect 64 0 512 150
+ visible 0
+ decoration
+ }
+
+
+
+
+
+itemDef {
+ name programming
+ group grpidcredit
+ style 0
+ rect 0 160 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "PROGRAMMING: John Carmack, Robert Duffy, Jim Dose'"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name artist
+ group grpidcredit
+ style 0
+ rect 0 190 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "ART: Adrian Carmack, Kevin Cloud, Kenneth Scott, Seneca Menard, Fred Nilsson "
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+
+itemDef {
+ name levelDesign
+ group grpidcredit
+ style 0
+ rect 0 220 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "LEVEL DESIGN: Tim Willits, Christian Antkow, Paul Jaquays"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name gameDesign
+ group grpidcredit
+ style 0
+ rect 0 250 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "GAME DESIGN: Graeme Devine"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name ceo
+ group grpidcredit
+ style 0
+ rect 0 280 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "CEO: Todd Hollenshead"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name bizDev
+ group grpidcredit
+ style 0
+ rect 0 310 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "BUSINESS DEVELOPMENT: Marty Stratton"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name idMom
+ group grpidcredit
+ style 0
+ rect 0 340 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "OFFICE MANAGER AND ID MOM: Donna Jackson"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+itemDef {
+ name devAssist
+ group grpidcredit
+ style 0
+ rect 0 370 640 30
+ textalign 1
+ textalignx 320
+ textaligny 10
+ textscale .35
+ text "DEVELOPMENT ASSISTANCE: Eric Webb"
+ forecolor 1 1 1 1
+ decoration
+ visible 0
+ }
+
+
+itemDef {
+ name exitbttn
+ group grpidcredit
+ rect 255 420 130 26
+ type 1
+ text "Click to Exit"
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ textalign 1
+ textscale .25
+ textalignx 65
+ textaligny 20
+ visible 0
+ decoration
+ backcolor .37 .1 .1 1
+ forecolor 1 1 1 1
+ action { play "sound/misc/nomenu.wav" }
+ mouseEnter { setitemcolor exitbttn backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor exitbttn backcolor .37 .1 .1 1 }
+ }
+itemDef {
+ name exitbttn
+ group grpidcredit
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 255 420 130 26
+ visible 0
+ decoration
+ }
+
+itemDef {
+ name exitbttn
+ group grpidcredit
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 243 420 13 26
+ visible 0
+ decoration
+ }
+
+itemDef {
+ name exitbttn
+ group grpidcredit
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 384 420 13 26
+ visible 0
+ decoration
+ }
+
+itemDef {
+ name copyright
+ text "Quake III: Team Arena Copyright 2000 Id Software, Inc. All rights reserved"
+ style 0
+ textscale .25
+ rect 0 440 640 40
+ textalign 1
+ textaligny 32
+ textalignx 320
+ forecolor .75 0 0 .75
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name fadebox
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/fadebox.tga"
+ forecolor 0 0 0 1
+ backcolor 0 0 0 1
+ rect 0 0 640 480
+ visible 1
+ decoration
+ }
+
+
+
+
+
+}
+
+}
+} \ No newline at end of file
diff --git a/ui/serverinfo.menu b/ui/serverinfo.menu
new file mode 100644
index 00000000..24f9006b
--- /dev/null
+++ b/ui/serverinfo.menu
@@ -0,0 +1,396 @@
+#include "ui/menudef.h"
+
+{
+\\ Server Information Popup Menu \\
+
+menuDef {
+ name "serverinfo_popmenu"
+ visible 0
+ fullscreen 0
+ rect 158 80 320 340
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ popup
+ onClose { }
+ onOpen { uiScript ServerStatus }
+ onESC { close serverinfo_popmenu ; open joinserver }
+
+ itemDef {
+ name window
+ rect 10 15 310 330
+ style 1
+ backcolor 0 0 0 .5
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 10 15 320 340
+ style 1
+ backcolor 0 0 0 .25
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 10 15 300 320
+ style 1
+ backcolor .1 .1 .37 1
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+
+ itemDef {
+ name window
+ rect 10 15 300 10
+ style 1
+ backcolor 0 0 0 .25
+ forecolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name serverinfo
+ rect 0 20 320 20
+ text "Server Information"
+ textstyle 3
+ textalign 1
+ textscale .333
+ textalignx 160
+ textaligny 20
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+
+
+
+// FRAME //
+
+
+ itemDef {
+ name window
+ rect 0 10 64 64
+ style 3
+ background "ui/assets/ingameleftcorner.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 64 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 184 10 96 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+ itemDef {
+ name window
+ rect 256 10 64 64
+ style 3
+ background "ui/assets/ingamerightcorner.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 128 10 64 8
+ style 3
+ background "ui/assets/ingametop.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 0 274 64 64
+ style 3
+ background "ui/assets/ingameleftcornerb.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 256 274 64 64
+ style 3
+ background "ui/assets/ingamerightcornerb.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 0 64 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+
+ itemDef {
+ name window
+ rect 0 128 16 64
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 0 192 16 96
+ style 3
+ background "ui/assets/ingameleft.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 304 64 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+ itemDef {
+ name window
+ rect 304 128 16 64
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 304 192 16 96
+ style 3
+ background "ui/assets/ingameright.tga"
+ visible 1
+ decoration
+ }
+
+
+
+ itemDef {
+ name window
+ rect 64 330 64 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 128 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+ itemDef {
+ name window
+ rect 172 330 98 8
+ style 3
+ background "ui/assets/ingamebottom.tga"
+ visible 1
+ decoration
+ }
+
+
+
+
+
+ itemDef {
+ name serverinfo
+ rect 20 55 280 230
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 16
+ textscale .225
+ backcolor 0 0 0 1
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_SERVERSTATUS
+ notselectable
+ visible 1
+ columns 4 2 40 20
+ 40 40 10
+ 90 40 10
+ 135 40 20
+ }
+
+ itemDef {
+ name window
+ rect 20 55 264 230
+ style 1
+ backcolor 0 0 0 0
+ forecolor 0 0 0 0
+ border 1
+ bordersize 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+
+
+// BUTTON //
+
+ itemDef {
+ name exit
+ text "Exit"
+ type 1
+ textscale .23
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 95 295 45 26
+ textalign 1
+ textalignx 23
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { play "sound/misc/nomenu.wav" ;
+ close serverinfo_popmenu ;
+ open joinserver }
+ mouseEnter { setitemcolor exit backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor exit backcolor .37 .1 .1 1 }
+ }
+
+ itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 95 295 45 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+ itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 83 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+ itemDef {
+ name exit
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 139 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+
+ itemDef {
+ name refresh
+ text "Refresh"
+ type 1
+ textscale .23
+ group grpControlbutton
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ background "ui/assets/button_back.tga"
+ rect 180 295 45 26
+ textalign 1
+ textalignx 23
+ textaligny 20
+ forecolor 1 1 1 1
+ backcolor .37 .1 .1 1
+ visible 1
+ action { uiScript ServerStatus }
+ mouseEnter { setitemcolor refresh backcolor .1 .37 .1 1 }
+ mouseExit { setitemcolor refresh backcolor .37 .1 .1 1 }
+ }
+
+ itemDef {
+ name refresh
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/framebutton.tga"
+ rect 180 295 45 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+ itemDef {
+ name refresh
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/leftbutton.tga"
+ rect 168 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+ itemDef {
+ name refresh
+ group grpControlbutton
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/rightbutton.tga"
+ rect 224 295 13 26
+ visible 1
+ forecolor 1 1 1 1
+ decoration
+ }
+
+
+
+}
+
+
+}
+
+
diff --git a/ui/teamscore.menu b/ui/teamscore.menu
new file mode 100644
index 00000000..daf18409
--- /dev/null
+++ b/ui/teamscore.menu
@@ -0,0 +1,512 @@
+#include "ui/menudef.h"
+
+{
+\\ score_menu \\
+
+ menuDef {
+ name "teamscore_menu"
+ visible 0
+ fullscreen 0
+ rect 0 0 640 480
+ focusColor 1 .75 0 1
+ style 0
+ border 1
+
+
+// GAMETYPE BAR //
+
+
+itemDef {
+ name gameStatusWindow
+ style 4
+ rect 14 40 612 35
+ border 1
+ bordercolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+
+
+itemDef {
+ name score
+ ownerdraw CG_KILLER
+ textscale .4
+ style 0
+ rect 0 40 640 27
+ textalignx 0
+ textaligny 27
+ textalign 1
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+
+// TEAM NAME //
+
+itemDef {
+ name teamNameWindow
+ rect 14 78 612 30
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+itemDef {
+ name score
+ text " "
+ ownerdraw CG_GAME_STATUS
+ textscale .3
+ style 0
+ rect 0 78 640 23
+ textalignx 320
+ textaligny 0
+ textalign 1
+ backcolor 0 0 0 0
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+
+
+itemDef {
+ name redteamname
+ ownerdraw CG_RED_NAME
+ textalign 0
+ textscale .3
+ rect 20 78 306 23
+ forecolor 1 0 0 1
+ decoration
+ visible 1
+ }
+
+itemDef {
+ name blueteamname
+ ownerdraw CG_BLUE_NAME
+ text " "
+ textalign 2
+ textscale .3
+ rect 600 78 0 23
+ forecolor 0 0 1 1
+ decoration
+ visible 1
+ }
+
+
+// TEAM BARS //
+
+itemDef {
+ name leftteambar
+ rect 14 112 307 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 1
+ forecolor 1 1 1 1
+ backcolor 1 0 0 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name rightteambar
+ rect 320 112 306 25
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor 1 1 1 1
+ forecolor 1 1 1 1
+ backcolor 0 0 1 1
+ visible 1
+ decoration
+ }
+
+// TEAM HEADINGS //
+
+itemDef {
+ name leftteamheadings
+ text "Status Name Score Time Ping"
+ textscale .25
+ style 0
+ rect 25 112 128 30
+ textalign 0
+ textalignx 0 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 18
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible 1
+ }
+itemDef {
+ name rightteamheadings
+ text "Status Name Score Time Ping"
+ textscale .25
+ style 0
+ rect 331 112 128 30
+ textalign 0
+ textalignx 0 // x alignment point for text
+ // use it to offset left/right text from the edge
+ // or to center the text on a different point
+ textaligny 18
+ backcolor 0 0 0 0
+ forecolor 1 .75 0 1
+ decoration
+ visible 1
+ }
+
+
+
+
+// GRADIENT BACKGROUNDS //
+
+
+itemDef {
+ name window
+ rect 320 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 300 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 606 142 1 220
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+itemDef {
+ name redlogo
+ style WINDOW_STYLE_SHADER
+ background "textures/ctf2/redteam01.tga"
+ rect 110 189 128 128
+ forecolor .75 0 0 0.5
+ visible 1
+ decoration
+ }
+itemDef {
+ name bluelogo
+ style WINDOW_STYLE_SHADER
+ background "textures/ctf2/blueteam01"
+ rect 416 189 128 128
+ forecolor 0 0 .75 0.5
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name leftgrad
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/halfgradleft.tga"
+ rect 14 142 306 222
+ forecolor .75 0 0 0.5
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name rightgrad
+ style WINDOW_STYLE_SHADER
+ background "ui/assets/halfgradright.tga"
+ rect 320 142 306 222
+ forecolor 0 0 .75 0.5
+ visible 1
+ decoration
+ }
+
+
+// LIST //
+
+itemDef {
+ name leftlist
+ rect 14 142 306 222
+ forecolor .75 .75 .75 1
+ visible 1
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_REDTEAM_LIST
+ notselectable
+ columns 7 2 12 12 18 12 12 34 20 20 78 75 16 183 20 20 221 20 20 251 10 10
+ }
+
+
+
+itemDef {
+ name rightlist
+ rect 320 142 306 222
+ forecolor 1 1 1 1
+ visible 1
+ type ITEM_TYPE_LISTBOX
+ elementwidth 135
+ elementheight 20
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_BLUETEAM_LIST
+ notselectable
+ columns 7 2 12 12 18 12 12 34 20 20 78 75 16 183 20 20 221 20 20 251 10 10
+ }
+
+
+
+
+// PLAYER LIST BORDER //
+
+
+
+itemDef {
+ name window
+ rect 14 141 612 221
+ style WINDOW_STYLE_EMPTY
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+
+
+
+
+
+
+
+
+// spectators //
+
+
+itemDef {
+ name window
+ rect 14 414 612 24
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 .7
+ backcolor 0 0 0 .5
+ textscale .33
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ text "Spectating:"
+ textaligny 20
+ rect 19 414 82 24
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ textalignx 3
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 100 414 520 24
+ style WINDOW_STYLE_FILLED
+ forecolor 1 1 1 1
+ textscale .33
+ visible 1
+ ownerdraw CG_SPECTATORS
+ decoration
+ }
+
+
+
+
+
+// AWARDS //
+
+
+itemDef {
+ name window
+ rect 14 364 612 48
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 1
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+itemdef {
+ name medal_accuracy
+ ownerdraw CG_ACCURACY
+ rect 43 368 32 32
+ background "ui/assets/medal_accuracy.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_assist
+ ownerdraw CG_ASSISTS
+ rect 130 368 32 32
+ background "ui/assets/medal_assist.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_defend
+ ownerdraw CG_DEFEND
+ rect 227 368 32 32
+ background "ui/assets/medal_defend.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_excellent
+ ownerdraw CG_EXCELLENT
+ rect 314 368 32 32
+ background "ui/assets/medal_excellent.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_gauntlet
+ ownerdraw CG_GAUNTLET
+ rect 391 368 32 32
+ background "ui/assets/medal_gauntlet.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_impressive
+ ownerdraw CG_IMPRESSIVE
+ rect 478 368 32 32
+ background "ui/assets/medal_impressive.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+itemdef {
+ name medal_capture_team
+ ownerdraw CG_CAPTURES
+ rect 565 368 32 32
+ background "ui/assets/medal_capture.tga"
+ forecolor 1 1 1 .5
+ visible 1
+ decoration
+ textscale 0.25
+ }
+
+// GAMETYPE //
+
+itemDef {
+ name window
+ rect 14 440 612 24
+ style WINDOW_STYLE_FILLED
+ border 1
+ bordercolor .5 .5 .5 1
+ forecolor 1 1 1 .7
+ backcolor 0 0 0 .5
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name window
+ rect 220 440 200 24
+ style WINDOW_STYLE_EMPTY
+ border 1
+ bordercolor .5 .5 .5 1
+ visible 1
+ decoration
+ }
+
+itemDef {
+ name gametype
+ ownerdraw CG_GAME_TYPE
+ textalign 0
+ textscale .3
+ rect 18 440 50 20
+ forecolor 1 1 1 1
+ textaligny 0
+ textalignx 0
+ decoration
+ visible 1
+ }
+
+itemdef {
+ name playername
+ text "Use Score Scroll Keys"
+ rect 225 440 256 24
+ forecolor 1 .75 0 1
+ textalignx 10
+ textaligny 20
+ visible 1
+ textalign 0
+ decoration
+ textscale 0.333
+ }
+
+
+itemdef {
+ name playerscore
+ text "Score:"
+ rect 430 440 40 21
+ textalignx 0
+ textaligny 21
+ visible 1
+ textalign 0
+ forecolor 1 1 1 1
+ textscale .3
+ ownerdraw CG_PLAYER_SCORE
+ decoration
+ }
+
+
+
+
+
+
+
+}
+
+
+}
diff --git a/ui/tremulous.txt b/ui/tremulous.txt
new file mode 100644
index 00000000..e8a5ba59
--- /dev/null
+++ b/ui/tremulous.txt
@@ -0,0 +1,21 @@
+// menu defs
+//
+{
+ loadMenu { "ui/tremulous_teamselect.menu" }
+ loadMenu { "ui/tremulous_alienclass.menu" }
+ loadMenu { "ui/tremulous_humanitem.menu" }
+
+ loadMenu { "ui/tremulous_alienbuild.menu" }
+ loadMenu { "ui/tremulous_humanbuild.menu" }
+
+ loadMenu { "ui/tremulous_humanmcu.menu" }
+ loadMenu { "ui/tremulous_humanmcubuy.menu" }
+ loadMenu { "ui/tremulous_humanmcusell.menu" }
+
+ loadMenu { "ui/tremulous_humanbank.menu" }
+
+ loadMenu { "ui/tremulous_humandialogs.menu" }
+ loadMenu { "ui/tremulous_aliendialogs.menu" }
+
+ loadMenu { "ui/tremulous_alienupgrade.menu" }
+}
diff --git a/ui/tremulous_alienbuild.menu b/ui/tremulous_alienbuild.menu
new file mode 100644
index 00000000..a5b42015
--- /dev/null
+++ b/ui/tremulous_alienbuild.menu
@@ -0,0 +1,84 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_alienbuild"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadAlienBuilds }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENBUILD
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript BuildAlienBuildable; close tremulous_alienbuild }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_alienbuild }
+ }
+ }
+}
diff --git a/ui/tremulous_alienclass.menu b/ui/tremulous_alienclass.menu
new file mode 100644
index 00000000..cdd856b7
--- /dev/null
+++ b/ui/tremulous_alienclass.menu
@@ -0,0 +1,101 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_alienclass"
+ visible 1
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadAlienClasses }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENCLASSES
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "Back"
+ text "< Back"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 170 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_alienclass; open tremulous_teamselect }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript SpawnAsAlienClass; close tremulous_alienclass }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_alienclass }
+ }
+ }
+}
diff --git a/ui/tremulous_aliendialogs.menu b/ui/tremulous_aliendialogs.menu
new file mode 100644
index 00000000..849e56fd
--- /dev/null
+++ b/ui/tremulous_aliendialogs.menu
@@ -0,0 +1,369 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_alien_no_room"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_no_room
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_room
+ text "There is no room here"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_room
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_no_room }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_alien_no_creep"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_no_creep
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_creep
+ text "There is no creep here"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_creep
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_no_creep }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_alien_no_hivemind"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_no_hivemind
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_hivemind
+ text "There is no hivemind"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_hivemind
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_no_hivemind }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_alien_one_hivemind"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_one_hivemind
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_one_hivemind
+ text "There can be only one hivemind"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_one_hivemind
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_one_hivemind }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_alien_no_assertion"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_no_assertion
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_assertion
+ text "The hivemind cannot control additional structures"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_no_assertion
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_no_assertion }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_alien_egg_warning"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name alien_egg_warning
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_egg_warning
+ text "This egg will not be controlled by a hivemind"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name alien_egg_warning
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_alien_egg_warning }
+ }
+ }
+}
diff --git a/ui/tremulous_alienupgrade.menu b/ui/tremulous_alienupgrade.menu
new file mode 100644
index 00000000..9fe6e554
--- /dev/null
+++ b/ui/tremulous_alienupgrade.menu
@@ -0,0 +1,84 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_alienupgrade"
+ visible 1
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadAlienUpgrades }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMALIENUPGRADE
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript UpgradeToNewClass; close tremulous_alienupgrade }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_alienupgrade }
+ }
+ }
+}
diff --git a/ui/tremulous_humanbuild.menu b/ui/tremulous_humanbuild.menu
new file mode 100644
index 00000000..668988bf
--- /dev/null
+++ b/ui/tremulous_humanbuild.menu
@@ -0,0 +1,84 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_humanbuild"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadHumanBuilds }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANBUILD
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript BuildHumanBuildable; close tremulous_humanbuild }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_humanbuild }
+ }
+ }
+}
diff --git a/ui/tremulous_humandialogs.menu b/ui/tremulous_humandialogs.menu
new file mode 100644
index 00000000..f49d8a91
--- /dev/null
+++ b/ui/tremulous_humandialogs.menu
@@ -0,0 +1,552 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_human_no_room"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_no_room
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_room
+ text "There is no room here"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_room
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_no_room }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_no_power"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_no_power
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_power
+ text "There is no power remaining"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_power
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_no_power }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_one_reactor"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_one_reactor
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_one_reactor
+ text "There can be only one reactor"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_one_reactor
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_one_reactor }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_repeater"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_repeater
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_repeater
+ text "There is no power here, build a repeater"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_repeater
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_repeater }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_replicator_warning"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_replicator_warning
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_replicator_warning
+ text "This replicator will not be powered"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_replicator_warning
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_replicator_warning }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_repeater_warning"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_repeater_warning
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_repeater_warning
+ text "This repeater will not be powered"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_repeater_warning
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_repeater_warning }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_no_slots"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_no_slots
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_slots
+ text "You have no room to carry this item"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_slots
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_no_slots }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_no_funds"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_no_funds
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_funds
+ text "You don't have enough funds"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_no_funds
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_no_funds }
+ }
+ }
+
+ menuDef
+ {
+ name "tremulous_human_item_held"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick // this closes the window if it gets a click out of the rectangle
+ rect 250 90 300 300
+ focusColor 1 .75 0 1
+ style 1
+ border 1
+ disableColor .5 .5 .5 0
+
+ itemDef
+ {
+ name human_item_held
+ text "Error"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 20 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_item_held
+ text "You already have this item"
+ type ITEM_TYPE_TEXT
+ textstyle ITEM_TEXTSTYLE_NORMAL
+ style 0
+ rect 0 40 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ decoration
+ }
+ itemDef
+ {
+ name human_item_held
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style 2
+ rect 0 80 300 20
+ textalign ITEM_ALIGN_CENTER
+ textalignx 64
+ textaligny 18
+ textscale .4
+ forecolor 1 1 1 1
+ visible 1
+ action { close tremulous_human_item_held }
+ }
+ }
+}
diff --git a/ui/tremulous_humanitem.menu b/ui/tremulous_humanitem.menu
new file mode 100644
index 00000000..4cc7b6ff
--- /dev/null
+++ b/ui/tremulous_humanitem.menu
@@ -0,0 +1,101 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_humanitem"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadHumanItems }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMHUMANITEMS
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "Back"
+ text "< Back"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 170 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_humanitem; open tremulous_teamselect }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript SpawnWithHumanItem; close tremulous_humanitem }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_humanitem }
+ }
+ }
+}
diff --git a/ui/tremulous_teamselect.menu b/ui/tremulous_teamselect.menu
new file mode 100644
index 00000000..e385c4df
--- /dev/null
+++ b/ui/tremulous_teamselect.menu
@@ -0,0 +1,84 @@
+#include "ui/menudef.h"
+
+{
+ menuDef
+ {
+ name "tremulous_teamselect"
+ visible 0
+ fullscreen 0
+ outOfBoundsClick
+ rect 120 140 400 200
+ focusColor 1 .75 0 1
+ style WINDOW_STYLE_FILLED
+ disableColor .5 .5 .5 0
+ backcolor 0 .5 0 .25
+ onOpen { uiScript LoadTeams }
+
+ itemDef
+ {
+ name "list"
+ rect 10 10 150 180
+ type ITEM_TYPE_LISTBOX
+ style WINDOW_STYLE_FILLED
+ elementwidth 120
+ elementheight 15
+ textscale .25
+ elementtype LISTBOX_TEXT
+ feeder FEEDER_TREMTEAMS
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "infopane"
+ text "Put some info here based on selection"
+ textalignx 5
+ textaligny 15
+ rect 170 10 220 155
+ type ITEM_TYPE_TEXT
+ style WINDOW_STYLE_FILLED
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor 0 0 .5 .25
+ outlinecolor .1 .1 .7 .5
+ visible 1
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "OK"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 320 176 20 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 5
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { uiScript JoinTeam; close tremulous_teamselect }
+ }
+
+ itemDef
+ {
+ name "OKCancel"
+ text "Cancel"
+ type ITEM_TYPE_BUTTON
+ style WINDOW_STYLE_FILLED
+ rect 350 176 40 14
+ textalign ITEM_ALIGN_LEFT
+ textalignx 6
+ textaligny 12
+ textscale .25
+ forecolor 1 1 1 1
+ backcolor .5 0 0 .25
+ visible 1
+ action { close tremulous_teamselect }
+ }
+ }
+}