From 425decdf7e9284d15aa726e3ae96b9942fb0e3ea Mon Sep 17 00:00:00 2001 From: IronClawTrem Date: Sun, 16 Feb 2020 03:40:06 +0000 Subject: create tremded branch --- assets/ui/assets/alien/buildstat.cfg | 37 + assets/ui/assets/console1.tga | Bin 0 -> 121118 bytes assets/ui/assets/console2.jpg | Bin 0 -> 36364 bytes assets/ui/assets/human/buildstat.cfg | 39 + assets/ui/connect.menu | 14 + assets/ui/createfavorite.menu | 115 ++ assets/ui/createserver.menu | 499 ++++++ assets/ui/demo.menu | 108 ++ assets/ui/demo_error.menu | 101 ++ assets/ui/download.menu | 167 ++ assets/ui/drop.menu | 122 ++ assets/ui/error.menu | 102 ++ assets/ui/findplayer.menu | 173 ++ assets/ui/folders.menu | 121 ++ assets/ui/help.txt | 135 ++ assets/ui/hud.txt | 12 + assets/ui/ingame.menu | 140 ++ assets/ui/ingame.txt | 9 + assets/ui/ingame_game.menu | 862 ++++++++++ assets/ui/ingame_help.menu | 88 + assets/ui/ingame_leave.menu | 209 +++ assets/ui/ingame_options.menu | 2577 ++++++++++++++++++++++++++++ assets/ui/install_update.menu | 145 ++ assets/ui/joinserver.menu | 769 +++++++++ assets/ui/loading.menu | 223 +++ assets/ui/main.menu | 228 +++ assets/ui/menu_bool.h | 10 + assets/ui/menudef.h | 225 +++ assets/ui/menus.txt | 24 + assets/ui/mod.menu | 108 ++ assets/ui/news.menu | 102 ++ assets/ui/options.menu | 310 ++++ assets/ui/password.menu | 85 + assets/ui/quit.menu | 99 ++ assets/ui/quitcredit.menu | 410 +++++ assets/ui/say.menu | 180 ++ assets/ui/serverinfo.menu | 112 ++ assets/ui/teamscore.menu | 386 +++++ assets/ui/tremulous.txt | 20 + assets/ui/tremulous_alien_builder_hud.menu | 42 + assets/ui/tremulous_alien_common_hud.h | 257 +++ assets/ui/tremulous_alien_general_hud.menu | 30 + assets/ui/tremulous_alienbuild.menu | 136 ++ assets/ui/tremulous_alienclass.menu | 157 ++ assets/ui/tremulous_aliendialogs.menu | 97 ++ assets/ui/tremulous_alienupgrade.menu | 136 ++ assets/ui/tremulous_common_hud.h | 247 +++ assets/ui/tremulous_default_hud.menu | 37 + assets/ui/tremulous_dialogs.menu | 98 ++ assets/ui/tremulous_human_hud.menu | 379 ++++ assets/ui/tremulous_humanarmoury.menu | 189 ++ assets/ui/tremulous_humanbuild.menu | 135 ++ assets/ui/tremulous_humandialogs.menu | 98 ++ assets/ui/tremulous_humanitem.menu | 157 ++ assets/ui/tremulous_spectator_hud.menu | 52 + assets/ui/tremulous_teamselect.menu | 136 ++ assets/ui/tremulous_voicecmd.menu | 140 ++ 57 files changed, 11589 insertions(+) create mode 100644 assets/ui/assets/alien/buildstat.cfg create mode 100644 assets/ui/assets/console1.tga create mode 100644 assets/ui/assets/console2.jpg create mode 100644 assets/ui/assets/human/buildstat.cfg create mode 100644 assets/ui/connect.menu create mode 100644 assets/ui/createfavorite.menu create mode 100644 assets/ui/createserver.menu create mode 100644 assets/ui/demo.menu create mode 100644 assets/ui/demo_error.menu create mode 100644 assets/ui/download.menu create mode 100644 assets/ui/drop.menu create mode 100644 assets/ui/error.menu create mode 100644 assets/ui/findplayer.menu create mode 100644 assets/ui/folders.menu create mode 100644 assets/ui/help.txt create mode 100644 assets/ui/hud.txt create mode 100644 assets/ui/ingame.menu create mode 100644 assets/ui/ingame.txt create mode 100644 assets/ui/ingame_game.menu create mode 100644 assets/ui/ingame_help.menu create mode 100644 assets/ui/ingame_leave.menu create mode 100644 assets/ui/ingame_options.menu create mode 100644 assets/ui/install_update.menu create mode 100644 assets/ui/joinserver.menu create mode 100644 assets/ui/loading.menu create mode 100644 assets/ui/main.menu create mode 100644 assets/ui/menu_bool.h create mode 100644 assets/ui/menudef.h create mode 100644 assets/ui/menus.txt create mode 100644 assets/ui/mod.menu create mode 100644 assets/ui/news.menu create mode 100644 assets/ui/options.menu create mode 100644 assets/ui/password.menu create mode 100644 assets/ui/quit.menu create mode 100644 assets/ui/quitcredit.menu create mode 100644 assets/ui/say.menu create mode 100644 assets/ui/serverinfo.menu create mode 100644 assets/ui/teamscore.menu create mode 100644 assets/ui/tremulous.txt create mode 100644 assets/ui/tremulous_alien_builder_hud.menu create mode 100644 assets/ui/tremulous_alien_common_hud.h create mode 100644 assets/ui/tremulous_alien_general_hud.menu create mode 100644 assets/ui/tremulous_alienbuild.menu create mode 100644 assets/ui/tremulous_alienclass.menu create mode 100644 assets/ui/tremulous_aliendialogs.menu create mode 100644 assets/ui/tremulous_alienupgrade.menu create mode 100644 assets/ui/tremulous_common_hud.h create mode 100644 assets/ui/tremulous_default_hud.menu create mode 100644 assets/ui/tremulous_dialogs.menu create mode 100644 assets/ui/tremulous_human_hud.menu create mode 100644 assets/ui/tremulous_humanarmoury.menu create mode 100644 assets/ui/tremulous_humanbuild.menu create mode 100644 assets/ui/tremulous_humandialogs.menu create mode 100644 assets/ui/tremulous_humanitem.menu create mode 100644 assets/ui/tremulous_spectator_hud.menu create mode 100644 assets/ui/tremulous_teamselect.menu create mode 100644 assets/ui/tremulous_voicecmd.menu (limited to 'assets/ui') diff --git a/assets/ui/assets/alien/buildstat.cfg b/assets/ui/assets/alien/buildstat.cfg new file mode 100644 index 0000000..318d401 --- /dev/null +++ b/assets/ui/assets/alien/buildstat.cfg @@ -0,0 +1,37 @@ +// config for the building status indicators that builders see +// NOTES: +// * all characters (text/icons) are square +// * character size is derived totally from frameHeight and vertialMargin +// * healthPadding is NOT used compensated for in the margins + +frameShader "ui/assets/alien/buildstat/frame" +frameWidth 150 +frameHeight 30 + +healthPadding 2 +healthSevereColor 0.24 0.02 0.02 1 +healthHighColor 0.32 0.04 0.04 1 +healthElevatedColor 0.40 0.06 0.06 1 +healthGuardedColor 0.48 0.08 0.08 1 +healthLowColor 0.56 0.10 0.10 1 + +// this gets drawn over frame and health, but numbers and icons go on top of it +overlayShader "ui/assets/alien/buildstat/overlay" +overlayWidth 156 +overlayHeight 36 + +// PERCENT of frameHeight to use for top/bottom margin of icons/text +// value is for total of top and bottom margins +// valid values between 0.0 and 1.0 +verticalMargin 0.5 + +// number of CHARS worth of space that should be used for left/right margins +// value is for one side only +// char width is determined by frameHeight and verticalMargin +horizontalMargin 1.0 + +markedShader "ui/assets/alien/buildstat/mark" +noPowerShader "ui/assets/alien/buildstat/nopower" + +backColor 1.0 1.0 1.0 1 +foreColor 0.0 0.0 0.0 1 diff --git a/assets/ui/assets/console1.tga b/assets/ui/assets/console1.tga new file mode 100644 index 0000000..2d8d418 Binary files /dev/null and b/assets/ui/assets/console1.tga differ diff --git a/assets/ui/assets/console2.jpg b/assets/ui/assets/console2.jpg new file mode 100644 index 0000000..8c051fd Binary files /dev/null and b/assets/ui/assets/console2.jpg differ diff --git a/assets/ui/assets/human/buildstat.cfg b/assets/ui/assets/human/buildstat.cfg new file mode 100644 index 0000000..c66b618 --- /dev/null +++ b/assets/ui/assets/human/buildstat.cfg @@ -0,0 +1,39 @@ +// config for the building status indicators that builders see +// NOTES: +// * all characters (text/icons) are square +// * character size is derived totally from frameHeight and vertialMargin +// * healthPadding is NOT used compensated for in the margins + +frameShader "ui/assets/human/buildstat/frame" +frameWidth 150 +frameHeight 30 + +healthPadding 2 + +// Homeworld Security Advisory System +healthSevereColor 0.83 0.03 0.02 1 +healthHighColor 0.84 0.48 0.03 1 +healthElevatedColor 0.82 0.82 0.00 1 +healthGuardedColor 0.19 0.65 0.00 1 +healthLowColor 0.27 0.49 0.55 1 + +// this gets drawn over frame and health, but numbers and icons go on top of it +overlayShader "" +overlayWidth 160 +overlayHeight 40 + +// PERCENT of frameHeight to use for top/bottom margin of icons/text +// value is for total of top and bottom margins +// valid values between 0.0 and 1.0 +verticalMargin 0.5 + +// number of CHARS worth of space that should be used for left/right margins +// value is for one side only +// char width is determined by frameHeight and verticalMargin +horizontalMargin 1.0 + +markedShader "ui/assets/human/buildstat/mark" +noPowerShader "ui/assets/human/buildstat/nopower" + +backColor 1.0 1.0 1.0 1 +foreColor 0.0 0.0 0.0 1 diff --git a/assets/ui/connect.menu b/assets/ui/connect.menu new file mode 100644 index 0000000..108e33c --- /dev/null +++ b/assets/ui/connect.menu @@ -0,0 +1,14 @@ +#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 + aspectBias ASPECT_NONE + } +} diff --git a/assets/ui/createfavorite.menu b/assets/ui/createfavorite.menu new file mode 100644 index 0000000..c66ecff --- /dev/null +++ b/assets/ui/createfavorite.menu @@ -0,0 +1,115 @@ +#include "ui/menudef.h" + +{ + \\ CREATE FAVORITE POPUP MENU \\ + +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 +#define INPUT_H 20 +#define W 250 +#define H ((3*BORDER)+(2*INPUT_H)+BUTT_H) + + menuDef + { + name "createfavorite_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onESC + { + close createfavorite_popmenu + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + // ENTER NAME AND ADDRESS // + + itemDef + { + name nameEntry + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + maxchars 40 + text "Name:" + textscale .4 + cvar "ui_favoriteName" + rect BORDER BORDER (W-(2*BORDER)) INPUT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name addressEntry + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + maxchars 40 + text "Address:" + textscale .4 + cvar "ui_favoriteAddress" + rect BORDER ((2*BORDER)+INPUT_H) (W-(2*BORDER)) INPUT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name yes + text "OK" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript CreateFavorite; + close createfavorite_popmenu + } + } + + itemDef + { + name yes + text "Cancel" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close createfavorite_popmenu + } + } + } +} diff --git a/assets/ui/createserver.menu b/assets/ui/createserver.menu new file mode 100644 index 0000000..f64ba1d --- /dev/null +++ b/assets/ui/createserver.menu @@ -0,0 +1,499 @@ +#include "ui/menudef.h" + +{ + \\ Server Creation \\ + +#define W 640 +#define H 480 +#define BORDER 10 + +#define PREVIEW_W 300 +#define PREVIEW_H 225 +#define PREVIEW_X BORDER +#define PREVIEW_Y BORDER + +#define BC_W (W-(2*BORDER)) +#define BC_H 50 +#define BC_X BORDER +#define BC_Y (H-(BC_H+BORDER)) +#define ARROW_W 50 +#define ARROW_H BC_H + +#define MAPS_W PREVIEW_W +#define MAPS_H (H-((4*BORDER)+PREVIEW_H+BC_H)) +#define MAPS_X BORDER +#define MAPS_Y ((2*BORDER)+PREVIEW_H) + +#define OPTIONS_W (W-((3*BORDER)+PREVIEW_W)) +#define OPTIONS_H (H-((3*BORDER)+BC_H)) +#define OPTIONS_X ((2*BORDER)+PREVIEW_W) +#define OPTIONS_Y BORDER +#define ELEM_OFF_Y 20 +#define ELEM_OFF_X -135 +#define ELEM_H 21 + + menuDef + { + name "createserver" + visible MENU_FALSE + fullscreen MENU_TRUE + rect 0 0 W H + focusColor 1 .75 0 1 + outOfBoundsClick + style WINDOW_STYLE_EMPTY + aspectBias ASPECT_NONE + + onOpen + { + uiScript loadArenas; + hide accept_alt; + show accept; + hide back_alt; + show back + } + + onEsc + { + close createserver + } + + itemDef + { + name background + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + } + + // map selection + + itemDef + { + name mappreview + style WINDOW_STYLE_EMPTY + ownerdraw UI_SELECTEDMAPPREVIEW + rect PREVIEW_X PREVIEW_Y PREVIEW_W PREVIEW_H + border WINDOW_BORDER_FULL + bordercolor .5 .5 .5 1 + visible MENU_TRUE + } + + itemDef + { + name maplist + rect MAPS_X MAPS_Y MAPS_W MAPS_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_MAPS + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + columns 1 + 2 190 ALIGN_LEFT + } + + + // SETTINGS // + + itemDef + { + name window + rect OPTIONS_X OPTIONS_Y OPTIONS_W OPTIONS_H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name expert + type ITEM_TYPE_EDITFIELD + text "Host Name:" + cvar "sv_hostname" + maxChars 40 + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(0*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name normal + type ITEM_TYPE_NUMERICFIELD + text "Time Limit:" + cvar "timelimit" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(1*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + maxchars 4 + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Maximum Players:" + cvar "sv_maxclients" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(2*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + maxchars 4 + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_YESNO + text "Require Password:" + cvar "g_needpassword" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(3*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + itemDef + { + name expert + type ITEM_TYPE_EDITFIELD + text "Password:" + cvar "g_password" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(4*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + maxchars 10 + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + + + itemDef + { + name normal + type ITEM_TYPE_YESNO + text "Pure Server:" + cvar "sv_pure" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(6*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + itemDef + { + name normal + type ITEM_TYPE_MULTI + text "Dedicated:" + // dedicated is a special cvar in that as soon as it is set, + // the game goes to console only so the ui catches this one specifically + cvar "ui_dedicated" + cvarFloatList { "No" 0 "LAN" 1 "Internet" 2 } + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(7*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + itemDef + { + name expert + type ITEM_TYPE_YESNO + text "Auto Download:" + cvar "sv_allowdownload" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(8*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + itemDef + { + name expert + type ITEM_TYPE_YESNO + text "Enable Voting:" + cvar "g_allowvote" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(9*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Minimum Ping:" + cvar "sv_minping" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(11*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + maxchars 4 + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Maximum Ping:" + cvar "sv_maxping" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(12*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + maxchars 4 + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_YESNO + text "Synchronous Client:" + cvar "g_synchronousclients" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(13*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Max Rate:" + cvar "sv_maxrate" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(14*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + maxchars 4 + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Zombie Time:" + cvar "sv_zombietime" + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(15*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + maxchars 4 + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name expert + type ITEM_TYPE_NUMERICFIELD + text "Reconnect Limit:" + cvar "sv_reconnectlimit" + maxchars 4 + rect (OPTIONS_X+BORDER) (OPTIONS_Y+ELEM_OFF_Y+(16*ELEM_H)) (OPTIONS_W-(2*BORDER)) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx ELEM_OFF_X + textscale .36 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + + + // BACK BAR // + + itemDef + { + name back + style WINDOW_STYLE_SHADER + background "ui/assets/backarrow.tga" + rect BC_X BC_Y ARROW_H ARROW_W + aspectBias ALIGN_LEFT + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + close createserver + } + + mouseEnter + { + hide back; + show back_alt + } + } + + itemDef + { + name back_alt + style WINDOW_STYLE_SHADER + background "ui/assets/backarrow_alt.tga" + rect BC_X BC_Y ARROW_H ARROW_W + aspectBias ALIGN_LEFT + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_FALSE + type ITEM_TYPE_BUTTON + + text "Back" + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx ARROW_W + textscale .6 + + mouseExit + { + hide back_alt; + show back + } + + action + { + play "sound/misc/menu4.wav"; + close createserver + } + } + + + + + itemDef + { + name accept + style WINDOW_STYLE_SHADER + rect ((BC_X+BC_W)-ARROW_W) BC_Y ARROW_H ARROW_W + aspectBias ALIGN_RIGHT + background "ui/assets/forwardarrow.tga" + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_TRUE + mouseEnter + { + hide accept; + show accept_alt + } + + action + { + play "sound/misc/menu1.wav"; + uiScript StartServer + } + } + + itemDef + { + name accept_alt + style WINDOW_STYLE_SHADER + rect ((BC_X+BC_W)-ARROW_W) BC_Y ARROW_H ARROW_W + aspectBias ALIGN_RIGHT + background "ui/assets/forwardarrow_alt.tga" + backcolor 0 0 0 0 + type ITEM_TYPE_BUTTON + forecolor 1 1 1 1 + visible MENU_FALSE + + text "Create" + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx -ARROW_W + textscale .6 + + mouseExit + { + hide accept_alt; + show accept + } + + action + { + play "sound/misc/menu1.wav"; + uiScript StartServer + } + } + } +} diff --git a/assets/ui/demo.menu b/assets/ui/demo.menu new file mode 100644 index 0000000..bec3a05 --- /dev/null +++ b/assets/ui/demo.menu @@ -0,0 +1,108 @@ +#include "ui/menudef.h" + +{ + \\ DEMO \\ + +#define W 300 +#define H 240 +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 + + menuDef + { + name "demo" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onEsc + { + close demo + } + onOpen + { + uiScript loadDemos + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name demolist + rect BORDER BORDER (W-(2*BORDER)) (H-(BUTT_H+BORDER)) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_DEMOS + textalign 3 + textaligny 14 + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleClick + { + play "sound/misc/menu1.wav"; + uiScript RunDemo + } + } + + itemDef + { + name play + text "Play" + type ITEM_TYPE_BUTTON + textscale .25 + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close demo; + uiScript RunDemo + } + } + + itemDef + { + name cancel + text "Cancel" + type ITEM_TYPE_BUTTON + textscale .25 + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close demo + } + } + } +} diff --git a/assets/ui/demo_error.menu b/assets/ui/demo_error.menu new file mode 100644 index 0000000..1427a28 --- /dev/null +++ b/assets/ui/demo_error.menu @@ -0,0 +1,101 @@ +#include "ui/menudef.h" + +{ + +#define W 320 +#define H 320 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 65 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) + + menuDef + { + name "demo_error_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { uiScript clearDemoError } + onESC + { + play "sound/misc/menu1.wav"; + close demo_error_popmenu; + open demo + } + + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name dropinfo + rect BORDER BORDER INFO_W BUTT_H + type ITEM_TYPE_TEXT + text "Error" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name dropinfo + rect INFO_X INFO_Y INFO_W INFO_H + type ITEM_TYPE_TEXT + style WINDOW_STYLE_FILLED + wrapped + cvar "com_demoErrorMessage" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name exit + text "OK" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close demo_error_popmenu + open demo + } + } + } +} diff --git a/assets/ui/download.menu b/assets/ui/download.menu new file mode 100644 index 0000000..dc8247f --- /dev/null +++ b/assets/ui/download.menu @@ -0,0 +1,167 @@ +#include "ui/menudef.h" + +{ + \\ DOWNLOAD \\ + + menuDef + { + name "download_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect 158 80 320 320 + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { } + onOpen + { + uiScript loadServerInfo; + } + onESC + { + play "sound/misc/menu1.wav"; + close download_popmenu; + uiScript downloadIgnore; + } + + itemDef + { + name window + rect 10 15 300 320 + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name downloadinfo + rect 0 50 320 20 + type ITEM_TYPE_TEXT + text "Download" + textalign ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWEDMORE + textscale .333 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name downloadinfo + rect 60 80 200 270 + type ITEM_TYPE_TEXT + style WINDOW_STYLE_FILLED + textstyle ITEM_TEXTSTYLE_SHADOWED + wrapped + cvar "com_downloadPromptText" + textalign ALIGN_CENTER + textvalign VALIGN_TOP + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + + // BUTTON // + + + itemDef + { + name curl + text "Download from website" + textscale .25 + group grpControlbutton + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect 60 250 200 15 + textalign ALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + cvarTest "ui_serverinfo_allowdl" + showCvar { 1 5 9 13 } + action + { + play "sound/misc/menu1.wav"; + close download_popmenu; + uiScript downloadCURL; + } + } + + itemDef + { + name udp + text "Download from server" + type ITEM_TYPE_BUTTON + textscale .25 + group grpControlbutton + style WINDOW_STYLE_EMPTY + rect 60 265 200 15 + textalign ALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + cvarTest "ui_serverinfo_allowdl" + showCvar { 1 3 9 11 } + action + { + play "sound/misc/menu1.wav"; + close download_popmenu; + uiScript downloadUDP; + } + } + + itemDef + { + name ignore + text "Ignore" + type ITEM_TYPE_BUTTON + textscale .25 + group grpControlbutton + style WINDOW_STYLE_EMPTY + rect 60 280 200 15 + textalign ALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + cvarTest "sv_pure" + hideCvar { 1 } + action + { + play "sound/misc/menu1.wav"; + close download_popmenu; + uiScript downloadIgnore; + } + } + + itemDef + { + name disconnect + text "Disconnect" + type ITEM_TYPE_BUTTON + textscale .25 + group grpControlbutton + style WINDOW_STYLE_EMPTY + rect 60 295 200 15 + textalign ALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible 1 + action + { + play "sound/misc/menu1.wav"; + close download_popmenu; + exec "disconnect"; + } + } + } +} diff --git a/assets/ui/drop.menu b/assets/ui/drop.menu new file mode 100644 index 0000000..162a019 --- /dev/null +++ b/assets/ui/drop.menu @@ -0,0 +1,122 @@ +#include "ui/menudef.h" + +{ + +#define W 320 +#define H 320 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 65 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) + + menuDef + { + name "drop_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { uiScript clearError } + onESC + { + play "sound/misc/menu1.wav"; + close drop_popmenu; + open main + } + + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name dropinfo + rect BORDER BORDER INFO_W BUTT_H + type ITEM_TYPE_TEXT + text "Disconnected" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name dropinfo + rect INFO_X INFO_Y INFO_W INFO_H + type ITEM_TYPE_TEXT + style WINDOW_STYLE_FILLED + wrapped + cvar "com_errorMessage" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name exit + text "OK" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close drop_popmenu + } + } + + itemDef + { + name reconnect + text "Reconnect" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + action + { + close drop_popmenu; + exec "reconnect"; + } + } + } +} + + diff --git a/assets/ui/error.menu b/assets/ui/error.menu new file mode 100644 index 0000000..2c54d2d --- /dev/null +++ b/assets/ui/error.menu @@ -0,0 +1,102 @@ +#include "ui/menudef.h" + +{ + +#define W 320 +#define H 320 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 65 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) + + menuDef + { + name "error_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { uiScript clearError } + onESC + { + play "sound/misc/menu1.wav"; + close error_popmenu; + open main + } + + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name dropinfo + rect BORDER BORDER INFO_W BUTT_H + type ITEM_TYPE_TEXT + text "Error" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name dropinfo + rect INFO_X INFO_Y INFO_W INFO_H + type ITEM_TYPE_TEXT + style WINDOW_STYLE_FILLED + wrapped + cvar "com_errorMessage" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name exit + text "OK" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + backcolor .37 .1 .1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close error_popmenu + } + } + } +} + + diff --git a/assets/ui/findplayer.menu b/assets/ui/findplayer.menu new file mode 100644 index 0000000..09d715a --- /dev/null +++ b/assets/ui/findplayer.menu @@ -0,0 +1,173 @@ +#include "ui/menudef.h" + +{ + \\ FIND PLAYER POPUP MENU \\ + +#define W 400 +#define H 400 +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 +#define LIST_W (W-(2*BORDER)) +#define LIST_DW (LIST_W-40) +#define LEFT_C 0.13 +#define RIGHT_C 0.61 +#define SEARCH_H 30 +#define SERVERS_H 105 + + menuDef + { + name "findplayer_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { } + onOpen + { + uiScript FindPlayer + } + + onESC + { + close findplayer_popmenu + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name namefield + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Name:" + cvar "ui_findplayer" + maxChars 20 + rect BORDER BORDER (W-((2*BORDER)+BUTT_W)) SEARCH_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale .3 + outlinecolor .2 .2 .2 .5 + backcolor 0 0 0 0 + forecolor 1 1 1 1 + border WINDOW_BORDER_NONE + bordercolor 0 0 0 0 + action { ui_script FindPlayer } + visible MENU_TRUE + } + + itemDef + { + name search + text "Search" + textscale .25 + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) BORDER BUTT_W SEARCH_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + ui_script FindPlayer + } + } + + + itemDef + { + name serverNameList + rect BORDER ((2*BORDER)+SEARCH_H) LIST_W SERVERS_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .25 + outlinecolor .2 .2 .2 .5 + border WINDOW_BORDER_FULL + bordersize 1 + bordercolor .5 .5 .5 1 + elementtype LISTBOX_TEXT + feeder FEEDER_FINDPLAYER + visible MENU_TRUE + } + + itemDef + { + name serverInfoList + rect BORDER ((3*BORDER)+SEARCH_H+SERVERS_H) LIST_W (H-(SEARCH_H+SERVERS_H+BUTT_H+(3*BORDER))) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .25 + border WINDOW_BORDER_FULL + bordersize 1 + bordercolor .5 .5 .5 1 + elementtype LISTBOX_TEXT + feeder FEEDER_SERVERSTATUS + notselectable + visible MENU_TRUE + columns 4 + 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT + (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT + ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT + ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT + } + + // BUTTON // + + itemDef + { + name join + text "Join" + textscale .25 + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action { ui_script FoundPlayerJoinServer } + } + + itemDef + { + name close + text "Close" + textscale .25 + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close findplayer_popmenu + } + } + } +} + + diff --git a/assets/ui/folders.menu b/assets/ui/folders.menu new file mode 100644 index 0000000..176f3d6 --- /dev/null +++ b/assets/ui/folders.menu @@ -0,0 +1,121 @@ +#include "ui/menudef.h" + +{ + \\ FOR OPENING FOLDERS IN A DEFAULT FILE MANAGER \\ + +#define X 0 +#define Y 20 +#define W 250 +#define H ((10*(ELEM_H+ELEM_GAP))+120) +#define TOFF_X (0-(W/2)) +#define ELEM_H 16 +#define ELEM_GAP 4 +#define BUTT_W 35 +#define BUTT_H 35 +#define BORDER 10 +#define RESCOMBO_OFF 8 + + menuDef + { + name "browse_folders" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onEsc + { + play "sound/misc/menu1.wav"; + close browse_folders + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + + itemDef + { + text "Browse Homepath" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect X Y W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + exec browseHomepath + } + } + + itemDef + { + text "Browse Demos Folder" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect X (Y+(BUTT_H+ELEM_GAP)) W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + exec browseDemos + } + } + + itemDef + { + text "Browse Screen Shots Folder" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect X (Y+(2*(BUTT_H+ELEM_GAP))) W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + exec browseScreenShots + } + } + + itemDef + { + text "OK" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close browse_folders + } + } + } +} diff --git a/assets/ui/help.txt b/assets/ui/help.txt new file mode 100644 index 0000000..bd4c6a3 --- /dev/null +++ b/assets/ui/help.txt @@ -0,0 +1,135 @@ +{ + "^3Welcome^7" + { + "In this section you will find a summary of major changes since 1.1. It is " + "not a complete list. In general, all things have been tweaked for balance in " + "some way.\n\n" + "We hope you enjoy playing. Your support gives us valuable data and " + "feedback as we work to bring you Tremulous 1.2. Please report all bugs. Thank " + "you." + } + "Alien Healing" + { + "The most important change for Alien players to know is that their healing " + "rate is slower away from creep. To counter this, healing near Boosters " + "and Basilisks is greatly accelerated.\n\n" + "Watch the health cross icon on your " + "HUD to see what your healing rate is. If the icon glows, you are on " + "creep. If you are near a booster or basilisk, you will see two " + "(2X healing) or four (3X healing) barbs around the health cross." + } + "Build-point Changes" + { + "Structures destroyed by enemy players will not immediately become available " + "for reuse, but instead enter a queue. Build points will gradually leave the " + "queue to become available again, at a rate proportional to the amount of " + "points in the queue.\n\n Repeaters can be built at any stage and come with 20 " + "BP that can only be used nearby to facilitate making small outposts. Aliens " + "do not have a structure that provides additional buildpoints, but they have 150 " + "overall BP to compensate." + } + "Marked Deconstruction" + { + "The deconstruction method has changed. Buildables are no longer instantly " + "deconstructed. Instead, a deconstruct mark appears on the health bar. " + "Go ahead and build a new buildable somewhere else and the old one will " + "be removed automatically. Buildables that are about to be removed by " + "constructing the selected buildable glow red." + } + "Alien Buildables" + { + "Nearly useless in 1.1, Barricades now have more health, are cheaper to " + "build, and will shrink to allow Aliens to pass over them. Acid tubes " + "will fire from behind barricades, providing a formidable defense. " + "Experiment with blocking off hallways and building staged defenses, but " + "keep in mind that low ceilings will prevent Tyrants from returning inside " + "the base. Hives are also much improved to become worth building in stage 3." + } + "Human Buildables" + { + "Turrets now have a small spin up delay before firing, but they have " + "increased range and damage output.\n\n" + "To protect against small Aliens getting inside " + "the base, build Tesla Generators at Stage 3. Tesla Generators no longer " + "require the Defense Computer to function. Instead, the Defense Computer " + "will automatically repair Human buildables. Tesla Generators can fire " + "over turrets. " + } + "Human Weapons" + { + "Most of the human projeciles have a small volume now, making them more " + "effective against smaller targets.\n" + "The Lucifer Cannon projectile can be fired faster but now takes longer " + "to charge. You will be able to hear your teammates overcharge " + "their Lucifer Cannon.\n" + "The Flamer projectile now gains more of the velocity of its wielder, " + "making it easier to chase down aliens without burning yourself to a " + "crisp. Other weapons also have smaller changes." + } + "Lag Correction" + { + "While the Tremulous implementation of Neil Toronto's unlagged is " + "becoming widely accepted, we also implement client-side improvements " + "not possible in 1.1 servers. For those who insist on leading their " + "attacks, setting cg_unlagged to 0 will disable backward reconcilliation " + "on your hitscan weapons." + } + "Sprint" + { + "The sprint bind has changed from \"boost\" to \"+button8\"; you can bind it " + "in the options menu or in the console (\\bind shift +button8). Now, instead " + "of tapping the button while moving to start sprinting, just hold it down " + "and let go to stop. Alternately, you can change this to a toggle behavior " + "with cg_sprintToggle. \n\n" + } + "Dodge" + { + "Humans also have a new movement ability: dodge. You can bind it in the " + "options menu or the console (\\bind shift +button6). When strafing or " + "walking backwards, press the dodge key to make a quick, low jump. You " + "can bind this to the same key as sprint in the console with \\bind shift " + "\"+button8; +button6\"" + } + "Headshots" + { + "Headshots on unarmored humans only cause 150% damage. Battlesuit and " + "helmet protection have been reduced so headshot damage remains the same." + } + "Dretch" + { + "Dretches are slightly faster and can now damage any human structure while it " + "is still building, but can no longer damage turrets and teslas that " + "have been completed." + } + "Basilisk" + { + "Basilisks provide regeneration boosting auras to nearby teammates: 2x " + "from regular and 3x from advanced basilisks. Their footsteps are also " + "silent for greater stealth." + } + "Marauder" + { + "The Adv. Marauder's electric shock damage is no longer split between its " + "targets, making it more effective against large groups of humans and " + "buildables. Targets are now chosen slightly differently: instead of " + "each new chain section originating from the previous target, it will " + "originate from the first target." + } + "Dragoon" + { + "Advanced dragoons are now available at stage 2. Both dragoons have the " + "range of their chomp attacks lowered, but their pounce attacks are much " + "more useful. Try to use pounce to pin a human to the wall before chomping." + } + "Tyrant" + { + "The Tyrant is now a weaker class as its health has been lowered and " + "turret damage is greater. To counter this, Tyrants can charge for longer " + "periods of time, hit targets multiple times in a single charge, " + "and crush any Humans they land on top of. Trample charge does not " + "instantly release when full but can be held for two seconds. Trample " + "attacks on a human pinned against a wall are VERY powerful. Use this to " + "your advantage. The Tyrant's healing aura has been removed; find a " + "booster or a basilisk to heal faster." + } +} diff --git a/assets/ui/hud.txt b/assets/ui/hud.txt new file mode 100644 index 0000000..be9fa8b --- /dev/null +++ b/assets/ui/hud.txt @@ -0,0 +1,12 @@ +// hud menu defs +// +{ + loadMenu { "ui/tremulous_human_hud.menu" } + loadMenu { "ui/tremulous_alien_builder_hud.menu" } + loadMenu { "ui/tremulous_alien_general_hud.menu" } + loadMenu { "ui/tremulous_default_hud.menu" } + loadMenu { "ui/tremulous_spectator_hud.menu" } + + loadMenu { "ui/teamscore.menu" } + loadMenu { "ui/loading.menu" } +} diff --git a/assets/ui/ingame.menu b/assets/ui/ingame.menu new file mode 100644 index 0000000..808287e --- /dev/null +++ b/assets/ui/ingame.menu @@ -0,0 +1,140 @@ +#include "ui/menudef.h" +{ + +#define BUTT_BAR_X 25 +#define BUTT_BAR_Y 0 +#define BUTT_BAR_W 250 +#define BUTT_BAR_H 56 +#define BUTT_W (BUTT_BAR_W/4) +#define BUTT_H BUTT_BAR_H +#define BUTT_TEXT_S 20 + + assetGlobalDef + { + font "fonts/font" 26 // font + smallFont "fonts/smallfont" 20 // font + bigFont "fonts/bigfont" 34 // font + cursor "ui/assets/3_cursor3" // cursor + gradientBar "ui/assets/gradientbar2.tga" // gradient bar + itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse ) + + fadeClamp 1.0 // sets the fadeup alpha + fadeCycle 1 // how often fade happens in milliseconds + fadeAmount 0.1 // amount to adjust alpha per cycle + + shadowColor 0.1 0.1 0.1 0.25 // shadow color + } + + + \\ INGAME MENU \\ + + menuDef + { + name "ingame" + style WINDOW_STYLE_FILLED + visible MENU_FALSE + fullScreen 0 + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect 0 0 1280 56 + focusColor 1 .75 0 1 + disableColor .5 .5 .5 1 + backColor 0 0 0 1 + aspectBias ALIGN_LEFT + + onEsc + { + close ingame; + } + + itemDef + { + name splashmodel + rect 0 -10 640 66 + type ITEM_TYPE_MODEL + style WINDOW_STYLE_FILLED + asset_model "models/splash/splash_screen.md3" + model_fovx 32.0 + model_fovy 3.8 + model_angle 180 + visible MENU_TRUE + decoration + backcolor 0 0 0 1 + } + + itemdef + { + name game + text "Game" + rect BUTT_BAR_X BUTT_BAR_Y BUTT_W BUTT_H + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open ingame_game + } + } + + itemDef + { + name options + text "Options" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (BUTT_BAR_X+BUTT_W) BUTT_BAR_Y BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open ingame_options + } + } + + itemDef + { + name leave + text "Help" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (BUTT_BAR_X+(2*BUTT_W)) BUTT_BAR_Y BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open ingame_help + } + } + + itemDef + { + name leave + text "Exit" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (BUTT_BAR_X+(3*BUTT_W)) BUTT_BAR_Y BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open ingame_leave + } + } + } +} diff --git a/assets/ui/ingame.txt b/assets/ui/ingame.txt new file mode 100644 index 0000000..2caf449 --- /dev/null +++ b/assets/ui/ingame.txt @@ -0,0 +1,9 @@ +// menu defs +// +{ + loadMenu { "ui/ingame.menu" } + loadMenu { "ui/ingame_game.menu" } + loadMenu { "ui/ingame_options.menu" } + loadMenu { "ui/ingame_leave.menu" } + loadMenu { "ui/ingame_help.menu" } +} diff --git a/assets/ui/ingame_game.menu b/assets/ui/ingame_game.menu new file mode 100644 index 0000000..d7d7dd6 --- /dev/null +++ b/assets/ui/ingame_game.menu @@ -0,0 +1,862 @@ +#include "ui/menudef.h" + +{ + \\ INGAME GAME BOX \\ + +#define W 320 +#define H 310 +#define X 10 +#define Y 60 +#define BORDER 10 + +#define TOPBUTT_W 80 +#define TOPBUTT_H 30 + +#define SIDEBUTT_W 50 +#define SIDEBUTT_H 25 + +#define MAP_X (SIDEBUTT_W+BORDER) +#define MAP_Y ((2*BORDER)+TOPBUTT_H) +#define MAP_W 124 +#define MAP_H 93 +#define MAPLIST_X MAP_X +#define MAPLIST_Y ((3*BORDER)+TOPBUTT_H+MAP_H) +#define MAPLIST_W (W-((2*BORDER)+SIDEBUTT_W)) +#define MAPLIST_H (H-((4*BORDER)+MAP_H+TOPBUTT_H)) +#define MAPBUTT_X (MAP_X+MAP_W+BORDER) +#define MAPBUTT_Y MAP_Y +#define MAPBUTT_W (W-(MAPBUTT_X+BORDER)) +#define MAPBUTT_H 20 + +#define PBUTT_X MAP_X +#define PBUTT_Y (H-((2*PBUTT_H)+BORDER)) +#define PBUTT_W (W-((2*BORDER)+SIDEBUTT_W)) +#define PBUTT_H 45 +#define PLIST_X PBUTT_X +#define PLIST_Y ((2*BORDER)+TOPBUTT_H) +#define PLIST_W PBUTT_W +#define PLIST_H ((H-((4*BORDER)+(2*PBUTT_H)+TOPBUTT_H))) + +#define PLAYER_C 0.7 +#define IGN_C 0.15 +#define IGNY_C 0.15 +#define IGNHEAD_H 15 +#define IGNHEAD_Y ((2*BORDER)+TOPBUTT_H) +#define IGNBUTT_W ((W-(2*BORDER))/2) +#define IGNBUTT_H 25 +#define IGNBUTT_X BORDER +#define IGNBUTT_Y (H-(BORDER+IGNBUTT_H)) +#define IGNORE_W (W-(2*BORDER)) +#define IGNORE_W2 ((W-(2*BORDER))-15) +#define IGNORE_H (H-((4*BORDER)+TOPBUTT_H+IGNHEAD_H+IGNBUTT_H)) +#define IGNORE_X BORDER +#define IGNORE_Y ((2*BORDER)+TOPBUTT_H+IGNHEAD_H) +#define IGNORE_TOFF 5 + +#define INFO_Y ((2*BORDER)+TOPBUTT_H+10) +#define INFOELEM_H 15 +#define INFO_OFF (0-(W-90)) + + menuDef + { + name "ingame_game" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect X Y W H + focusColor 1 .75 0 1 + aspectBias ALIGN_LEFT + onopen + { + uiScript InitIgnoreList; + uiScript loadArenas; + uiScript loadServerInfo; + hide gameGrp; + show vote; + show mapvote; + + setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0 + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + //Section menus + itemDef + { + name voteBtn + text "Vote" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((3*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show vote; + show mapvote; + + setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor voteBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0 + } + } + + itemDef + { + name ignoreBtn + text "Ignore" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((2*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show ignore; + + setitemcolor infoBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor ignoreBtn forecolor 0.2 0.2 0.2 1.0 + } + } + + itemDef + { + name infoBtn + text "Info" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((1*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show info; + + setitemcolor infoBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor voteBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor ignoreBtn forecolor 1.0 1.0 1.0 1.0 + } + } + + +//////// VOTE + + //Vote menu + itemDef + { + name vote + text "Map" + group gameGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show mapvote; + show vote; + } + } + + itemDef + { + name vote + text "Players" + group gameGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+SIDEBUTT_H) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show playervote; + show reasonfield; + show vote; + } + } + + itemDef + { + name vote + text "Team" + group gameGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide gameGrp; + show teamvote; + show reasonfield; + show vote; + } + } + + itemDef + { + name reasonfield + group gameGrp + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Reason:" + cvar "ui_reason" + maxChars 50 + rect PBUTT_X (PBUTT_Y+PBUTT_H) PBUTT_W PBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale .25 + outlinecolor .2 .2 .2 .5 + backcolor 0 0 0 0 + forecolor 1 1 1 1 + border WINDOW_BORDER_NONE + bordercolor 0 0 0 0 + visible MENU_FALSE + } + +///// Map Vote + itemDef + { + name mapvote + group gameGrp + style WINDOW_STYLE_EMPTY + ownerdraw UI_SELECTEDMAPPREVIEW + rect MAP_X MAP_Y MAP_W MAP_H + border WINDOW_BORDER_FULL + bordercolor .5 .5 .5 .5 + visible MENU_FALSE + } + + itemDef + { + name mapvote + group gameGrp + rect MAPLIST_X MAPLIST_Y MAPLIST_W MAPLIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_MAPS + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_FALSE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript voteMap; + uiScript closeingame + } + } + + itemDef + { + name mapvote + group gameGrp + text "Load Selected Map" + type ITEM_TYPE_BUTTON + textscale .25 + rect MAPBUTT_X MAPBUTT_Y MAPBUTT_W MAPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteMap; + uiScript closeingame + } + } + + itemDef + { + name mapvote + group gameGrp + text "Load Selected Map Next" + type ITEM_TYPE_BUTTON + textscale .25 + rect MAPBUTT_X (MAPBUTT_Y+MAPBUTT_H) MAPBUTT_W MAPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteNextMap; + uiScript closeingame + } + } + + itemDef + { + name mapvote + group gameGrp + text "Restart Current Map" + type ITEM_TYPE_BUTTON + textscale .25 + rect MAPBUTT_X (MAPBUTT_Y+(2*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "cmd callvote map_restart"; + uiScript closeingame + } + } + + itemDef + { + name mapvote + group gameGrp + text "Begin Sudden Death" + type ITEM_TYPE_BUTTON + textscale .25 + rect MAPBUTT_X (MAPBUTT_Y+(3*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "cmd callvote sudden_death"; + uiScript closeingame + } + } + + itemDef + { + name mapvote + group gameGrp + text "End Match In Draw" + type ITEM_TYPE_BUTTON + textscale .25 + rect MAPBUTT_X (MAPBUTT_Y+(4*MAPBUTT_H)) MAPBUTT_W MAPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "cmd callvote draw"; + uiScript closeingame + } + } + +///// Player Vote + itemDef + { + name playervote + group gameGrp + rect PLIST_X PLIST_Y PLIST_W PLIST_H + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_LISTBOX + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_PLAYER_LIST + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_FALSE + } + + itemDef + { + name playervote + group gameGrp + text "Mute Player" + type ITEM_TYPE_BUTTON + textscale .25 + rect PBUTT_X PBUTT_Y (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteMute; + uiScript closeingame + } + } + + itemDef + { + name playervote + group gameGrp + text "Un-Mute Player" + type ITEM_TYPE_BUTTON + textscale .25 + rect (PBUTT_X+(PBUTT_W/2)) PBUTT_Y (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteUnMute; + uiScript closeingame + } + } + + itemDef + { + name playervote + group gameGrp + text "Kick Player" + type ITEM_TYPE_BUTTON + textscale .25 + rect PBUTT_X (PBUTT_Y+(PBUTT_H/2)) PBUTT_W PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteKick; + uiScript closeingame + } + } + + +///// Team Vote + itemDef + { + name teamvote + group gameGrp + rect PLIST_X PLIST_Y PLIST_W PLIST_H + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_LISTBOX + elementwidth 120 + elementheight 15 + textscale .225 + elementtype LISTBOX_TEXT + feeder FEEDER_TEAM_LIST + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_FALSE + } + + itemDef + { + name teamvote + group gameGrp + text "Kick Teammate" + type ITEM_TYPE_BUTTON + textscale .25 + rect PBUTT_X PBUTT_Y (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteTeamKick; + uiScript closeingame + } + } + + itemDef + { + name teamvote + group gameGrp + text "Deny Building For Teammate" + type ITEM_TYPE_BUTTON + textscale .25 + rect (PBUTT_X+(PBUTT_W/2)) PBUTT_Y (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteTeamDenyBuild; + uiScript closeingame + } + } + + itemDef + { + name teamvote + group gameGrp + text "Allow Building For Teammate" + type ITEM_TYPE_BUTTON + textscale .25 + rect 110 215 150 20 + rect PBUTT_X (PBUTT_Y+(PBUTT_H/2)) (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript voteTeamAllowBuild; + uiScript closeingame + } + } + + itemDef + { + name teamvote + group gameGrp + text "Admit Defeat" + type ITEM_TYPE_BUTTON + textscale .25 + rect (PBUTT_X+(PBUTT_W/2)) (PBUTT_Y+(PBUTT_H/2)) (PBUTT_W/2) PBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "cmd callteamvote admitdefeat"; + uiScript closeingame + } + } + +//////// IGNORE + itemDef + { + name ignore + group gameGrp + rect IGNORE_X IGNHEAD_Y (PLAYER_C*IGNORE_W2) IGNHEAD_H + text "Player Name" + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx IGNORE_TOFF + visible MENU_FALSE + type ITEM_TYPE_TEXT + textscale .225 + } + itemDef + { + name ignore + group gameGrp + rect (IGNORE_X+(PLAYER_C*IGNORE_W2)) IGNHEAD_Y (IGN_C*IGNORE_W2) IGNHEAD_H + text "Ignored" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + visible MENU_FALSE + type ITEM_TYPE_TEXT + textscale .225 + } + itemDef + { + name ignore + group gameGrp + rect (IGNORE_X+((PLAYER_C+IGN_C)*IGNORE_W2)) IGNHEAD_Y (IGNY_C*IGNORE_W2) IGNHEAD_H + text "Ignoring You" + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + visible MENU_FALSE + type ITEM_TYPE_TEXT + textscale .225 + } + itemDef + { + name ignore + group gameGrp + rect IGNORE_X IGNORE_Y IGNORE_W IGNORE_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .225 + border WINDOW_BORDER_FULL + bordersize 1 + bordercolor .5 .5 .5 1 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + elementtype LISTBOX_TEXT + feeder FEEDER_IGNORE_LIST + visible MENU_FALSE + columns 3 + IGNORE_TOFF ((PLAYER_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_LEFT + (IGNORE_TOFF+((PLAYER_C)*IGNORE_W)) ((IGN_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_CENTER + (IGNORE_TOFF+((PLAYER_C+IGN_C)*IGNORE_W)) ((IGNY_C*IGNORE_W)-(3*IGNORE_TOFF)) ALIGN_CENTER + doubleClick + { + play "sound/misc/menu1.wav"; + uiScript ToggleIgnore + } + } + + itemDef + { + name ignore + text "Ignore Player" + group gameGrp + style WINDOW_STYLE_EMPTY + rect IGNBUTT_X IGNBUTT_Y IGNBUTT_W IGNBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript IgnorePlayer + } + } + + itemDef + { + name ignore + text "Stop Ignoring Player" + group gameGrp + style WINDOW_STYLE_EMPTY + rect (IGNBUTT_X+IGNBUTT_W) IGNBUTT_Y IGNBUTT_W IGNBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript UnIgnorePlayer + } + } + +//////// INFO + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(0*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Server Name:" + cvar ui_serverinfo_hostname + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(1*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Time Limit:" + cvar ui_serverinfo_timelimit + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(2*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Sudden Death Time:" + cvar ui_serverinfo_sd + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(3*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Max Clients:" + cvar ui_serverinfo_maxclients + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(4*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Map Name:" + cvar ui_serverinfo_mapname + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(5*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_YESNO + style WINDOW_STYLE_EMPTY + text "Lag Correction:" + cvar ui_serverinfo_unlagged + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(6*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_YESNO + style WINDOW_STYLE_EMPTY + text "Friendly Fire:" + textalign ALIGN_RIGHT + cvar ui_serverinfo_friendlyFire + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(7*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_YESNO + style WINDOW_STYLE_EMPTY + text "Buildable Friendly Fire:" + cvar ui_serverinfo_friendlyBuildableFire + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + + itemDef + { + name info + group gameGrp + rect 0 (INFO_Y+(8*INFOELEM_H)) W INFOELEM_H + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Version:" + cvar ui_serverinfo_version + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx INFO_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + } +} diff --git a/assets/ui/ingame_help.menu b/assets/ui/ingame_help.menu new file mode 100644 index 0000000..4c8065b --- /dev/null +++ b/assets/ui/ingame_help.menu @@ -0,0 +1,88 @@ +#include "ui/menudef.h" + +{ + +#define W 420 +#define H 290 +#define X 10 +#define Y 60 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-(2*BORDER)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "ingame_help" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect X Y W H + focusColor 1 .75 0 1 + aspectBias ALIGN_LEFT + onOpen { + setFocus list; + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_HELP_LIST + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + } + + itemDef + { + name infopane + ownerdraw UI_HELPINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + visible MENU_TRUE + decoration + } + } +} diff --git a/assets/ui/ingame_leave.menu b/assets/ui/ingame_leave.menu new file mode 100644 index 0000000..d07e3ce --- /dev/null +++ b/assets/ui/ingame_leave.menu @@ -0,0 +1,209 @@ +#include "ui/menudef.h" + +{ + \\ INGAME_LEAVE MENU \\ + +#define X 160 +#define Y 60 +#define W 120 +#define H 100 + +#define L1_X 0 +#define L1_Y (H/6) +#define L1_W W +#define L1_H (H/3) +#define L2_X 0 +#define L2_Y (H/2) +#define L2_W W +#define L2_H (H/3) + + menuDef + { + name "ingame_leave" + visible MENU_TRUE + fullScreen 0 + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect X Y W H + focusColor 1 .75 0 1 + aspectBias ALIGN_LEFT + onOpen + { + show grpMenu; + hide grpConfirm + } + + itemDef + { + name leave + style WINDOW_STYLE_FILLED + rect 0 0 W H + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name leave + type ITEM_TYPE_BUTTON + text "Main Menu" + group grpMenu + style WINDOW_STYLE_EMPTY + rect L1_X L1_Y L1_W L1_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide grpMenu; + show leaveConfirm + } + } + + itemDef + { + name leave + group grpMenu + type ITEM_TYPE_BUTTON + text "Quit" + style WINDOW_STYLE_EMPTY + rect L2_X L2_Y L2_W L2_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide grpMenu; + show quitConfirm + } + } + + + // CONFIRMS // + + + itemDef + { + name leaveConfirm + type ITEM_TYPE_TEXT + text "Return To Main Menu?" + group grpConfirm + style WINDOW_STYLE_EMPTY + rect L1_X L1_Y L1_W L1_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + decoration + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name leaveConfirm + text "Yes" + group grpConfirm + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect L2_X L2_Y (L2_W/2) L2_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript leave + } + } + + itemDef + { + name leaveConfirm + text "No" + group grpConfirm + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (L2_X+(L2_W/2)) L2_Y (L2_W/2) L2_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + hide grpConfirm; + show grpMenu + } + } + + itemDef + { + name quitConfirm + type ITEM_TYPE_TEXT + text "Want To Quit Game?" + group grpConfirm + style WINDOW_STYLE_EMPTY + rect L1_X L1_Y L1_W L1_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + decoration + visible MENU_TRUE + } + + itemDef + { + name quitConfirm + text "Yes" + group grpConfirm + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect L2_X L2_Y (L2_W/2) L2_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript quit + } + } + + itemDef + { + name quitConfirm + text "No" + group grpConfirm + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (L2_X+(L2_W/2)) L2_Y (L2_W/2) L2_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + hide grpConfirm; + show grpMenu + } + } + } +} diff --git a/assets/ui/ingame_options.menu b/assets/ui/ingame_options.menu new file mode 100644 index 0000000..d3e7880 --- /dev/null +++ b/assets/ui/ingame_options.menu @@ -0,0 +1,2577 @@ +#include "ui/menudef.h" + +{ + \\ INGAME OPTIONS BOX \\ + +#define W 320 +#define H 290 +#define X 10 +#define Y 60 +#define BORDER 10 + +#define TOPBUTT_W ((W-(2*BORDER))/4) +#define TOPBUTT_H 30 + +#define CONTENT_X BORDER +#define CONTENT_Y ((1.5*BORDER)+TOPBUTT_H) +#define CONTENT_W (W-(2*BORDER)) +#define CONTENT_OFF (0-(CONTENT_W/2)) + +#define SIDEBUTT_W 65 +#define SIDEBUTT_H 25 +#define SCONTENT_X (SIDEBUTT_W+BORDER) +#define SCONTENT_Y CONTENT_Y +#define SCONTENT_W (W-(SIDEBUTT_W+(2*BORDER))) +#define SCONTENT_OFF (0-(SCONTENT_W/2)) + +#define RESCOMBO_OFF 8 + +#define ELEM_H 16 + + menuDef + { + name "ingame_options" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick // this closes the window if it gets a click out of the rectangle + rect X Y W H + focusColor 1 .75 0 1 + aspectBias ALIGN_LEFT + onopen + { + hide optionsGrp; + show player; + + setitemcolor playerBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0 + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + //Section menus + itemDef + { + name PlayerBtn + text "Player" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((4*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show player; + + setitemcolor playerBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0 + } + } + itemDef + { + name hudBtn + text "HUD" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((3*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show hud; + + setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor hudBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0 + } + } + + itemDef + { + name controlsBtn + text "Controls" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((2*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show controls; + show look; + + setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor controlsBtn forecolor 0.2 0.2 0.2 1.0; + setitemcolor systemBtn forecolor 1.0 1.0 1.0 1.0 + } + } + + itemDef + { + name systemBtn + text "System" + group menuGrp + style WINDOW_STYLE_EMPTY + rect (W-((1*TOPBUTT_W)+BORDER)) BORDER TOPBUTT_W TOPBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .35 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show ghardware; + + setitemcolor playerBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor hudBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor controlsBtn forecolor 1.0 1.0 1.0 1.0; + setitemcolor systemBtn forecolor 0.2 0.2 0.2 1.0 + } + } + +//////// PLAYER + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Name:" + cvar "name" + maxchars 40 + rect CONTENT_X (CONTENT_Y+(0*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_YESNO + text "Taunts Sounds Off:" + cvar "cg_noTaunt" + rect CONTENT_X (CONTENT_Y+(1*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_YESNO + text "Team Chats Only:" + cvar "cg_teamChatsOnly" + rect CONTENT_X (CONTENT_Y+(2*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_YESNO + text "Sticky Spectate:" + cvar "cg_stickySpec" + rect CONTENT_X (CONTENT_Y+(3*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_YESNO + text "Tutorial Mode:" + cvar "cg_tutorial" + rect CONTENT_X (CONTENT_Y+(4*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_MULTI + text "Disable Warning Dialogs:" + cvar "cg_disableWarningDialogs" + cvarFloatList { "No" 0 "Print to Console" 1 "Yes" 2 } + rect CONTENT_X (CONTENT_Y+(5*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name player + group optionsGrp + type ITEM_TYPE_YESNO + text "Static Death Cam:" + cvar "cg_staticDeathCam" + rect CONTENT_X (CONTENT_Y+(6*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + +//////// HUD + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Show Clock:" + cvar "cg_drawClock" + cvarFloatList { "No" 0 "12 Hour" 1 "24 Hour" 2 } + rect CONTENT_X (CONTENT_Y+(0*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Show Crosshair:" + cvar "cg_drawCrosshair" + cvarFloatList { "Never" 0 "Ranged Weapons Only" 1 "Always" 2 } + rect CONTENT_X (CONTENT_Y+(1*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Crosshair Size:" + cvar "cg_crosshairSize" + cvarFloatList { "Normal" 1 "Small" 0.75 "Tiny" 0.5 "Huge" 1.25 } + rect CONTENT_X (CONTENT_Y+(2*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show Charge Bar:" + cvar "cg_drawChargeBar" + rect CONTENT_X (CONTENT_Y+(3*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show Lag-o-meter:" + cvar "cg_lagometer" + rect CONTENT_X (CONTENT_Y+(4*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Show Team Overlay:" + cvar "cg_drawTeamOverlay" + cvarFloatList { "Off" 0 "All Teammates" 1 "Support Teammates" 2 "Nearby Teammates" 3 } + rect CONTENT_X (CONTENT_Y+(5*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Sort Team Overlay:" + cvar "cg_teamOverlaySortMode" + cvarFloatList { "None" 0 "Score" 1 "Weapon/Class" 2 } + rect CONTENT_X (CONTENT_Y+(6*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show Gun:" + cvar "cg_drawGun" + rect CONTENT_X (CONTENT_Y+(7*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_MULTI + text "Show Speed:" + cvar "cg_drawspeed" + cvarFloatList { "No" 0 "Text" 1 "Graph" 2 "Text + Graph" 3 "Text No-Z" 5 "Graph No-Z" 6 "Text + Graph No-Z" 7 } + rect CONTENT_X (CONTENT_Y+(8*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show FPS:" + cvar "cg_drawFPS" + rect CONTENT_X (CONTENT_Y+(9*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show Timer:" + cvar "cg_drawTimer" + rect CONTENT_X (CONTENT_Y+(10*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name hud + group optionsGrp + type ITEM_TYPE_YESNO + text "Show Demo State:" + cvar "cg_drawDemoState" + rect CONTENT_X (CONTENT_Y+(11*ELEM_H)) CONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx CONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + +//////// CONTROLS + + //Controls menu + itemDef + { + name controls + text "Look" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(0*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show controls; + show look + } + } + +//////// LOOK + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_BIND + text "Lookup:" + cvar "+lookup" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_BIND + text "Look Down:" + cvar "+lookdown" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_BIND + text "Mouse Look:" + cvar "+mlook" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_BIND + text "Centerview:" + cvar "centerview" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_YESNO + text "Free Look:" + cvar "cl_freelook" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_SLIDER + text "Mouse Sensitivity:" + cvarfloat "sensitivity" 5 1 30 + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_YESNO + text "Invert Mouse:" + cvar "ui_mousePitch" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript update ui_mousePitch + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_YESNO + text "Smooth Mouse:" + cvar "m_filter" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name look + group optionsGrp + type ITEM_TYPE_YESNO + text "Auto Wallwalk Pitching:" + cvar "cg_wwFollow" + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + +//////// MOVE + + itemDef + { + name controls + text "Move" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(1*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show controls; + show move + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_YESNO + text "Sprint Toggles:" + cvar "cg_sprintToggle" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_YESNO + text "Wallwalk Control Toggles:" + cvar "cg_wwToggle" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_MULTI + text "Wallwalking Speed:" + cvar "cg_wwSmoothTime" + cvarFloatList { "Medium" 300 "Fast" 150 "Instant" 0 "Slow" 600 } + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Run / Walk:" + cvar "+speed" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Dodge:" + cvar "+button6" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Sprint:" + cvar "+button8" + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Forward:" + cvar "+forward" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Backpedal:" + cvar "+back" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Move Left:" + cvar "+moveleft" + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Move Right:" + cvar "+moveright" + rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Jump:" + cvar "+moveup" + rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Crouch:" + cvar "+movedown" + rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Turn Left:" + cvar "+left" + rect SCONTENT_X (SCONTENT_Y+(12*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Turn Right:" + cvar "+right" + rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name move + group optionsGrp + type ITEM_TYPE_BIND + text "Strafe:" + cvar "+strafe" + rect SCONTENT_X (SCONTENT_Y+(14*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + + +//////// UPGRADES + + itemDef + { + name controls + text "Upgrades" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show controls; + show upgrades + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Primary Attack:" + cvar "+attack" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Secondary Attack:" + cvar "+button5" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Previous Upgrade:" + cvar "weapprev" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Next Upgrade:" + cvar "weapnext" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Activate Upgrade:" + cvar "+button2" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Reload:" + cvar "reload" + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Buy Ammo:" + cvar "buy ammo" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name upgrades + group optionsGrp + type ITEM_TYPE_BIND + text "Use Medkit:" + cvar "itemact medkit" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + +//////// MISC + + itemDef + { + name controls + text "Misc" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(3*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show controls; + show misc + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Show Scores:" + cvar "+scores" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Scroll Scores Up:" + cvar "scoresUp" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Scroll Scores Down:" + cvar "scoresDown" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Use Structure/Evolve:" + cvar "+button7" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Deconstruct Structure:" + cvar "deconstruct" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Gesture:" + cvar "+button3" + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Chat:" + cvar "messagemode" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Team Chat:" + cvar "messagemode2" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Vote Yes:" + cvar "vote yes" + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Vote No:" + cvar "vote no" + rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Team Vote Yes:" + cvar "teamvote yes" + rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Team Vote No:" + cvar "teamvote no" + rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Screenshot:" + cvar "screenshotJPEG" + rect SCONTENT_X (SCONTENT_Y+(12*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name misc + group optionsGrp + type ITEM_TYPE_BIND + text "Ready To Play:" + cvar "ready" + rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } +//////// SYSTEM + + //System menu + itemDef + { + name system + text "GFX Hardware" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(0*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show ghardware + } + } + +//////// GFX HARDWARE + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Quality:" + cvar "ui_glCustom" + cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 } + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript update "ui_glCustom" + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_YESNO + text "GL Extensions:" + cvar "r_allowExtensions" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCuston + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_TEXT + text "Video Mode:" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) (SCONTENT_W/2) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name ghardware + group optionsGrp + rect (SCONTENT_X+(SCONTENT_W/2)+RESCOMBO_OFF) (SCONTENT_Y+(2*ELEM_H)) ((SCONTENT_W/2)-(2*RESCOMBO_OFF)) ELEM_H + type ITEM_TYPE_COMBOBOX + style WINDOW_STYLE_FILLED + elementwidth ((SCONTENT_W/2)-(2*BORDER)) + elementheight ELEM_H + dropitems 5 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_RESOLUTIONS + border WINDOW_BORDER_FULL + borderColor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Color Depth:" + cvar "r_colorbits" + cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 } + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom; + uiScript update "r_colorbits" + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_YESNO + text "Fullscreen:" + cvar "r_fullscreen" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Lighting:" + cvar "r_vertexlight" + cvarFloatList { "Light Map (high)" 0 "Vertex (low)" 1 } + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Geometric Detail:" + cvar "r_lodbias" + cvarFloatList { "High" 0 "Medium" 1 "Low" 2 } + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom; + uiScript update "r_lodbias" + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Texture Detail:" + cvar "r_picmip" + cvarFloatList { "Low" 2 "Normal" 1 "High" 0 } + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Texture Quality:" + cvar "r_texturebits" + cvarFloatList { "Default" 0 "16 bit" 16 "32 bit" 32 } + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_MULTI + text "Texture Filter:" + cvar "r_texturemode" + cvarStrList { "Bilinear", "GL_LINEAR_MIPMAP_NEAREST", "Trilinear", "GL_LINEAR_MIPMAP_LINEAR" } + rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_YESNO + text "Anisotropic Filtering:" + cvar "r_ext_texture_filter_anisotropic" + rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_YESNO + text "Compress Textures:" + cvar "r_ext_compressed_textures " + rect SCONTENT_X (SCONTENT_Y+(11*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + uiScript glCustom + } + } + + itemDef + { + name ghardware + group optionsGrp + type ITEM_TYPE_BUTTON + text "APPLY" + textscale .25 + style WINDOW_STYLE_EMPTY + rect SCONTENT_X (SCONTENT_Y+(13*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "vid_restart" + } + } + +//////// GFX SOFTWARE + + itemDef + { + name system + text "GFX Software" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(1*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show gsoftware + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_SLIDER + text "Brightness:" + cvarfloat "r_gamma" 1 .5 2 + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_SLIDER + text "Screen Size:" + cvarfloat "cg_viewsize" 100 30 100 + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Marks On Walls:" + cvar "cg_marks" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Dynamic Lights:" + cvar "r_dynamiclight" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Draw Gun:" + cvar "cg_drawGun" + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Low Quality Sky:" + cvar "r_fastsky" + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Sync Every Frame:" + cvar "r_finish" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "In Game Videos:" + cvar "r_inGameVideo" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_YESNO + text "Depth Sort Particles:" + cvar "cg_depthSortParticles" + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_MULTI + text "Particle Physics:" + cvar "cg_bounceParticles" + cvarFloatList { "Low Quality" 0 "High Quality" 1 } + rect SCONTENT_X (SCONTENT_Y+(9*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name gsoftware + group optionsGrp + type ITEM_TYPE_MULTI + text "Light Flares:" + cvar "cg_lightFlare" + cvarFloatList { "Off" 0 "No Fade" 1 "Timed Fade" 2 "Real Fade" 3 } + rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + +//////// GL INFO + + itemDef + { + name system + text "OpenGL Info" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(2*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show glinfo + } + } + + itemDef + { + name glinfo + group optionsGrp + rect SCONTENT_X SCONTENT_Y SCONTENT_W (H-(SCONTENT_Y+BORDER)) + ownerdraw UI_GLINFO + textscale .25 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx 4 + textaligny 4 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + } + +//////// NET & SOUND + + itemDef + { + name system + text "Net & Sound" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(3*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show netsound + } + } + + itemDef + { + name netsound + group optionsGrp + style WINDOW_STYLE_FILLED + type ITEM_TYPE_TEXT + text "Sound" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_SLIDER + text "Effects Volume:" + cvarfloat "s_volume" 0.7 0 1 + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_SLIDER + text "Music Volume:" + cvarfloat "s_musicvolume" 0.25 0 1 + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_YESNO + text "OpenAL:" + cvar "s_useOpenAL" + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_MULTI + text "Sound Quality:" + cvar "s_khz" + cvarFloatList { "44 khz (very high)" 44 "22 khz (high)" 22 "11 khz (low)" 11 } + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_YESNO + text "Doppler Sound:" + cvar "s_doppler" + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + style WINDOW_STYLE_FILLED + type ITEM_TYPE_TEXT + text "Network" + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + decoration + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_MULTI + text "Net Data Rate:" + cvar "rate" + cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSl" 25000 } + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name netsound + group optionsGrp + type ITEM_TYPE_BUTTON + text "APPLY" + textscale .25 + style WINDOW_STYLE_EMPTY + rect SCONTENT_X (SCONTENT_Y+(10*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + exec "snd_restart" + } + } + +//////// RANGE MARKERS + + itemDef + { + name system + text "Range Markers" + group optionsGrp + style WINDOW_STYLE_EMPTY + rect 0 ((2*BORDER)+TOPBUTT_H+(4*SIDEBUTT_H)) SIDEBUTT_W SIDEBUTT_H + type ITEM_TYPE_BUTTON + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + hide optionsGrp; + show system; + show rangemarkers + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_YESNO + text "Draw Surface:" + cvar "cg_rangeMarkerDrawSurface" + rect SCONTENT_X (SCONTENT_Y+(0*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_YESNO + text "Draw Intersection:" + cvar "cg_rangeMarkerDrawIntersection" + rect SCONTENT_X (SCONTENT_Y+(1*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_YESNO + text "Draw Frontline:" + cvar "cg_rangeMarkerDrawFrontline" + rect SCONTENT_X (SCONTENT_Y+(2*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_SLIDER + text "Surface Opacity:" + cvarfloat "cg_rangeMarkerSurfaceOpacity" 0.08 0.035 0.3 + rect SCONTENT_X (SCONTENT_Y+(3*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_SLIDER + text "Line Opacity:" + cvarfloat "cg_rangeMarkerLineOpacity" 0.4 0.075 1 + rect SCONTENT_X (SCONTENT_Y+(4*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_SLIDER + text "Line Thickness:" + cvarfloat "cg_rangeMarkerLineThickness" 4.0 1 11 + rect SCONTENT_X (SCONTENT_Y+(5*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_YESNO + text "Range Marker for Blueprint:" + cvar "cg_rangeMarkerForBlueprint" + rect SCONTENT_X (SCONTENT_Y+(6*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_MULTI + text "Range Markers for:" + cvar "cg_rangeMarkerBuildableTypes" + cvarStrList { "No Buildables", "", + "All Buildables", "all", + "Support Buildables", "support", + "Offensive Buildables", "offensive", + "Alien Buildables", "alien", + "Human Buildables", "human", + "Alien Support Buildables", "aliensupport", + "Human Support Buildables", "humansupport", + "Offensive Alien Buildables", "alienoffensive", + "Offensive Human Buildables", "humanoffensive" } + rect SCONTENT_X (SCONTENT_Y+(7*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + name rangemarkers + group optionsGrp + type ITEM_TYPE_SLIDER + text "Binary Shader Screen Scale:" + cvarfloat "cg_binaryShaderScreenScale" 1.0 0 1 + rect SCONTENT_X (SCONTENT_Y+(8*ELEM_H)) SCONTENT_W ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx SCONTENT_OFF + textscale .25 + forecolor 1 1 1 1 + visible MENU_FALSE + } + } +} diff --git a/assets/ui/install_update.menu b/assets/ui/install_update.menu new file mode 100644 index 0000000..8c81133 --- /dev/null +++ b/assets/ui/install_update.menu @@ -0,0 +1,145 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 300 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((2*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X BORDER +#define INFO_Y BORDER +#define INFO_TOFF 6 + +#define AU_ACT_NIL 0 +#define AU_ACT_GET 1 +#define AU_ACT_RUN 2 + + menuDef + { + name "install_update" + visible MENU_TRUE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen + { + uiScript checkForUpdate; + } + onESC + { + play "sound/misc/menu1.wav"; + close install_update + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 .75 + visible MENU_TRUE + decoration + border WINDOW_BORDER_KCGRADIENT + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + + itemDef + { + name github_release + rect 10 10 (W-10) (INFO_H-10) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .33 + border WINDOW_BORDER_NONE + bordersize 1 + bordercolor .5 .5 .5 1 + elementtype LISTBOX_TEXT + feeder FEEDER_GITHUB_RELEASE + notselectable + visible MENU_TRUE + } + +// itemDef +// { +// name OKCancel +// text "Download" +// type ITEM_TYPE_BUTTON +// style WINDOW_STYLE_EMPTY +// rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H +// textalign ALIGN_CENTER +// textvalign VALIGN_CENTER +// textscale .4 +// forecolor 1 1 1 1 +// backcolor .5 0 0 .25 +// visible MENU_TRUE +// cvarTest "ui_autoupdate_action" +// showCvar { AU_ACT_GET } +// action +// { +// play "sound/misc/menu1.wav"; +// uiScript DownloadUpdate; +// close install_update +// } +// } +// +// itemDef +// { +// name OKCancel +// text "Install" +// type ITEM_TYPE_BUTTON +// style WINDOW_STYLE_EMPTY +// rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H +// textalign ALIGN_CENTER +// textvalign VALIGN_CENTER +// textscale .4 +// forecolor 1 1 1 1 +// backcolor .5 0 0 .25 +// visible MENU_TRUE +// cvarTest "ui_autoupdate_action" +// showCvar { AU_ACT_RUN } +// action +// { +// play "sound/misc/menu1.wav"; +// uiScript InstallUpdate; +// close install_update +// } +// } + + itemDef + { + name "OKCancel" + text "Ok" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close install_update + } + } + } +} diff --git a/assets/ui/joinserver.menu b/assets/ui/joinserver.menu new file mode 100644 index 0000000..ad3e04d --- /dev/null +++ b/assets/ui/joinserver.menu @@ -0,0 +1,769 @@ +#include "ui/menudef.h" + +{ + + \\ Server Join \\ + +#define W 640 +#define H 480 +#define BORDER 10 + +#define PREVIEW_W 112 +#define PREVIEW_H 84 +#define TOP_W (W-((2*BORDER)+PREVIEW_W)) +#define TOP_H PREVIEW_H +#define TOP_X BORDER +#define TOP_Y BORDER +#define TOPBUTT_W (TOP_W/3) +#define TOPBUTT_H (TOP_H/2) +#define TOP_TOFF_X 20 +#define TOP_TOFF_Y 0 + +#define BCJ_W (W-(2*BORDER)) +#define BCJ_H 50 +#define BCJ_X BORDER +#define BCJ_Y (H-(BCJ_H+BORDER)) +#define ARROW_W 50 +#define ARROW_H BCJ_H + +#define BOT_W (W-(2*BORDER)) +#define BOT_H 45 +#define BOT_X BORDER +#define BOT_Y (BCJ_Y-BOT_H) +#define BOTBUTT_W (BOT_W/5) +#define BOTBUTT_H BOT_H + +#define SERVER_C 0.45 +#define GAME_C 0.15 +#define MAP_C 0.2 +#define PLAYERS_C 0.1 +#define PING_C 0.1 +#define LIST_W (W-(2*BORDER)) +#define LIST_H (H-((3*BORDER)+TOP_H+BOT_H+BCJ_H)) +#define LIST_X BORDER +#define LIST_Y ((2*BORDER)+TOP_H) +#define LIST_TOFF 5 +#define HEADFOOT_H 25 + + menuDef + { + name "joinserver" + visible MENU_FALSE + fullscreen MENU_TRUE + rect 0 0 W H + focusColor 1 .75 0 1 + outOfBoundsClick + style WINDOW_STYLE_EMPTY + aspectBias ASPECT_NONE + onOpen + { + uiScript InitServerList 3; + hide accept_alt; + show accept; + hide back_alt; + show back; + uiScript UpdateFilter + } + + onEsc { uiScript closeJoin } + + itemDef + { + name background + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + } + + + // VIEW OPTIONS // + + itemDef + { + name gametypefield + text "Source:" + style WINDOW_STYLE_EMPTY + ownerdraw UI_NETSOURCE + rect TOP_X TOP_Y TOPBUTT_W TOPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + textaligny TOP_TOFF_Y + textscale .4 + forecolor 1 1 1 1 + backcolor .5 .5 .5 .5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav" + } + } + + // BUTTONS // + + itemDef + { + name refreshSource + text "Get New List" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (TOP_X+TOPBUTT_W) TOP_Y TOPBUTT_W TOPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + textaligny TOP_TOFF_Y + backcolor .5 .5 .5 .5 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript RefreshServers + } + } + + itemDef + { + name refreshFilter + text "Refresh List" + textscale .4 + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect (TOP_X+(2*TOPBUTT_W)) TOP_Y TOPBUTT_W TOPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + textaligny TOP_TOFF_Y + backcolor .5 .5 .5 .5 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript RefreshFilter + } + } + + itemDef + { + name viewEmpty + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_YESNO + text "View Empty:" + cvar "ui_browserShowEmpty" + textscale .4 + rect TOP_X (TOP_Y+TOPBUTT_H) TOPBUTT_W TOPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + textaligny TOP_TOFF_Y + forecolor 1 1 1 1 + backcolor .5 .5 .5 .5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript RefreshFilter + } + } + + itemDef + { + name viewFull + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_YESNO + text "View Full:" + cvar "ui_browserShowFull" + textscale .4 + rect (TOP_X+TOPBUTT_W) (TOP_Y+TOPBUTT_H) TOPBUTT_W TOPBUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + textaligny TOP_TOFF_Y + forecolor 1 1 1 1 + backcolor .5 .5 .5 .5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript RefreshFilter + } + } + + // LEGEND // + + itemDef + { + name legend + type ITEM_TYPE_TEXT + text "[official] = Official Server\n[featured] = Featured Server" + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .25 + wrapped + rect (TOP_X+(2*TOPBUTT_W)) (TOP_Y+TOPBUTT_H) (TOPBUTT_W) (TOPBUTT_H) + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOP_TOFF_X + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + // MAP PREVIEW // + + itemDef + { + name mappreview + style WINDOW_STYLE_EMPTY + ownerdraw UI_NETMAPPREVIEW + rect (W-(PREVIEW_W+BORDER)) BORDER PREVIEW_W PREVIEW_H + border WINDOW_BORDER_FULL + bordercolor .5 .5 .5 1 + visible MENU_TRUE + } + + + // COLUMNS // + + itemDef + { + name server + group grpTabs + text "Server Name" + type ITEM_TYPE_BUTTON + textscale .33 + style WINDOW_STYLE_FILLED + rect LIST_X LIST_Y (SERVER_C*LIST_W) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 0 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerSort 0; + + setitemcolor grpColumn backcolor 0 0 0 0; + setitemcolor grpTabs backcolor 0 0 0 0; + setitemcolor server backcolor 0.3 1 1 0.3; + setitemcolor serverColumn backcolor 0.2 0.6 0.6 0.1; + } + } + + itemDef + { + name serverColumn + group grpColumn + rect LIST_X (LIST_Y+HEADFOOT_H) (SERVER_C*LIST_W) (LIST_H-(2*HEADFOOT_H)) + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + backcolor 0 0 0 0 + bordersize 1 + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name game + group grpTabs + type ITEM_TYPE_BUTTON + text "Game Type" + textscale .33 + style WINDOW_STYLE_FILLED + rect (LIST_X+(SERVER_C*LIST_W)) LIST_Y (GAME_C*LIST_W) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 0 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerSort 1; + + setitemcolor grpColumn backcolor 0 0 0 0; + setitemcolor grpTabs backcolor 0 0 0 0; + setitemcolor game backcolor 0.3 1 1 0.3; + setitemcolor gameColumn backcolor 0.2 0.6 0.6 0.1; + } + } + + itemDef + { + name gameColumn + group grpColumn + rect (LIST_X+(SERVER_C*LIST_W)) (LIST_Y+HEADFOOT_H) (GAME_C*LIST_W) (LIST_H-(2*HEADFOOT_H)) + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + backcolor 0 0 0 0 + bordersize 1 + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name map + group grpTabs + type ITEM_TYPE_BUTTON + text "Map Name" + textscale .33 + style WINDOW_STYLE_FILLED + rect (LIST_X+((SERVER_C+GAME_C)*LIST_W)) LIST_Y (MAP_C*LIST_W) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 0 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerSort 2; + + setitemcolor grpColumn backcolor 0 0 0 0; + setitemcolor grpTabs backcolor 0 0 0 0; + setitemcolor map backcolor 0.3 1 1 0.3; + setitemcolor mapColumn backcolor 0.2 0.6 0.6 0.1; + } + } + + itemDef + { + name mapColumn + group grpColumn + rect (LIST_X+((SERVER_C+GAME_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (MAP_C*LIST_W) (LIST_H-(2*HEADFOOT_H)) + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + backcolor 0 0 0 0 + bordersize 1 + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name players + group grpTabs + text "Players" + type ITEM_TYPE_BUTTON + textscale .33 + style WINDOW_STYLE_FILLED + rect (LIST_X+((SERVER_C+GAME_C+MAP_C)*LIST_W)) LIST_Y (PLAYERS_C*LIST_W) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 0 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerSort 3; + + setitemcolor grpColumn backcolor 0 0 0 0; + setitemcolor grpTabs backcolor 0 0 0 0; + setitemcolor players backcolor 0.3 1 1 0.3; + setitemcolor playerColumn backcolor 0.2 0.6 0.6 0.1; + } + } + + itemDef + { + name playerColumn + group grpColumn + rect (LIST_X+((SERVER_C+GAME_C+MAP_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (PLAYERS_C*LIST_W) (LIST_H-(2*HEADFOOT_H)) + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + backcolor 0 0 0 0 + bordersize 1 + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name Ping + group grpTabs + text "Ping" + type ITEM_TYPE_BUTTON + textscale .33 + style WINDOW_STYLE_FILLED + rect (LIST_X+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) LIST_Y (PING_C*LIST_W) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0.3 1 1 0.3 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerSort 4; + + setitemcolor grpColumn backcolor 0 0 0 0; + setitemcolor grpTabs backcolor 0 0 0 0; + setitemcolor ping backcolor 0.3 1 1 0.3; + setitemcolor pingColumn backcolor 0.2 0.6 0.6 0.1; + } + } + + itemDef + { + name pingColumn + group grpColumn + rect (LIST_X+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) (LIST_Y+HEADFOOT_H) (PING_C*LIST_W) (LIST_H-(2*HEADFOOT_H)) + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + backcolor 0.2 0.6 0.6 0.1 + bordersize 1 + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + // SERVER LIST // + + itemDef + { + name serverlist + rect LIST_X (LIST_Y+HEADFOOT_H) LIST_W (LIST_H-(2*HEADFOOT_H)) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_SERVERS + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.3 0.3 0.4 + visible MENU_TRUE + columns 5 + LIST_TOFF ((SERVER_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT + (LIST_TOFF+((SERVER_C)*LIST_W)) ((GAME_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT + (LIST_TOFF+((SERVER_C+GAME_C)*LIST_W)) ((MAP_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT + (LIST_TOFF+((SERVER_C+GAME_C+MAP_C)*LIST_W)) ((PLAYERS_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT + (LIST_TOFF+((SERVER_C+GAME_C+MAP_C+PLAYERS_C)*LIST_W)) ((PING_C*LIST_W)-(3*LIST_TOFF)) ALIGN_LEFT + + doubleClick { uiScript JoinServer } + } + + + // DATE AND MESSAGE OF THE DAY // + + itemDef + { + name refreshdate + ownerdraw UI_SERVERREFRESHDATE + textscale .33 + rect LIST_X (LIST_Y+(LIST_H-HEADFOOT_H)) (LIST_W/2) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + forecolor 1 1 1 1 + border WINDOW_BORDER_FULL + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name messageoftheday + ownerdraw UI_SERVERMOTD + textscale .33 + rect (LIST_X+(LIST_W/2)) (LIST_Y+(LIST_H-HEADFOOT_H)) (LIST_W/2) HEADFOOT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx LIST_TOFF + forecolor 1 1 1 1 + border WINDOW_BORDER_FULL + bordercolor .5 .5 .5 1 + visible MENU_TRUE + decoration + } + + + // BOTTOM BUTTONS // + + itemDef + { + name password + text "Set Password" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect BOT_X BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open password_popmenu + } + } + + itemDef + { + name createFavorite + text "Create Favorite" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (BOT_X+BOTBUTT_W) BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open createfavorite_popmenu + } + } + + itemDef + { + name addFavorite + text "Add Favorite" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + ownerdrawFlag UI_SHOW_NOTFAVORITESERVERS + rect (BOT_X+(2*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript addFavorite + } + } + + itemDef + { + name delfavorite + text "Delete Favorite" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + ownerdrawFlag UI_SHOW_FAVORITESERVERS + rect (BOT_X+(2*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript DeleteFavorite; + uiScript UpdateFilter + } + } + + itemDef + { + name serverinfo + text "Server Info" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (BOT_X+(3*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open serverinfo_popmenu + } + } + + itemDef + { + name findplayer + text "Find a Friend" + type ITEM_TYPE_BUTTON + textscale .4 + style WINDOW_STYLE_EMPTY + rect (BOT_X+(4*BOTBUTT_W)) BOT_Y BOTBUTT_W BOTBUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open findplayer_popmenu + } + } + + + + // BACK CREATE JOIN // + + itemDef + { + name createServer + text "Create Server" + textscale .5 + style WINDOW_STYLE_EMPTY + type ITEM_TYPE_BUTTON + rect (BCJ_X+ARROW_W) BCJ_Y (BCJ_W-(2*ARROW_W)) BCJ_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open createserver + } + } + + + itemDef + { + name back + style WINDOW_STYLE_SHADER + background "ui/assets/backarrow.tga" + rect BCJ_X BCJ_Y ARROW_H ARROW_W + aspectBias ALIGN_LEFT + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + close joinserver + } + + mouseEnter + { + hide back; + show back_alt + } + } + + itemDef + { + name back_alt + style WINDOW_STYLE_SHADER + background "ui/assets/backarrow_alt.tga" + rect BCJ_X BCJ_Y ARROW_H ARROW_W + aspectBias ALIGN_LEFT + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_FALSE + type ITEM_TYPE_BUTTON + + text "Back" + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx ARROW_W + textscale .6 + + mouseExit + { + hide back_alt; + show back + } + + action + { + play "sound/misc/menu4.wav"; + close joinserver + } + } + + + + + itemDef + { + name accept + style WINDOW_STYLE_SHADER + rect ((BCJ_X+BCJ_W)-ARROW_W) BCJ_Y ARROW_H ARROW_W + aspectBias ALIGN_RIGHT + background "ui/assets/forwardarrow.tga" + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_TRUE + mouseEnter + { + hide accept; + show accept_alt + } + + action + { + play "sound/misc/menu1.wav"; + uiScript JoinServer + } + } + + itemDef + { + name accept_alt + style WINDOW_STYLE_SHADER + rect ((BCJ_X+BCJ_W)-ARROW_W) BCJ_Y ARROW_H ARROW_W + aspectBias ALIGN_RIGHT + background "ui/assets/forwardarrow_alt.tga" + backcolor 0 0 0 0 + type ITEM_TYPE_BUTTON + forecolor 1 1 1 1 + visible MENU_FALSE + + text "Join" + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx -ARROW_W + textscale .6 + + mouseExit + { + hide accept_alt; + show accept + } + + action + { + play "sound/misc/menu1.wav"; + uiScript JoinServer + } + } + } +} diff --git a/assets/ui/loading.menu b/assets/ui/loading.menu new file mode 100644 index 0000000..b877ce9 --- /dev/null +++ b/assets/ui/loading.menu @@ -0,0 +1,223 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 +#define BORDER 10 + +#define SHOT_W 320 +#define SHOT_H 240 +#define SHOT_X (W-(BORDER+SHOT_W)) +#define SHOT_Y BORDER + +#define INFO_X BORDER +#define INFO_W (W-((3*BORDER)+SHOT_W)) +#define LEVEL_Y BORDER +#define LEVEL_H 30 +#define HOST_Y (LEVEL_H+(2*BORDER)) +#define HOST_H 30 +#define MOTD_Y (LEVEL_H+HOST_H+(3*BORDER)) +#define MOTD_H ((BORDER+SHOT_H)-MOTD_Y) + +#define MAIN_W (W-(2*BORDER)) +#define LABEL_W 180 +#define LABEL_X (W-(LABEL_W+BORDER)) +#define BAR_H ((H-((6*BORDER)+SHOT_H))/4) +#define BAR_W (MAIN_W-(LABEL_W+BORDER)) +#define BAR_X BORDER +#define MEDIA_Y (H-((4*BORDER)+(4*BAR_H))) +#define BUILD_Y (H-((3*BORDER)+(3*BAR_H))) +#define CHAR_Y (H-((2*BORDER)+(2*BAR_H))) +#define OVER_Y (H-(BORDER+BAR_H)) + + assetGlobalDef + { + cursor "ui/assets/3_cursor3" // cursor + gradientBar "ui/assets/gradientbar2.tga" // gradient bar + fadeClamp 1.0 // sets the fadeup alpha + fadeCycle 1 // how often fade happens in milliseconds + fadeAmount 0.1 // amount to adjust alpha per cycle + + shadowX 5 // x amount for shadow offset + shadowY 5 // y amount for shadow offset + shadowColor 0.1 0.1 0.1 0.25 // shadow color + + font "fonts/font" 26 // font + smallFont "fonts/smallfont" 20 // font + bigFont "fonts/bigfont" 34 // font + } + + menuDef + { + name "Loading" + rect 0 0 W H + fullScreen MENU_TRUE + aspectBias ASPECT_NONE + + itemDef + { + name background + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name "levelname" + rect INFO_X LEVEL_Y INFO_W LEVEL_H + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NORMAL + textscale 0.4 + ownerdraw CG_LOAD_LEVELNAME + } + + itemDef + { + name "hostname" + rect INFO_X HOST_Y INFO_W HOST_H + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NORMAL + textscale 0.4 + ownerdraw CG_LOAD_HOSTNAME + } + + itemDef + { + name "motd" + rect INFO_X MOTD_Y INFO_W MOTD_H + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NORMAL + textscale 0.4 + ownerdraw CG_LOAD_MOTD + } + + itemDef + { + name "levelshot" + rect SHOT_X SHOT_Y SHOT_W SHOT_H + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + ownerdraw CG_LOAD_LEVELSHOT + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "media" + rect BAR_X MEDIA_Y BAR_W BAR_H + visible MENU_TRUE + decoration + forecolor 0.0 0.8 1 1 + ownerdraw CG_LOAD_MEDIA + textalign ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NEON + textscale 0.5 + borderSize 1.0 + } + + itemDef + { + name "medialabel" + style WINDOW_STYLE_EMPTY + textscale 0.6 + rect LABEL_X MEDIA_Y LABEL_W BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + forecolor 0.0 0.8 1 1 + visible MENU_TRUE + decoration + ownerdraw CG_LOAD_MEDIA_LABEL + } + + itemDef + { + name "buildables" + rect 20 340 380 30 + rect BAR_X BUILD_Y BAR_W BAR_H + visible MENU_TRUE + decoration + forecolor 0.0 0.8 1 1 + ownerdraw CG_LOAD_BUILDABLES + textalign ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NEON + textscale 0.5 + borderSize 1.0 + } + + itemDef + { + name "buildableslabel" + style WINDOW_STYLE_EMPTY + textscale 0.6 + rect LABEL_X BUILD_Y LABEL_W BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + forecolor 0.0 0.8 1 1 + visible MENU_TRUE + decoration + ownerdraw CG_LOAD_BUILDABLES_LABEL + } + + itemDef + { + name "charmodel" + rect BAR_X CHAR_Y BAR_W BAR_H + visible MENU_TRUE + decoration + forecolor 0.0 0.8 1 1 + ownerdraw CG_LOAD_CHARMODEL + textalign ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NEON + textscale 0.5 + borderSize 1.0 + } + + itemDef + { + name "charmodellabel" + style WINDOW_STYLE_EMPTY + textscale 0.6 + rect LABEL_X CHAR_Y LABEL_W BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + forecolor 0.0 0.8 1 1 + visible MENU_TRUE + decoration + ownerdraw CG_LOAD_CHARMODEL_LABEL + } + + itemDef + { + name "overall" + rect BAR_X OVER_Y MAIN_W BAR_H + visible MENU_TRUE + decoration + forecolor 0.0 0.8 1 1 + ownerdraw CG_LOAD_OVERALL + textalign ALIGN_CENTER + textstyle ITEM_TEXTSTYLE_NEON + textscale 0.5 + borderSize 1.0 + } + } +} diff --git a/assets/ui/main.menu b/assets/ui/main.menu new file mode 100644 index 0000000..fddc0d9 --- /dev/null +++ b/assets/ui/main.menu @@ -0,0 +1,228 @@ +// vim:ft=menu +#include "ui/menudef.h" +#include "ui/menu_bool.h" + +{ + assetGlobalDef + { + font "fonts/font" 26// font + smallFont "fonts/smallfont" 20// font + bigFont "fonts/bigfont" 34// font + cursor "ui/assets/3_cursor3" // cursor + gradientBar "ui/assets/gradientbar2.tga" // gradient bar + itemFocusSound "sound/misc/menu2.wav" // sound for item getting focus (via keyboard or mouse ) + + fadeClamp 1.0 // sets the fadeup alpha + fadeCycle 1 // how often fade happens in milliseconds + fadeAmount 0.1 // amount to adjust alpha per cycle + + //shadowColor 0.1 0.1 0.1 0.25 // shadow color + shadowColor 0.1 0.1 0.1 0.80 // shadow color + } + + menuDef + { + name main + fullscreen true + rect 0 0 640 480// Size and position of the menu + visible true // Visible on open + focuscolor 1 .75 0 1// Menu focus color for text and items + background "ui/assets/mainmenu.jpg" + aspectbias ASPECT_NONE + + onOpen + { + uiScript stopRefresh + playlooped "sound/ui/heartbeat.wav" + } + + onESC + { + open quit_popmenu + } + + itemDef + { + name splashmodel + rect 0 0 640 480 + type ITEM_TYPE_MODEL + style WINDOW_STYLE_EMPTY + asset_model "models/splash/splash_screen.md3" + model_fovx 32.0 + model_fovy 24.0 + model_angle 180 + visible MENU_TRUE + decoration + } + +#define X (472) +#define Y (20) +#define W (128) +#define ELEM_H (20) + + itemDef + { + name mainmenu + text "Play" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + rect X Y W ELEM_H + textalign ALIGN_RIGHT + textscale .416 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open joinserver + } + } + + itemDef + { + name mainmenu + text "News" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .416 + rect X (Y+(1*ELEM_H)) W ELEM_H + textalign ALIGN_RIGHT + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open news_menu + } + } + + itemDef + { + name mainmenu + text "Options" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .416 + rect X (Y+(2*ELEM_H)) W ELEM_H + textalign ALIGN_RIGHT + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open simple_options + } + } + + itemDef + { + name mainmenu + text "Demos" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .416 + rect X (Y+(3*ELEM_H)) W ELEM_H + textalign ALIGN_RIGHT + backcolor 0 0 0 0 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open demo + } + } + + itemDef + { + name browse_for_folders + text "Browse Folders" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + rect X (Y+(4*ELEM_H)) W ELEM_H + textscale .416 + textalign ALIGN_RIGHT + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open browse_folders + } + } + + itemDef + { + name check_for_updates + text "Check for Updates" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + rect X (Y+(5*ELEM_H)) W ELEM_H + textscale .416 + textalign ALIGN_RIGHT + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open install_update + } + } + + itemDef + { + name mainmenu + text "Quit" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + rect X (Y+(6*ELEM_H)) W ELEM_H + textscale .416 + textalign ALIGN_RIGHT + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + open quit_popmenu + } + } + + itemDef + { + name copyright + type ITEM_TYPE_TEXT + text "Copyright (C) 2015-2019 GrangerHub" + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .30 + rect 0 405 640 30 + textalign ALIGN_CENTER + forecolor .75 .75 .75 .75 + visible MENU_TRUE + decoration + } + itemDef + { + name copyright + type ITEM_TYPE_TEXT + text "Copyright (C) 2005-2009 darklegion development" + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .30 + rect 0 420 640 30 + textalign ALIGN_CENTER + forecolor .75 .75 .75 .75 + visible MENU_TRUE + decoration + } + } +} diff --git a/assets/ui/menu_bool.h b/assets/ui/menu_bool.h new file mode 100644 index 0000000..38d1562 --- /dev/null +++ b/assets/ui/menu_bool.h @@ -0,0 +1,10 @@ +// Victor Roemer (wtfbbqhax), . +#ifndef MENU_BOOL_H +#define MENU_BOOL_H + +enum { + false, + true +}; + +#endif diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h new file mode 100644 index 0000000..f83ba53 --- /dev/null +++ b/assets/ui/menudef.h @@ -0,0 +1,225 @@ +#ifndef MENUDEF_H +#define MENUDEF_H + +enum +{ + ITEM_TYPE_ANY = -1, // invalid type + ITEM_TYPE_NONE, // no specified type + ITEM_TYPE_TEXT, // simple text + ITEM_TYPE_BUTTON, // button, basically text with a border + ITEM_TYPE_RADIOBUTTON, // toggle button, may be grouped + ITEM_TYPE_CHECKBOX, // check box + ITEM_TYPE_EDITFIELD, // editable text, associated with a cvar + ITEM_TYPE_SAYFIELD, // the chat field + ITEM_TYPE_CYCLE, // cycling list + ITEM_TYPE_LISTBOX, // scrollable list + ITEM_TYPE_COMBOBOX, // drop down scrollable list + ITEM_TYPE_MODEL, // model + ITEM_TYPE_OWNERDRAW, // owner draw, has an associated ownerdraw number + ITEM_TYPE_NUMERICFIELD, // editable text, associated with a cvar + ITEM_TYPE_SLIDER, // mouse speed, volume, etc. + ITEM_TYPE_YESNO, // boolean cvar setting + ITEM_TYPE_MULTI, // multiple list setting, enumerated + ITEM_TYPE_BIND // keyboard control configuration +}; + +#define ALIGN_LEFT 0 // left alignment +#define ALIGN_CENTER 1 // center alignment +#define ALIGN_RIGHT 2 // right alignment +#define ASPECT_NONE 3 // no aspect compensation +#define ALIGN_NONE 4 + +enum +{ + VALIGN_BOTTOM, // bottom alignment + VALIGN_CENTER, // center alignment + VALIGN_TOP, // top alignment + VALIGN_NONE +}; + +enum +{ + ITEM_TEXTSTYLE_NORMAL, // normal text + ITEM_TEXTSTYLE_BLINK, // fast blinking + ITEM_TEXTSTYLE_PULSE, // slow pulsing + ITEM_TEXTSTYLE_SHADOWED, // drop shadow (need a color for this) + ITEM_TEXTSTYLE_OUTLINED, // apparently unimplemented + ITEM_TEXTSTYLE_OUTLINESHADOWED, // apparently unimplemented + ITEM_TEXTSTYLE_SHADOWEDMORE, // drop shadow (need a color for this) + ITEM_TEXTSTYLE_NEON // glow (need a color for this) +}; + +enum +{ + WINDOW_BORDER_NONE, // no border + WINDOW_BORDER_FULL, // full border based on border color (single pixel) + WINDOW_BORDER_HORZ, // horizontal borders only + WINDOW_BORDER_VERT, // vertical borders only + WINDOW_BORDER_KCGRADIENT // horizontal border using the gradient bars +}; + +enum +{ + WINDOW_STYLE_EMPTY, // no background + WINDOW_STYLE_FILLED, // filled with background color + WINDOW_STYLE_GRADIENT, // gradient bar based on background color + WINDOW_STYLE_SHADER, // use background shader + WINDOW_STYLE_TEAMCOLOR, // team color + WINDOW_STYLE_CINEMATIC // cinematic +}; + +#define MENU_TRUE 1 // uh.. true +#define MENU_FALSE 0 // and false + +enum +{ + HUD_VERTICAL, + HUD_HORIZONTAL +}; + +// list box element types +enum +{ + LISTBOX_TEXT, + LISTBOX_IMAGE +}; + +// list feeders +enum +{ + FEEDER_SERVERS, // servers + FEEDER_MAPS, // all maps available, in graphic format + FEEDER_ALIENTEAM_LIST, // alien team members + FEEDER_HUMANTEAM_LIST, // human team members + FEEDER_TEAM_LIST, // team members for team voting + FEEDER_PLAYER_LIST, // players + FEEDER_NEWS, // news + FEEDER_MODS, // list of available mods + FEEDER_DEMOS, // list of available demo files + FEEDER_SERVERSTATUS, // server status + FEEDER_FINDPLAYER, // find player + FEEDER_CINEMATICS, // cinematics + + FEEDER_TREMTEAMS, // teams + FEEDER_TREMALIENCLASSES, // alien classes + FEEDER_TREMHUMANITEMS, // human items + FEEDER_TREMHUMANARMOURYBUY, // human buy + FEEDER_TREMHUMANARMOURYSELL, // human sell + FEEDER_TREMALIENUPGRADE, // alien upgrade + FEEDER_TREMALIENBUILD, // alien buildables + FEEDER_TREMHUMANBUILD, // human buildables + FEEDER_IGNORE_LIST, // ignored players + FEEDER_HELP_LIST, // help topics + FEEDER_RESOLUTIONS, // display resolutions + FEEDER_TREMVOICECMD, // voice commands + FEEDER_GITHUB_RELEASE // latest update info +}; + +// display flags +#define UI_SHOW_FAVORITESERVERS 0x00000001 +#define UI_SHOW_NOTFAVORITESERVERS 0x00000002 + +#define UI_SHOW_VOTEACTIVE 0x00000004 +#define UI_SHOW_CANVOTE 0x00000008 +#define UI_SHOW_TEAMVOTEACTIVE 0x00000010 +#define UI_SHOW_CANTEAMVOTE 0x00000020 + +#define UI_SHOW_NOTSPECTATING 0x00000040 + +// owner draw types +enum +{ + CG_PLAYER_HEALTH, + CG_PLAYER_HEALTH_CROSS, + CG_PLAYER_AMMO_VALUE, + CG_PLAYER_CLIPS_VALUE, + CG_PLAYER_BUILD_TIMER, + CG_PLAYER_CREDITS_VALUE, + CG_PLAYER_CREDITS_VALUE_NOPAD, + CG_PLAYER_STAMINA, + CG_PLAYER_STAMINA_1, + CG_PLAYER_STAMINA_2, + CG_PLAYER_STAMINA_3, + CG_PLAYER_STAMINA_4, + CG_PLAYER_STAMINA_BOLT, + CG_PLAYER_BOOST_BOLT, + CG_PLAYER_CLIPS_RING, + CG_PLAYER_BUILD_TIMER_RING, + CG_PLAYER_SELECT, + CG_PLAYER_SELECTTEXT, + CG_PLAYER_WEAPONICON, + CG_PLAYER_WALLCLIMBING, + CG_PLAYER_BOOSTED, + CG_PLAYER_POISON_BARBS, + CG_PLAYER_ALIEN_SENSE, + CG_PLAYER_HUMAN_SCANNER, + CG_PLAYER_USABLE_BUILDABLE, + CG_PLAYER_CHARGE_BAR_BG, + CG_PLAYER_CHARGE_BAR, + CG_PLAYER_CROSSHAIR, + CG_PLAYER_LOCATION, + CG_TEAMOVERLAY, + CG_PLAYER_CREDITS_FRACTION, + + CG_KILLER, + CG_SPECTATORS, + CG_FOLLOW, + +// loading screen + CG_LOAD_LEVELSHOT, + CG_LOAD_MEDIA, + CG_LOAD_MEDIA_LABEL, + CG_LOAD_BUILDABLES, + CG_LOAD_BUILDABLES_LABEL, + CG_LOAD_CHARMODEL, + CG_LOAD_CHARMODEL_LABEL, + CG_LOAD_OVERALL, + CG_LOAD_LEVELNAME, + CG_LOAD_MOTD, + CG_LOAD_HOSTNAME, + + CG_FPS, + CG_FPS_FIXED, + CG_TIMER, + CG_TIMER_MINS, + CG_TIMER_SECS, + CG_SNAPSHOT, + CG_LAGOMETER, + CG_SPEEDOMETER, + CG_PLAYER_CROSSHAIRNAMES, + CG_STAGE_REPORT_TEXT, + CG_ALIENS_SCORE_LABEL, + CG_HUMANS_SCORE_LABEL, + CG_DEMO_PLAYBACK, + CG_DEMO_RECORDING, + + CG_CONSOLE, + CG_TUTORIAL, + CG_CLOCK, + CG_KILLFEED, + CG_PLAYER_THZ_SCANNER, + + UI_NETSOURCE, + UI_NETMAPPREVIEW, + UI_NETMAPCINEMATIC, + UI_SERVERREFRESHDATE, + UI_SERVERMOTD, + UI_GLINFO, + UI_KEYBINDSTATUS, + UI_SELECTEDMAPPREVIEW, + UI_SELECTEDMAPNAME, + + UI_TEAMINFOPANE, + UI_ACLASSINFOPANE, + UI_AUPGRADEINFOPANE, + UI_HITEMINFOPANE, + UI_HBUYINFOPANE, + UI_HSELLINFOPANE, + UI_ABUILDINFOPANE, + UI_HBUILDINFOPANE, + UI_HELPINFOPANE, + + UI_VOICECMDINFOPANE +}; + +#endif diff --git a/assets/ui/menus.txt b/assets/ui/menus.txt new file mode 100644 index 0000000..067006c --- /dev/null +++ b/assets/ui/menus.txt @@ -0,0 +1,24 @@ +// menu defs +// +{ + loadMenu { "ui/main.menu" } + loadMenu { "ui/news.menu" } + loadMenu { "ui/joinserver.menu" } + loadMenu { "ui/options.menu" } + loadMenu { "ui/createserver.menu" } + loadMenu { "ui/mod.menu" } + loadMenu { "ui/demo_error.menu" } + loadMenu { "ui/demo.menu" } + loadMenu { "ui/connect.menu" } + loadMenu { "ui/password.menu" } + loadMenu { "ui/quit.menu" } + loadMenu { "ui/error.menu" } + loadMenu { "ui/download.menu" } + loadMenu { "ui/drop.menu" } + loadMenu { "ui/serverinfo.menu" } + loadMenu { "ui/findplayer.menu" } + loadMenu { "ui/quitcredit.menu" } + loadMenu { "ui/createfavorite.menu" } + loadMenu { "ui/install_update.menu" } + loadMenu { "ui/folders.menu" } +} diff --git a/assets/ui/mod.menu b/assets/ui/mod.menu new file mode 100644 index 0000000..38bee62 --- /dev/null +++ b/assets/ui/mod.menu @@ -0,0 +1,108 @@ +#include "ui/menudef.h" + +{ + \\ MOD \\ + +#define W 300 +#define H 240 +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 + + menuDef + { + name "mod" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onEsc + { + close mod + } + onOpen + { + uiScript loadMods + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name modlist + rect BORDER BORDER (W-(2*BORDER)) (H-(BUTT_H+BORDER)) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_MODS + textalign 3 + textaligny 14 + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleClick + { + play "sound/misc/menu1.wav"; + uiScript RunMod + } + } + + itemDef + { + name load + text "Load" + type ITEM_TYPE_BUTTON + textscale .25 + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close mod; + uiScript RunMod + } + } + + itemDef + { + name cancel + text "Cancel" + type ITEM_TYPE_BUTTON + textscale .25 + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close mod + } + } + } +} diff --git a/assets/ui/news.menu b/assets/ui/news.menu new file mode 100644 index 0000000..99d8d68 --- /dev/null +++ b/assets/ui/news.menu @@ -0,0 +1,102 @@ +#include "ui/menudef.h" + +{ + \\ NEWS POPUP MENU \\ + +#define W 400 +#define H 400 +#define BUTT_W 45 +#define BUTT_H 35 +#define TITLE_H 35 +#define BORDER 10 +#define LIST_W (W-(2*BORDER)) + + menuDef + { + name "news_menu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { } + onOpen { uiScript getNews } + onESC + { + close news_menu + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name title + type ITEM_TYPE_TEXT + text "Tremulous News" + style WINDOW_STYLE_EMPTY + textscale .5 + textstyle ITEM_TEXTSTYLE_NORMAL + rect BORDER BORDER LIST_W TITLE_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + decoration + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name newslistbox + rect BORDER ((2*BORDER)+TITLE_H) LIST_W (H-((TITLE_H+BUTT_H)+(2*BORDER))) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .25 + border WINDOW_BORDER_FULL + bordersize 1 + bordercolor .5 .5 .5 1 + elementtype LISTBOX_TEXT + feeder FEEDER_NEWS + notselectable + visible MENU_TRUE + } + + // BUTTON // + + itemDef + { + name close + text "Close" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close news_menu + } + } + } +} + + diff --git a/assets/ui/options.menu b/assets/ui/options.menu new file mode 100644 index 0000000..6427f6c --- /dev/null +++ b/assets/ui/options.menu @@ -0,0 +1,310 @@ +#include "ui/menudef.h" + +{ + \\ FRONT END OPTIONS BOX \\ + +#define X 0 +#define Y 20 +#define W 250 +#define H ((10*(ELEM_H+ELEM_GAP))+120) +#define TOFF_X (0-(W/2)) +#define ELEM_H 16 +#define ELEM_GAP 4 +#define BUTT_W 35 +#define BUTT_H 35 +#define BORDER 10 +#define RESCOMBO_OFF 8 + + menuDef + { + name "simple_options" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onEsc + { + play "sound/misc/menu1.wav"; + close simple_options + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + + + itemDef + { + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Name:" + cvar "name" + maxchars 26 + rect X Y W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_MULTI + text "Renderer:" + cvar "cl_renderer" + cvarStrList { "OpenGL 1", "opengl1", + "OpenGL 2", "opengl2" } + rect X (Y+(ELEM_H+ELEM_GAP)) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Video Mode:" + rect X (Y+(2*(ELEM_H+ELEM_GAP))) (W/2) ELEM_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + itemDef + { + rect ((W/2)+RESCOMBO_OFF) (Y+(2*(ELEM_H+ELEM_GAP))) ((W/2)-(2*BORDER)) ELEM_H + type ITEM_TYPE_COMBOBOX + style WINDOW_STYLE_FILLED + elementwidth ((W/2)-(2*BORDER)) + elementheight ELEM_H + dropitems 5 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_RESOLUTIONS + border WINDOW_BORDER_FULL + borderColor 0.5 0.5 0.5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + type ITEM_TYPE_SLIDER + text "Video Brightness:" + cvarfloat "r_gamma" 1 .5 2 + rect X (Y+(3*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + + + itemDef + { + type ITEM_TYPE_SLIDER + text "Effects Volume:" + cvarfloat "s_volume" 0.7 0 1 + rect X (Y+(4*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_SLIDER + text "Music Volume:" + cvarfloat "s_musicvolume" 0.25 0 1 + rect X (Y+(5*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_YESNO + text "OpenAL Sound:" + cvar "s_useOpenAL" + rect X (Y+(6*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + + + itemDef + { + type ITEM_TYPE_SLIDER + text "Mouse Sensitivity:" + cvarfloat "sensitivity" 5 1 30 + rect X (Y+(7*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_YESNO + text "Invert Mouse:" + cvar "ui_mousePitch" + rect X (Y+(8*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript update ui_mousePitch + } + } + + + + itemDef + { + type ITEM_TYPE_MULTI + text "Network Connection:" + cvar "rate" + cvarFloatList { "<=28.8k" 2500 "33.6k" 3000 "56k" 4000 "ISDN" 5000 "LAN/CABLE/xDSL" 25000 } + rect X (Y+(9*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + type ITEM_TYPE_YESNO + text "Allow Auto Download:" + cvar "cl_allowDownload" + rect X (Y+(10*(ELEM_H+ELEM_GAP))) W ELEM_H + textalign ALIGN_RIGHT + textalignx TOFF_X + textvalign VALIGN_CENTER + textscale .25 + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + } + } + + itemDef + { + text "For further options please use the in-game options menu" + type ITEM_TYPE_TEXT + style WINDOW_STYLE_EMPTY + textstyle ITEM_TEXTSTYLE_NORMAL + textscale .25 + rect 0 (H-60) W 10 + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + decoration + } + + + itemDef + { + text "APPLY" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + exec "snd_restart" // includes vid_restart + } + } + + itemDef + { + text "OK" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close simple_options + } + } + } +} diff --git a/assets/ui/password.menu b/assets/ui/password.menu new file mode 100644 index 0000000..d6ac4cd --- /dev/null +++ b/assets/ui/password.menu @@ -0,0 +1,85 @@ +#include "ui/menudef.h" + +{ + \\ PASSWORD POPUP MENU \\ + +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 +#define INPUT_H 20 +#define W 250 +#define H ((2*BORDER)+INPUT_H+BUTT_H) + + menuDef + { + name "password_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + + onOpen + { + setfocus passwordEntry + } + + onESC + { + close password_popmenu + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + // PASSWORD // + + itemDef + { + name passwordEntry + type ITEM_TYPE_EDITFIELD + style WINDOW_STYLE_EMPTY + text "Password:" + maxChars 40 + textscale .4 + cvar "password" + rect BORDER BORDER (W-(2*BORDER)) INPUT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + } + + itemDef + { + name yes + text "OK" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close password_popmenu + } + } + } +} diff --git a/assets/ui/quit.menu b/assets/ui/quit.menu new file mode 100644 index 0000000..0bd2e90 --- /dev/null +++ b/assets/ui/quit.menu @@ -0,0 +1,99 @@ +#include "ui/menudef.h" + +{ + \\ QUIT POPUP MENU \\ + +#define W 120 +#define H 120 + + menuDef + { + name "quit_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onESC + { + play "sound/misc/menu1.wav"; + close quit_popmenu + } + + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + + // QUIT // + + itemDef + { + name confirm + type ITEM_TYPE_TEXT + text "Quit Tremulous?" + style WINDOW_STYLE_EMPTY + textscale .3 + textstyle WINDOW_STYLE_SHADER + rect 0 0 W ((2*H)/3) + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + decoration + forecolor 1 1 1 1 + visible MENU_TRUE + } + + + itemDef + { + name yes + text "YES" + type ITEM_TYPE_BUTTON + textscale .25 + rect 0 (H/3) (W/2) ((2*H)/3) + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + open quitCredit + } + } + + + itemDef + { + name no + text "NO" + type ITEM_TYPE_BUTTON + textscale .25 + rect (W/2) (H/3) (W/2) ((2*H)/3) + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close quit_popmenu + } + } + } +} + + diff --git a/assets/ui/quitcredit.menu b/assets/ui/quitcredit.menu new file mode 100644 index 0000000..14a8f4f --- /dev/null +++ b/assets/ui/quitcredit.menu @@ -0,0 +1,410 @@ +#include "ui/menudef.h" + +{ + \\ QUIT CREDIT \\ + + menuDef + { + name "quitCredit" + visible MENU_FALSE + fullscreen MENU_TRUE + rect 0 0 640 480 + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_NONE + aspectBias ASPECT_NONE + onEsc + { + uiScript "quit" + } + + itemDef + { + name exitclickbox + style WINDOW_STYLE_SHADER + rect 0 0 640 480 + type ITEM_TYPE_BUTTON + visible MENU_TRUE + backcolor 0 0 0 1 + background "ui/assets/credits_splash.jpg" + action + { + close quitCredit; + uiScript "quit" + } + } + + itemDef + { + name topstripe + style WINDOW_STYLE_FILLED + rect -5 -5 645 64 + visible MENU_TRUE + backcolor 0 0 0 1 + + border WINDOW_BORDER_FULL + borderSize 1.5 + borderColor 1 0 0 1 + } + + itemDef + { + name bottomstripe + style WINDOW_STYLE_FILLED + rect -5 416 645 485 + visible MENU_TRUE + backcolor 0 0 0 1 + + border WINDOW_BORDER_FULL + borderSize 1.5 + borderColor 1 0 0 1 + } + + itemDef + { + name "creditstitle" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 320 48 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_CENTER + textscale 0.75 + textstyle ITEM_TEXTSTYLE_NORMAL + text "CREDITS" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit1left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 96 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Tim 'Timbo' Angus" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit1right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 96 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Programming and Direction" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit2left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 128 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Nick 'jex' Jansens" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit2right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 128 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Mapping, texturing and 2D artwork" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit3left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 160 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Robin 'OverFlow' Marshall" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit3right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 160 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Modelling, animation and mapping" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit4left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 192 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Jan 'Stannum' van der Weg" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit4right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 192 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Texturing and mapping" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit5left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 224 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Mike 'Veda' McInerney" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit5right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 224 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Modelling, animation and texturing" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit6left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 256 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Gordon 'Godmil' Miller" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit6right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 256 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Mapping" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit7left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 288 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "'Who-[Soup]'" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit7right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 288 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Mapping" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit8left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 320 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Tristan 'jhrx' Blease" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit8right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 320 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Mapping" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit9left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 352 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Paul 'MoP' Greveson" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit9right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 352 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Modelling and texturing" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + + itemDef + { + name "credit10left" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 10 384 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_LEFT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Chris 'Dolby' McCarthy" + forecolor 1 1 1 1 + backcolor 1 0 0 1 + visible 1 + decoration + } + itemDef + { + name "credit10right" + group grpidcredit + style WINDOW_STYLE_EMPTY + rect 630 384 1 1 + type ITEM_TYPE_TEXT + textalign ALIGN_RIGHT + textscale 0.50 + textstyle ITEM_TEXTSTYLE_NORMAL + text "Sound" + forecolor 1 1 1 1 + backcolor 0 1 0 1 + visible 1 + decoration + } + } +} diff --git a/assets/ui/say.menu b/assets/ui/say.menu new file mode 100644 index 0000000..2bd3015 --- /dev/null +++ b/assets/ui/say.menu @@ -0,0 +1,180 @@ +#include "ui/menudef.h" +#include "ui/menu_bool.h" + +{ + +#define BORDER 10 + +#define X BORDER +#define Y BORDER +#define W (600-(2*BORDER)) +#define H (480-(2*BORDER)) + + // Say to All + menuDef + { + name say + fullScreen false + visible false + rect X Y W H + aspectBias ALIGN_LEFT + focusColor 1 1 1 1 + style WINDOW_STYLE_EMPTY + onOpen + { + setfocus say_field; + } + + itemDef + { + name say_field + type ITEM_TYPE_SAYFIELD + style WINDOW_STYLE_EMPTY + text "Say:" + cvar "ui_sayBuffer" + maxchars 128 + rect 0 0 W H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale .4 + forecolor 0.93 0.93 0.92 1 + visible true + onCharEntry + { + uiScript SayKeyDown; + } + onTextEntry + { + uiScript Say; + close say; + } + } + } + + // Say to Team + menuDef + { + name say_team + fullScreen false + visible false + rect X Y W H + aspectBias ALIGN_LEFT + focusColor 1 1 1 1 + style WINDOW_STYLE_EMPTY + onOpen + { + setfocus say_field + } + + itemDef + { + name say_field + type ITEM_TYPE_SAYFIELD + style WINDOW_STYLE_EMPTY + text "Say to team:" + cvar "ui_sayBuffer" + maxchars 128 + rect 0 0 W H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale .4 + forecolor 0.93 0.93 0.92 1 + visible true + onCharEntry + { + uiScript SayKeyDown; + } + onTextEntry + { + uiScript Say; + close say_team; + } + } + } + + // Command + menuDef + { + name say_command + fullScreen false + visible false + rect X Y W H + aspectBias ALIGN_LEFT + focusColor 1 1 1 1 + style WINDOW_STYLE_EMPTY + onOpen + { + setfocus say_field + } + + itemDef + { + name say_field + type ITEM_TYPE_SAYFIELD + style WINDOW_STYLE_EMPTY + text "Command:" + cvar "ui_sayBuffer" + maxchars 128 + rect 0 0 W H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale .4 + forecolor 0.93 0.93 0.92 1 + visible true + onCharEntry + { + uiScript SayKeyDown; + } + onTextEntry + { + uiScript Say; + close say_command; + } + } + } + + // Say to Admins + menuDef + { + name say_admin + fullScreen false + visible false + rect X Y W H + aspectBias ALIGN_LEFT + focusColor 1 1 1 1 + style WINDOW_STYLE_EMPTY + onOpen + { + setfocus say_field + } + + itemDef + { + name say_field + type ITEM_TYPE_SAYFIELD + style WINDOW_STYLE_EMPTY + text "Say to admins:" + cvar "ui_sayBuffer" + maxchars 128 + rect 0 0 W H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textstyle ITEM_TEXTSTYLE_SHADOWED + textscale .4 + forecolor 0.93 0.93 0.92 1 + visible true + onCharEntry + { + uiScript SayKeyDown; + } + onTextEntry + { + uiScript Say; + close say_admin; + } + } + } +} diff --git a/assets/ui/serverinfo.menu b/assets/ui/serverinfo.menu new file mode 100644 index 0000000..596712c --- /dev/null +++ b/assets/ui/serverinfo.menu @@ -0,0 +1,112 @@ +#include "ui/menudef.h" + +{ + \\ SERVER INFO POPUP MENU \\ + +#define W 400 +#define H 300 +#define BUTT_W 45 +#define BUTT_H 35 +#define BORDER 10 +#define LIST_W (W-(2*BORDER)) +#define LIST_DW (LIST_W-40) +#define LEFT_C 0.13 +#define RIGHT_C 0.61 + + menuDef + { + name "serverinfo_popmenu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + popup + onClose { } + onOpen { uiScript ServerStatus } + onESC + { + close serverinfo_popmenu + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name serverinfo + rect BORDER BORDER LIST_W (H-(BUTT_H+BORDER)) + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 16 + textscale .25 + border WINDOW_BORDER_FULL + bordersize 1 + bordercolor .5 .5 .5 1 + elementtype LISTBOX_TEXT + feeder FEEDER_SERVERSTATUS + notselectable + visible MENU_TRUE + columns 4 + 0 ((2*LEFT_C)*LIST_DW) ALIGN_LEFT + (LEFT_C*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT + ((2*LEFT_C)*LIST_DW) (LEFT_C*LIST_DW) ALIGN_LEFT + ((1-RIGHT_C)*LIST_DW) (RIGHT_C*LIST_DW) ALIGN_LEFT + } + + // BUTTON // + + itemDef + { + name refresh + text "Refresh" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-(2*BUTT_W)) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ServerStatus + } + } + + itemDef + { + name close + text "Close" + type ITEM_TYPE_BUTTON + textscale .25 + style WINDOW_STYLE_EMPTY + rect (W-BUTT_W) (H-BUTT_H) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + forecolor 1 1 1 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close serverinfo_popmenu + } + } + } +} + + diff --git a/assets/ui/teamscore.menu b/assets/ui/teamscore.menu new file mode 100644 index 0000000..65893a0 --- /dev/null +++ b/assets/ui/teamscore.menu @@ -0,0 +1,386 @@ +#include "ui/menudef.h" + +{ + \\ score_menu \\ + +#define W 500 +#define H 338 +#define BORDER 10 + +#define TOFF 10 +#define SPEC_W 75 +#define BAR_H 30 + +#define LLIST_L 0 +#define LLIST_R (W/2) +#define RLIST_L (W/2) +#define RLIST_R W + + menuDef + { + name "teamscore_menu" + visible MENU_FALSE + fullscreen MENU_FALSE + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_EMPTY + + // TEAM NAME // + + itemDef + { + name teamNameWindow + rect 0 0 W BAR_H + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .8 + visible MENU_TRUE + decoration + } + + itemDef + { + name alienteamname + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOFF + textscale 0.4 + rect 0 0 (W/3) BAR_H + forecolor 1 1 1 1 + decoration + visible MENU_TRUE + ownerdraw CG_ALIENS_SCORE_LABEL + } + + itemDef + { + name stagereport + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale 0.33 + rect (W/3) 0 (W/3) BAR_H + forecolor 1 1 1 1 + decoration + visible MENU_TRUE + ownerdraw CG_STAGE_REPORT_TEXT + } + + itemDef + { + name humanteamname + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textalignx -TOFF + textscale 0.4 + rect ((2*W)/3) 0 (W/3) BAR_H + forecolor 1 1 1 1 + decoration + visible MENU_TRUE + ownerdraw CG_HUMANS_SCORE_LABEL + } + + // TEAM BARS // + + itemDef + { + name leftteambar + rect 0 (BAR_H+BORDER) (W/2) BAR_H + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .8 + visible MENU_TRUE + decoration + } + + itemDef + { + name rightteambar + rect (W/2) (BAR_H+BORDER) (W/2) BAR_H + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + forecolor 1 1 1 1 + backcolor 0 0 0 .8 + visible MENU_TRUE + decoration + } + + + // TEAM HEADINGS // + + itemDef + { + type ITEM_TYPE_TEXT + text "Status" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (LLIST_L+10) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Name" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (LLIST_L+50) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Score" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (LLIST_R-95) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Time" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (LLIST_R-55) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Ping" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (LLIST_R-15) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Status" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (RLIST_L+10) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Name" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (RLIST_L+50) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Score" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (RLIST_R-95) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Time" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (RLIST_R-55) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + type ITEM_TYPE_TEXT + text "Ping" + textscale .33 + style WINDOW_STYLE_EMPTY + rect (RLIST_R-15) (BAR_H+BORDER) 1 BAR_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + backcolor 0 0 0 0 + forecolor 1 .75 0 1 + decoration + visible MENU_TRUE + } + + itemDef + { + name leftlist + rect 0 ((2*BAR_H)+BORDER) (W/2) (H-((3*BAR_H)+(2*BORDER))) + style WINDOW_STYLE_FILLED + backcolor 0 0 0 .6 + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + forecolor .75 .75 .75 1 + visible MENU_TRUE + type ITEM_TYPE_LISTBOX + elementwidth 135 + elementheight 16 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_ALIENTEAM_LIST + notselectable + noscrollbar + columns 7 + 5 15 ALIGN_LEFT + 21 15 ALIGN_LEFT + 7 30 ALIGN_LEFT + 45 ((W/2)-170) ALIGN_LEFT + ((W/2)-120) 20 ALIGN_RIGHT + ((W/2)-80) 20 ALIGN_RIGHT + ((W/2)-40) 20 ALIGN_RIGHT + } + + itemDef + { + name rightlist + rect (W/2) ((2*BAR_H)+BORDER) (W/2) (H-((3*BAR_H)+(2*BORDER))) + style WINDOW_STYLE_FILLED + backcolor 0 0 0 .6 + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + forecolor .75 .75 .75 1 + visible MENU_TRUE + type ITEM_TYPE_LISTBOX + elementwidth 135 + elementheight 16 + textscale .25 + elementtype LISTBOX_TEXT + feeder FEEDER_HUMANTEAM_LIST + notselectable + noscrollbar + columns 7 + 5 15 ALIGN_LEFT + 21 15 ALIGN_LEFT + 7 30 ALIGN_LEFT + 45 ((W/2)-170) ALIGN_LEFT + ((W/2)-120) 20 ALIGN_RIGHT + ((W/2)-80) 20 ALIGN_RIGHT + ((W/2)-40) 20 ALIGN_RIGHT + } + + // spectators // + + itemDef + { + name window + rect 0 (H-BAR_H) W BAR_H + style WINDOW_STYLE_FILLED + border WINDOW_BORDER_FULL + borderSize 1.0 + bordercolor .5 .5 .5 1 + backcolor 0 0 0 .8 + textscale .33 + visible MENU_TRUE + decoration + } + + itemDef + { + type ITEM_TYPE_TEXT + name window + text "Spectating:" + rect 0 (H-BAR_H) SPEC_W BAR_H + style WINDOW_STYLE_FILLED + forecolor 1 1 1 1 + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textalignx TOFF + visible MENU_TRUE + decoration + } + + itemDef + { + name window + rect SPEC_W (H-BAR_H) (W-SPEC_W) BAR_H + style WINDOW_STYLE_FILLED + forecolor 1 1 1 1 + textscale .33 + textvalign VALIGN_CENTER + visible MENU_TRUE + ownerdraw CG_SPECTATORS + decoration + } + + itemDef + { + name winner + type ITEM_TYPE_TEXT + rect (W/2) (H+BAR_H) 0 0 + style WINDOW_STYLE_EMPTY + forecolor 1 1 1 1 + textscale 0.5 + textalign ALIGN_CENTER + textvalign VALIGN_TOP + visible MENU_TRUE + cvar "ui_winner" + decoration + } + } +} diff --git a/assets/ui/tremulous.txt b/assets/ui/tremulous.txt new file mode 100644 index 0000000..fbeb47d --- /dev/null +++ b/assets/ui/tremulous.txt @@ -0,0 +1,20 @@ +// menu defs +// +{ + loadMenu { "ui/tremulous_teamselect.menu" } + loadMenu { "ui/tremulous_alienclass.menu" } + loadMenu { "ui/tremulous_humanitem.menu" } + + loadMenu { "ui/tremulous_alienbuild.menu" } + loadMenu { "ui/tremulous_humanbuild.menu" } + + loadMenu { "ui/tremulous_humanarmoury.menu" } + + loadMenu { "ui/tremulous_dialogs.menu" } + loadMenu { "ui/tremulous_humandialogs.menu" } + loadMenu { "ui/tremulous_aliendialogs.menu" } + + loadMenu { "ui/tremulous_alienupgrade.menu" } + loadMenu { "ui/tremulous_voicecmd.menu" } + loadMenu { "ui/say.menu" } +} diff --git a/assets/ui/tremulous_alien_builder_hud.menu b/assets/ui/tremulous_alien_builder_hud.menu new file mode 100644 index 0000000..b532264 --- /dev/null +++ b/assets/ui/tremulous_alien_builder_hud.menu @@ -0,0 +1,42 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 + + menuDef + { + name "alien_builder_hud" + fullScreen MENU_FALSE + visible MENU_TRUE + rect 0 0 W H + aspectBias ASPECT_NONE + +#include "ui/tremulous_alien_common_hud.h" + + //BUILD TIMER + itemDef + { + name "buildtimer" + rect 567 410 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor 1.0 0.0 0.0 .5 + ownerdraw CG_PLAYER_BUILD_TIMER + } + + //BUILD POINTS + itemDef + { + name "build-points" + rect 493.5 421.5 60 15 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor 1.0 0.0 0.0 1.0 + ownerdraw CG_PLAYER_AMMO_VALUE + } + } +} diff --git a/assets/ui/tremulous_alien_common_hud.h b/assets/ui/tremulous_alien_common_hud.h new file mode 100644 index 0000000..c77c9f7 --- /dev/null +++ b/assets/ui/tremulous_alien_common_hud.h @@ -0,0 +1,257 @@ +#define COMMON_HUD_R 1.0 +#define COMMON_HUD_G 0.0 +#define COMMON_HUD_B 0.0 +#include "ui/tremulous_common_hud.h" + +////////////////// +//STATIC OBJECTS// +////////////////// + +//LEFT RING CIRCLE +itemDef +{ + name "left-ring-circle" + rect 47.5 410 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" +} + +//LEFT ARM +itemDef +{ + name "left-arm" + rect 77 404.75 104 52.5 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/alien/left-arm.tga" +} + +//LEFT ARM CIRCLE +itemDef +{ + name "left-arm-circle" + rect 150 417.5 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" +} + +//RIGHT RING CIRCLE +itemDef +{ + name "right-ring-circle" + rect 567 410 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" +} + +//RIGHT ARM +itemDef +{ + name "right-arm" + rect 459 404.75 104 52.5 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/alien/right-arm.tga" +} + +/////////////////// +//DYNAMIC OBJECTS// +/////////////////// + +//BOLT +itemDef +{ + name "bolt" + rect 52.5 412.5 15 20 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/alien/bolt.tga" + ownerdraw CG_PLAYER_BOOST_BOLT +} + +//CROSS +itemDef +{ + name "cross" + rect 150 417.5 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_HEALTH_CROSS +} + +//LEFT RING +itemDef +{ + name "left-ring" + rect 7.25 369.5 90.5 106 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/alien/left-ring.tga" + ownerdraw CG_PLAYER_BOOSTED +} + +//LEFT SPIKES +itemDef +{ + name "left-spikes" + rect 18.5 381 59 83 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0 + backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/alien/left-spikes.tga" + ownerdraw CG_PLAYER_WALLCLIMBING +} + +//RIGHT RING +itemDef +{ + name "right-ring" + rect 542.25 369.5 90.5 106 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/alien/right-ring.tga" + ownerdraw CG_PLAYER_BOOSTED +} + +//RIGHT SPIKES +itemDef +{ + name "right-spikes" + rect 562.5 381 59 83 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1.0 + backcolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/alien/right-spikes.tga" + ownerdraw CG_PLAYER_WALLCLIMBING +} + +//HEALTH +itemDef +{ + name "health" + rect 78.5 421.5 60 15 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + ownerdraw CG_PLAYER_HEALTH +} + +//ALIEN CLASS ICON +itemDef +{ + name "alien-icon" + rect 465 417.5 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.6 + ownerdraw CG_PLAYER_WEAPONICON +} + +//ORGANS +itemDef +{ + name "organs" + rect 570 416 15 15 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + ownerdraw CG_PLAYER_CREDITS_VALUE_NOPAD +} + +//CREDITS FRACTION +itemDef +{ + name "credits-background" + rect 567 410 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + background "ui/assets/neutral/circle.tga" + ownerdraw CG_PLAYER_CREDITS_FRACTION +} + +//ALIENSENSE +itemDef +{ + name "aliensense" + rect 20 20 600 400 + visible MENU_TRUE + decoration + ownerdraw CG_PLAYER_ALIEN_SENSE +} + +//CHARGE BAR +itemDef +{ + name "charge" + rect 292 426 56 8 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_CHARGE_BAR + background "ui/assets/neutral/charge_cap_h.tga" +} + +//CHARGE BAR BG +itemDef +{ + name "chargebg" + rect 288 422 64 16 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + ownerdraw CG_PLAYER_CHARGE_BAR_BG + background "ui/assets/neutral/charge_bg_h.tga" +} + +//TEAM OVERLAY +itemDef +{ + name "teamoverlay" + rect BORDER 175 200 128 + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75 + textscale 0.85 + ownerdraw CG_TEAMOVERLAY +} diff --git a/assets/ui/tremulous_alien_general_hud.menu b/assets/ui/tremulous_alien_general_hud.menu new file mode 100644 index 0000000..df1352d --- /dev/null +++ b/assets/ui/tremulous_alien_general_hud.menu @@ -0,0 +1,30 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 + + menuDef + { + name "alien_general_hud" + fullScreen MENU_FALSE + visible MENU_TRUE + rect 0 0 W H + aspectBias ASPECT_NONE + +#include "ui/tremulous_alien_common_hud.h" + + //BLOB + itemDef + { + name "blob" + rect 497 419 52 18 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + forecolor 1.0 0.0 0.0 0.5 + background "ui/assets/alien/tremublob.tga" + ownerdraw CG_PLAYER_POISON_BARBS + } + } +} diff --git a/assets/ui/tremulous_alienbuild.menu b/assets/ui/tremulous_alienbuild.menu new file mode 100644 index 0000000..127b769 --- /dev/null +++ b/assets/ui/tremulous_alienbuild.menu @@ -0,0 +1,136 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_alienbuild" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadAlienBuilds; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMALIENBUILD + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript BuildAlienBuildable; + close tremulous_alienbuild + } + } + + itemDef + { + name infopane + ownerdraw UI_ABUILDINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor 0 0 0 1 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript BuildAlienBuildable; + close tremulous_alienbuild + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor 0 0 0 1 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_alienbuild + } + } + } +} diff --git a/assets/ui/tremulous_alienclass.menu b/assets/ui/tremulous_alienclass.menu new file mode 100644 index 0000000..441e27f --- /dev/null +++ b/assets/ui/tremulous_alienclass.menu @@ -0,0 +1,157 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_alienclass" + visible MENU_TRUE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadAlienClasses; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMALIENCLASSES + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript SpawnAsAlienClass; + close tremulous_alienclass + } + } + + itemDef + { + name infopane + ownerdraw UI_ACLASSINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "Back" + text "< Back" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect ((2*BORDER)+LIST_W) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + close tremulous_alienclass; + open tremulous_teamselect + } + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript SpawnAsAlienClass; + close tremulous_alienclass + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_alienclass + } + } + } +} diff --git a/assets/ui/tremulous_aliendialogs.menu b/assets/ui/tremulous_aliendialogs.menu new file mode 100644 index 0000000..921d2c8 --- /dev/null +++ b/assets/ui/tremulous_aliendialogs.menu @@ -0,0 +1,97 @@ +#include "ui/menudef.h" + +{ + +#define W 280 +#define H 190 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) + + menuDef + { + name "tremulous_alien_dialog" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_EMPTY + popup + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name alien_dialog + text "Error" + type ITEM_TYPE_TEXT + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect BORDER BORDER INFO_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name alien_dialog + type ITEM_TYPE_TEXT + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + cvar "ui_dialog" + wrapped + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name alien_dialog + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close tremulous_alien_dialog + } + } + } +} diff --git a/assets/ui/tremulous_alienupgrade.menu b/assets/ui/tremulous_alienupgrade.menu new file mode 100644 index 0000000..2ef7bcb --- /dev/null +++ b/assets/ui/tremulous_alienupgrade.menu @@ -0,0 +1,136 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_alienupgrade" + visible MENU_TRUE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadAlienUpgrades; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMALIENUPGRADE + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript UpgradeToNewClass; + close tremulous_alienupgrade + } + } + + itemDef + { + name infopane + ownerdraw UI_AUPGRADEINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript UpgradeToNewClass; + close tremulous_alienupgrade + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_alienupgrade + } + } + } +} diff --git a/assets/ui/tremulous_common_hud.h b/assets/ui/tremulous_common_hud.h new file mode 100644 index 0000000..4fb857b --- /dev/null +++ b/assets/ui/tremulous_common_hud.h @@ -0,0 +1,247 @@ +#define BORDER 10 + +#define STAT_W 45 +#define STAT_H 22 +#define STAT_X (W-(BORDER+STAT_W)) + +#define CONSOLE_W (W-((3*BORDER)+STAT_W)) +#define CONSOLE_H 180 +#define MAIN_W (W-(2*BORDER)) + +//#define TUTORIAL_X (W-(BORDER*MAIN_W)) +#define TUTORIAL_X 320 + +#define KILLFEED_X (BORDER) +#define KILLFEED_Y (410) + +//CONSOLE +itemDef +{ + name "console" + rect BORDER BORDER CONSOLE_W CONSOLE_H + aspectBias ALIGN_LEFT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor 0.93 0.93 0.92 1 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textscale 0.35 + textstyle ITEM_TEXTSTYLE_SHADOWED + ownerdraw CG_CONSOLE +} + +//TUTORIAL +itemDef +{ + name "tutorial" + rect TUTORIAL_X 275 MAIN_W 130 + aspectBias ALIGN_LEFT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor 1 1 1 0.35 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale 0.3 + textstyle ITEM_TEXTSTYLE_NORMAL + ownerdraw CG_TUTORIAL +} + +//FPS +itemDef +{ + name "fps" + rect STAT_X BORDER STAT_W STAT_H + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale 0.3 + textstyle ITEM_TEXTSTYLE_NORMAL + ownerdraw CG_FPS +} + +//TIMER +itemDef +{ + name "timer" + rect STAT_X ((2*BORDER)+STAT_H) STAT_W STAT_H + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale 0.3 + textstyle ITEM_TEXTSTYLE_NORMAL + ownerdraw CG_TIMER +} + +//LAGOMETER +itemDef +{ + name "lagometer" + rect STAT_X ((3*BORDER)+(2*STAT_H)) STAT_W STAT_H + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textscale 0.3 + ownerdraw CG_LAGOMETER +} + +//SPEEDOMETER +itemDef +{ + name "speedometer" + rect (320-(STAT_W/2)) 350 STAT_W STAT_H + aspectBias ALIGN_CENTER + type ITEM_TYPE_OWNERDRAW + ownerdraw CG_SPEEDOMETER + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + foreColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + textscale 0.3 +} + +//CLOCK +itemDef +{ + name "clock" + rect STAT_X ((4*BORDER)+(3*STAT_H)) STAT_W STAT_H + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale 0.3 + textstyle ITEM_TEXTSTYLE_NORMAL + ownerdraw CG_CLOCK +} + +//LOCATION +itemDef +{ + name "location" + rect (STAT_X-75) ((5*BORDER)+(4*STAT_H)) (STAT_W+75) STAT_H + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + textalign ALIGN_RIGHT + textscale 0.3 + ownerdraw CG_PLAYER_LOCATION +} + +//DEMO STATE +itemDef +{ + name "demoRecording" + rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32 + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor 1 0 0 1 + textscale 0.3 + ownerdraw CG_DEMO_RECORDING + background "ui/assets/neutral/circle.tga" +} +itemDef +{ + name "demoPlayback" + rect (STAT_X+(STAT_W-32)) ((8*BORDER)+(4*STAT_H)) 32 32 + aspectBias ALIGN_RIGHT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor 1 1 1 1 + textscale 0.3 + ownerdraw CG_DEMO_PLAYBACK + background "ui/assets/forwardarrow.tga" +} + +//SNAPSHOT +itemDef +{ + name "snapshot" + rect BORDER (H-(BORDER+STAT_H)) MAIN_W STAT_H + aspectBias ALIGN_LEFT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale 0.4 + textstyle ITEM_TEXTSTYLE_NORMAL + ownerdraw CG_SNAPSHOT +} + +//PLAYER NAME +itemDef +{ + name "playername" + rect 200 275 240 25 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + textScale .5 + ownerdraw CG_PLAYER_CROSSHAIRNAMES + textstyle ITEM_TEXTSTYLE_SHADOWED +} + +//CROSSHAIR +itemDef +{ + name "crosshair" + visible MENU_TRUE + decoration + rect 320 240 0 0 + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .35 + ownerdraw CG_PLAYER_CROSSHAIR +} + +//SPECTATOR TEXT +itemDef +{ + name "followtext" + rect 200 375 240 25 + foreColor 1 1 1 1 + aspectBias ALIGN_CENTER + textalign ALIGN_CENTER + textvalign VALIGN_TOP + visible MENU_TRUE + decoration + textScale .7 + textStyle ITEM_TEXTSTYLE_SHADOWED + ownerdraw CG_FOLLOW +} + +//KILLFEED +itemDef +{ + name "killfeed" + rect KILLFEED_X KILLFEED_Y 0 0 + aspectBias ALIGN_LEFT + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 1 + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale 0.3 + textstyle ITEM_TEXTSTYLE_SHADOWED + ownerdraw CG_KILLFEED +} + diff --git a/assets/ui/tremulous_default_hud.menu b/assets/ui/tremulous_default_hud.menu new file mode 100644 index 0000000..8d1034b --- /dev/null +++ b/assets/ui/tremulous_default_hud.menu @@ -0,0 +1,37 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 + + menuDef + { + name "default_hud" + fullScreen MENU_FALSE + visible MENU_TRUE + rect 0 0 W H + aspectBias ASPECT_NONE + +#define COMMON_HUD_R 1.0 +#define COMMON_HUD_G 1.0 +#define COMMON_HUD_B 1.0 +#include "ui/tremulous_common_hud.h" + + //SPECTATOR TEXT + itemDef + { + name "spectatortext" + text "SPECTATOR" + rect 200 415 240 25 + foreColor 1 1 1 1 + aspectBias ALIGN_CENTER + textalign ALIGN_CENTER + textvalign VALIGN_TOP + visible MENU_TRUE + decoration + textScale .7 + textStyle ITEM_TEXTSTYLE_SHADOWED + } + } +} diff --git a/assets/ui/tremulous_dialogs.menu b/assets/ui/tremulous_dialogs.menu new file mode 100644 index 0000000..63109dc --- /dev/null +++ b/assets/ui/tremulous_dialogs.menu @@ -0,0 +1,98 @@ +#include "ui/menudef.h" + +{ + +#define W 280 +#define H 190 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_default_dialog" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_EMPTY + popup + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name default_dialog + text "Error" + type ITEM_TYPE_TEXT + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect BORDER BORDER INFO_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name default_dialog + textstyle ITEM_TEXTSTYLE_NORMAL + type ITEM_TYPE_TEXT + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + cvar "ui_dialog" + wrapped + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name default_dialog + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close tremulous_default_dialog + } + } + } +} diff --git a/assets/ui/tremulous_human_hud.menu b/assets/ui/tremulous_human_hud.menu new file mode 100644 index 0000000..f2b4ca9 --- /dev/null +++ b/assets/ui/tremulous_human_hud.menu @@ -0,0 +1,379 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 + + menuDef + { + name "human_hud" + fullScreen MENU_FALSE + visible MENU_TRUE + rect 0 0 W H + aspectBias ASPECT_NONE + +#define COMMON_HUD_R 0.0 +#define COMMON_HUD_G 0.8 +#define COMMON_HUD_B 1.0 +#include "ui/tremulous_common_hud.h" + + ////////////////// + //STATIC OBJECTS// + ////////////////// + + //LEFT CIRCLE + itemDef + { + name "left-circle" + rect 35 417.5 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" + } + + //LEFT ARM + itemDef + { + name "left-arm" + rect 68.25 420 94.5 35 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/human/left-arm.tga" + } + + //CREDITS LABEL + itemDef + { + name "credits-label" + rect 508 403 7 7.5 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + style WINDOW_STYLE_SHADER + background "ui/assets/human/credits.tga" + } + + //RIGHT CIRCLE + itemDef + { + name "right-circle" + rect 580 417.5 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" + } + + //RIGHT ARM + itemDef + { + name "right-arm" + rect 477.25 420 94.5 35 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/human/right-arm.tga" + } + + //RIGHT CAP + itemDef + { + name "right-cap" + rect 500 400 80 15 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/human/right-cap.tga" + } + + /////////////////// + //DYNAMIC OBJECTS// + /////////////////// + + //BOLT + itemDef + { + name "bolt" + rect 40 420 15 20 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/bolt.tga" + ownerdraw CG_PLAYER_STAMINA_BOLT + } + + //CROSS + itemDef + { + name "cross" + rect 132.5 425 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_HEALTH_CROSS + } + + //STAMINA 1 + itemDef + { + name "stamina1" + rect 34.5 403.5 9 11.5 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/stamina1.tga" + ownerdraw CG_PLAYER_STAMINA_1 + } + + //STAMINA 2 + itemDef + { + name "stamina2" + rect 24 410.75 11.5 10.5 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/stamina2.tga" + ownerdraw CG_PLAYER_STAMINA_2 + } + + //STAMINA 3 + itemDef + { + name "stamina3" + rect 20.75 423.5 10.5 7 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/stamina3.tga" + ownerdraw CG_PLAYER_STAMINA_3 + } + + //STAMINA 4 + itemDef + { + name "stamina4" + rect 21 402.5 54 55 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.8 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/stamina4.tga" + ownerdraw CG_PLAYER_STAMINA_4 + } + + //RING + itemDef + { + name "ring" + //rect 20 402.5 55 55 // Guide for Stamina alignment + rect 565 402.5 55 55 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + backColor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.2 + background "ui/assets/human/ring.tga" + ownerdraw CG_PLAYER_CLIPS_RING + } + + //CREDITS + itemDef + { + name "credits" + rect 515 402 45 11.25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_CREDITS_VALUE + } + + //HEALTH + itemDef + { + name "health" + rect 67 430 60 15 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + ownerdraw CG_PLAYER_HEALTH + } + + //WEAPON ICON + itemDef + { + name "weapon" + rect 482.5 425 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_WEAPONICON + } + + //WEAPON SELECT TEXT + itemDef + { + name "selecttext" + rect 200 300 240 25 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + textScale .5 + ownerdraw CG_PLAYER_SELECTTEXT + textstyle ITEM_TEXTSTYLE_SHADOWED + } + + //AMMO + itemDef + { + name "ammo" + rect 507 430 53 15 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + ownerdraw CG_PLAYER_AMMO_VALUE + } + + //CLIPS + itemDef + { + name "clips" + rect 538 423 60 15 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + ownerdraw CG_PLAYER_CLIPS_VALUE + } + + //BUILD TIMER + itemDef + { + name "buildtimer" + rect 580 417.5 25 25 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + ownerdraw CG_PLAYER_BUILD_TIMER + } + + //USABLE + itemDef + { + name "usable" + rect 307.5 380 25 25 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + background "ui/assets/neutral/use.tga" + ownerdraw CG_PLAYER_USABLE_BUILDABLE + } + + //SCANNER + itemDef + { + name "scanner" + rect 164 340 312 72 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + background "ui/assets/human/scanner.tga" + ownerdraw CG_PLAYER_HUMAN_SCANNER + } + + //INVENTORY + itemDef + { + name "inventory" + rect 182.5 425 275 25 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_SELECT + } + + //CHARGE BAR + itemDef + { + name "charge" + rect 510 384 56 8 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.5 + ownerdraw CG_PLAYER_CHARGE_BAR + background "ui/assets/neutral/charge_cap_h.tga" + } + + //CHARGE BAR BG + itemDef + { + name "chargebg" + rect 506 380 64 16 + aspectBias ALIGN_RIGHT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + ownerdraw CG_PLAYER_CHARGE_BAR_BG + background "ui/assets/neutral/charge_bg_h.tga" + } + + //SELECTED + itemDef + { + name "selected" + rect 306 424 27 27 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/selected.tga" + } + + //TEAM OVERLAY + itemDef + { + name "teamoverlay" + rect BORDER 175 200 128 + style WINDOW_STYLE_EMPTY + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.75 + textscale 0.85 + ownerdraw CG_TEAMOVERLAY + } + } +} diff --git a/assets/ui/tremulous_humanarmoury.menu b/assets/ui/tremulous_humanarmoury.menu new file mode 100644 index 0000000..2df829f --- /dev/null +++ b/assets/ui/tremulous_humanarmoury.menu @@ -0,0 +1,189 @@ +#include "ui/menudef.h" + +{ + +#define W 550 +#define H 250 +#define BORDER 10 +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_LX BORDER +#define LIST_LY BORDER +#define LIST_RX (W-(BORDER+LIST_W)) +#define LIST_RY BORDER + +#define BUTT_H 25 +#define BUTT_Y (H-(BORDER+BUTT_H)) + +#define INFO_W (W-((4*BORDER)+(2*LIST_W))) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + +#define BUTT_X INFO_X +#define BUTT_W (INFO_W/3) + + menuDef + { + name "tremulous_humanarmoury" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen + { + uiScript LoadHumanArmouryBuys; + uiScript LoadHumanArmourySells; + setFocus list + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "buylist" + rect LIST_LX LIST_LY LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMHUMANARMOURYBUY + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + resetonfeederchange + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript BuyFromArmoury; + } + } + + itemDef + { + name "selllist" + rect LIST_RX LIST_RY LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMHUMANARMOURYSELL + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + resetonfeederchange + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript SellToArmoury; + } + } + + itemDef + { + name infopane + ownerdraw UI_HBUYINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "Buy" + text "Buy >" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect BUTT_X BUTT_Y BUTT_W BUTT_H + textalign ALIGN_LEFT + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript BuyFromArmoury; + } + } + + itemDef + { + name "Close" + text "Close" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (BUTT_X+BUTT_W) BUTT_Y BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + close tremulous_humanarmoury + } + } + + itemDef + { + name "Sell" + text "< Sell" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (BUTT_X+(2*BUTT_W)) BUTT_Y BUTT_W BUTT_H + textalign ALIGN_RIGHT + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript SellToArmoury; + } + } + } +} diff --git a/assets/ui/tremulous_humanbuild.menu b/assets/ui/tremulous_humanbuild.menu new file mode 100644 index 0000000..572957b --- /dev/null +++ b/assets/ui/tremulous_humanbuild.menu @@ -0,0 +1,135 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_humanbuild" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadHumanBuilds; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMHUMANBUILD + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript BuildHumanBuildable; + close tremulous_humanbuild + } + } + + itemDef + { + name infopane + ownerdraw UI_HBUILDINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + visible MENU_TRUE + decoration + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript BuildHumanBuildable; + close tremulous_humanbuild + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_humanbuild + } + } + } +} diff --git a/assets/ui/tremulous_humandialogs.menu b/assets/ui/tremulous_humandialogs.menu new file mode 100644 index 0000000..96ba08a --- /dev/null +++ b/assets/ui/tremulous_humandialogs.menu @@ -0,0 +1,98 @@ +#include "ui/menudef.h" + +{ + +#define W 280 +#define H 190 +#define BORDER 10 + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-(2*BORDER)) +#define INFO_H (H-((4*BORDER)+(2*BUTT_H))) +#define INFO_X BORDER +#define INFO_Y ((2*BORDER)+BUTT_H) +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_human_dialog" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_EMPTY + popup + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name human_dialog + text "Error" + type ITEM_TYPE_TEXT + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect BORDER BORDER INFO_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name human_dialog + type ITEM_TYPE_TEXT + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + cvar "ui_dialog" + wrapped + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .33 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + decoration + } + + itemDef + { + name human_dialog + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + close tremulous_human_dialog + } + } + } +} diff --git a/assets/ui/tremulous_humanitem.menu b/assets/ui/tremulous_humanitem.menu new file mode 100644 index 0000000..551334b --- /dev/null +++ b/assets/ui/tremulous_humanitem.menu @@ -0,0 +1,157 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_humanitem" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadHumanItems; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMHUMANITEMS + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript SpawnWithHumanItem; + close tremulous_humanitem + } + } + + itemDef + { + name infopane + ownerdraw UI_HITEMINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "Back" + text "< Back" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect ((2*BORDER)+LIST_W) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu4.wav"; + close tremulous_humanitem; + open tremulous_teamselect + } + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript SpawnWithHumanItem; + close tremulous_humanitem + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_humanitem + } + } + } +} diff --git a/assets/ui/tremulous_spectator_hud.menu b/assets/ui/tremulous_spectator_hud.menu new file mode 100644 index 0000000..b4a5ff1 --- /dev/null +++ b/assets/ui/tremulous_spectator_hud.menu @@ -0,0 +1,52 @@ +#include "ui/menudef.h" + +{ + +#define W 640 +#define H 480 + + menuDef + { + name "spectator_hud" + fullScreen MENU_FALSE + visible MENU_TRUE + rect 0 0 W H + aspectBias ASPECT_NONE + +#define COMMON_HUD_R 1.0 +#define COMMON_HUD_G 1.0 +#define COMMON_HUD_B 1.0 +#include "ui/tremulous_common_hud.h" + + ////////////////// + //STATIC OBJECTS// + ////////////////// + + //LEFT CIRCLE + itemDef + { + name "left-circle" + rect 35 417.5 25 25 + aspectBias ALIGN_LEFT + visible MENU_TRUE + decoration + forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B 0.25 + style WINDOW_STYLE_SHADER + background "ui/assets/neutral/circle.tga" + } + + //THZ SCANNER + itemDef + { + name "thzscanner" + //rect 10 125 200 200 // Original placement in thz + rect 440 220 200 200 + aspectBias ALIGN_CENTER + visible MENU_TRUE + decoration + //forecolor COMMON_HUD_R COMMON_HUD_G COMMON_HUD_B .5 + background "ui/assets/human/scanner.tga" + ownerdraw CG_PLAYER_THZ_SCANNER + } + } +} diff --git a/assets/ui/tremulous_teamselect.menu b/assets/ui/tremulous_teamselect.menu new file mode 100644 index 0000000..7051274 --- /dev/null +++ b/assets/ui/tremulous_teamselect.menu @@ -0,0 +1,136 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 250 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_teamselect" + visible MENU_FALSE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen { uiScript LoadTeams; setFocus list } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 1 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMTEAMS + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript JoinTeam; + close tremulous_teamselect + } + } + + itemDef + { + name infopane + ownerdraw UI_TEAMINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 1 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript JoinTeam; + close tremulous_teamselect + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_teamselect + } + } + } +} diff --git a/assets/ui/tremulous_voicecmd.menu b/assets/ui/tremulous_voicecmd.menu new file mode 100644 index 0000000..1b5ac8b --- /dev/null +++ b/assets/ui/tremulous_voicecmd.menu @@ -0,0 +1,140 @@ +#include "ui/menudef.h" + +{ + +#define W 450 +#define H 300 +#define BORDER 10 + +#define LIST_W 140 +#define LIST_H (H-(2*BORDER)) +#define LIST_X BORDER +#define LIST_Y BORDER + +#define BUTT_H 25 +#define BUTT_W 45 + +#define INFO_W (W-((3*BORDER)+LIST_W)) +#define INFO_H (H-((3*BORDER)+BUTT_H)) +#define INFO_X ((2*BORDER)+LIST_W) +#define INFO_Y BORDER +#define INFO_TOFF 6 + + menuDef + { + name "tremulous_voicecmd" + visible MENU_TRUE + fullscreen MENU_FALSE + outOfBoundsClick + rect (320-(W/2)) (240-(H/2)) W H + focusColor 1 .75 0 1 + style WINDOW_STYLE_FILLED + popup + onOpen + { + uiScript LoadVoiceCmds; + setFocus list + } + + itemDef + { + name window + rect 0 0 W H + style WINDOW_STYLE_FILLED + backcolor 0 0 0 .75 + visible MENU_TRUE + decoration + + border WINDOW_BORDER_FULL + borderSize 1.0 + borderColor 0.5 0.5 0.5 1 + } + + itemDef + { + name "list" + rect LIST_X LIST_Y LIST_W LIST_H + type ITEM_TYPE_LISTBOX + style WINDOW_STYLE_EMPTY + elementwidth 120 + elementheight 20 + textscale .33 + elementtype LISTBOX_TEXT + feeder FEEDER_TREMVOICECMD + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 .75 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + doubleclick + { + play "sound/misc/menu1.wav"; + uiScript ExecuteVoiceCmd; + close tremulous_voicecmd + } + } + + itemDef + { + name infopane + ownerdraw UI_VOICECMDINFOPANE + textstyle ITEM_TEXTSTYLE_NORMAL + style WINDOW_STYLE_EMPTY + rect INFO_X INFO_Y INFO_W INFO_H + textscale .33 + textalign ALIGN_LEFT + textvalign VALIGN_TOP + textalignx INFO_TOFF + textaligny INFO_TOFF + border WINDOW_BORDER_FULL + bordercolor 0.5 0.5 0.5 0.5 + forecolor 1 1 1 1 + backcolor 0.2 0.2 0.2 .75 + outlinecolor 0.1 0.1 0.1 0.5 + visible MENU_TRUE + decoration + } + + itemDef + { + name "OKCancel" + text "OK" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-((2*BORDER)+(2*BUTT_W))) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu1.wav"; + uiScript ExecuteVoiceCmd; + close tremulous_voicecmd + } + } + + itemDef + { + name "OKCancel" + text "Cancel" + type ITEM_TYPE_BUTTON + style WINDOW_STYLE_EMPTY + rect (W-(BORDER+BUTT_W)) (H-(BORDER+BUTT_H)) BUTT_W BUTT_H + textalign ALIGN_CENTER + textvalign VALIGN_CENTER + textscale .4 + forecolor 1 1 1 1 + backcolor .5 0 0 .25 + visible MENU_TRUE + action + { + play "sound/misc/menu3.wav"; + close tremulous_voicecmd + } + } + } +} -- cgit