diff options
Diffstat (limited to 'assets/ui')
49 files changed, 10692 insertions, 0 deletions
diff --git a/assets/ui/assets/alien/buildstat.cfg b/assets/ui/assets/alien/buildstat.cfg new file mode 100755 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/human/buildstat.cfg b/assets/ui/assets/human/buildstat.cfg new file mode 100755 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 100755 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 100755 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 100755 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 100755 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/download.menu b/assets/ui/download.menu new file mode 100755 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 100755 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 100755 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 100755 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/help.txt b/assets/ui/help.txt new file mode 100755 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 100755 index 0000000..ed3aa43 --- /dev/null +++ b/assets/ui/hud.txt @@ -0,0 +1,11 @@ +// hud menu defs +// +{ +  loadMenu { "ui/tremulous_human_hud.menu" } +  loadMenu { "ui/tremulous_alien_builder_hud.menu" } +  loadMenu { "ui/tremulous_alien_general_hud.menu" } +  loadMenu { "ui/tremulous_default_hud.menu" } + +  loadMenu { "ui/teamscore.menu" } +  loadMenu { "ui/loading.menu" } +} diff --git a/assets/ui/ingame.menu b/assets/ui/ingame.menu new file mode 100755 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 100755 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 100755 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 100755 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 100755 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 100755 index 0000000..f9f1478 --- /dev/null +++ b/assets/ui/ingame_options.menu @@ -0,0 +1,2359 @@ +#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"; +      } +    } +//////// 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" +      } +    } +  } +} diff --git a/assets/ui/joinserver.menu b/assets/ui/joinserver.menu new file mode 100755 index 0000000..45113f6 --- /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 4; + +        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 1; + +        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 2; + +        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 3; + +        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+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 +        (LIST_TOFF+((SERVER_C)*LIST_W))                        ((GAME_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 100755 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 100755 index 0000000..daae38a --- /dev/null +++ b/assets/ui/main.menu @@ -0,0 +1,189 @@ +#include "ui/menudef.h" + +{ +  assetGlobalDef +  { +    font "fonts/font" 26        // font +    smallFont "fonts/smallfont" 20        // font +    bigFont "fonts/bigfont" 34        // font +    cursor "ui/assets/3_cursor3"      // cursor +    gradientBar "ui/assets/gradientbar2.tga"  // gradient bar +    itemFocusSound "sound/misc/menu2.wav"   // sound for item getting focus (via keyboard or mouse ) + +    fadeClamp 1.0         // sets the fadeup alpha +    fadeCycle 1         // how often fade happens in milliseconds +    fadeAmount 0.1          // amount to adjust alpha per cycle + +    shadowColor 0.1 0.1 0.1 0.25      // shadow color +  } + + + + + +  menuDef +  { +    name main +    fullScreen MENU_TRUE +    rect 0 0 640 480        // Size and position of the menu +    visible MENU_TRUE       // Visible on open +    focusColor 1 .75 0 1        // Menu focus color for text and items +    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      536 +#define Y      20 +#define W      64 +#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 mainmenu +      text "Mods" +      type ITEM_TYPE_BUTTON +      style WINDOW_STYLE_EMPTY +      textstyle ITEM_TEXTSTYLE_NORMAL +      textscale .416 +      rect X (Y+(4*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 mod +      } +    } + +    itemDef +    { +      name mainmenu +      text "Quit" +      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 quit_popmenu +      } +    } + +    itemDef +    { +      name copyright +      type ITEM_TYPE_TEXT +      text "Tremulous (C) 2005-2009 darklegion development" +      style WINDOW_STYLE_EMPTY +      textstyle ITEM_TEXTSTYLE_NORMAL +      textscale .25 +      rect 0 450 640 10 +      textalign ALIGN_CENTER +      forecolor .75 .75 .75 .75 +      visible MENU_TRUE +      decoration +    } +  } +} diff --git a/assets/ui/menudef.h b/assets/ui/menudef.h new file mode 100755 index 0000000..cd30f77 --- /dev/null +++ b/assets/ui/menudef.h @@ -0,0 +1,223 @@ +#ifndef MENUDEF_H +#define MENUDEF_H + +enum +{ +  ITEM_TYPE_ANY = -1,     // invalid type +  ITEM_TYPE_NONE,         // no specified type +  ITEM_TYPE_TEXT,         // simple text +  ITEM_TYPE_BUTTON,       // button, basically text with a border +  ITEM_TYPE_RADIOBUTTON,  // toggle button, may be grouped +  ITEM_TYPE_CHECKBOX,     // check box +  ITEM_TYPE_EDITFIELD,    // editable text, associated with a cvar +  ITEM_TYPE_SAYFIELD,     // the chat field +  ITEM_TYPE_CYCLE,        // cycling list +  ITEM_TYPE_LISTBOX,      // scrollable list +  ITEM_TYPE_COMBOBOX,     // drop down scrollable list +  ITEM_TYPE_MODEL,        // model +  ITEM_TYPE_OWNERDRAW,    // owner draw, has an associated ownerdraw number +  ITEM_TYPE_NUMERICFIELD, // editable text, associated with a cvar +  ITEM_TYPE_SLIDER,       // mouse speed, volume, etc. +  ITEM_TYPE_YESNO,        // boolean cvar setting +  ITEM_TYPE_MULTI,        // multiple list setting, enumerated +  ITEM_TYPE_BIND          // keyboard control configuration +}; + +// The first items in these enums are the defaults if menus do not specify +enum +{ +  ALIGN_LEFT,   // left alignment +  ALIGN_CENTER, // center alignment +  ALIGN_RIGHT,  // right alignment +  ASPECT_NONE,  // no aspect compensation +  ALIGN_NONE +}; + +enum +{ +  VALIGN_BOTTOM, // bottom alignment +  VALIGN_CENTER, // center alignment +  VALIGN_TOP,    // top alignment +  VALIGN_NONE +}; + +enum +{ +  ITEM_TEXTSTYLE_NORMAL,          // normal text +  ITEM_TEXTSTYLE_BLINK,           // fast blinking +  ITEM_TEXTSTYLE_PULSE,           // slow pulsing +  ITEM_TEXTSTYLE_SHADOWED,        // drop shadow (need a color for this) +  ITEM_TEXTSTYLE_OUTLINED,        // apparently unimplemented +  ITEM_TEXTSTYLE_OUTLINESHADOWED, // apparently unimplemented +  ITEM_TEXTSTYLE_SHADOWEDMORE,    // drop shadow (need a color for this) +  ITEM_TEXTSTYLE_NEON             // glow (need a color for this) +}; + +enum +{ +  WINDOW_BORDER_NONE,      // no border +  WINDOW_BORDER_FULL,      // full border based on border color (single pixel) +  WINDOW_BORDER_HORZ,      // horizontal borders only +  WINDOW_BORDER_VERT,      // vertical borders only +  WINDOW_BORDER_KCGRADIENT // horizontal border using the gradient bars +}; + +enum +{ +  WINDOW_STYLE_EMPTY,     // no background +  WINDOW_STYLE_FILLED,    // filled with background color +  WINDOW_STYLE_GRADIENT,  // gradient bar based on background color +  WINDOW_STYLE_SHADER,    // use background shader +  WINDOW_STYLE_TEAMCOLOR, // team color +  WINDOW_STYLE_CINEMATIC  // cinematic +}; + +#define MENU_TRUE                         1     // uh.. true +#define MENU_FALSE                        0     // and false + +enum +{ +  HUD_VERTICAL, +  HUD_HORIZONTAL +}; + +// list box element types +enum +{ +  LISTBOX_TEXT, +  LISTBOX_IMAGE +}; + +// list feeders +enum +{ +  FEEDER_SERVERS,        // servers +  FEEDER_MAPS,           // all maps available, in graphic format +  FEEDER_ALIENTEAM_LIST, // alien team members +  FEEDER_HUMANTEAM_LIST, // human team members +  FEEDER_TEAM_LIST,      // team members for team voting +  FEEDER_PLAYER_LIST,    // players +  FEEDER_NEWS,           // news +  FEEDER_MODS,           // list of available mods +  FEEDER_DEMOS,          // list of available demo files +  FEEDER_SERVERSTATUS,   // server status +  FEEDER_FINDPLAYER,     // find player +  FEEDER_CINEMATICS,     // cinematics + +  FEEDER_TREMTEAMS,            // teams +  FEEDER_TREMALIENCLASSES,     // alien classes +  FEEDER_TREMHUMANITEMS,       // human items +  FEEDER_TREMHUMANARMOURYBUY,  // human buy +  FEEDER_TREMHUMANARMOURYSELL, // human sell +  FEEDER_TREMALIENUPGRADE,     // alien upgrade +  FEEDER_TREMALIENBUILD,       // alien buildables +  FEEDER_TREMHUMANBUILD,       // human buildables +  FEEDER_IGNORE_LIST,          // ignored players +  FEEDER_HELP_LIST,            // help topics +  FEEDER_RESOLUTIONS           // display resolutions +}; + +// display flags +#define UI_SHOW_FAVORITESERVERS           0x00000001 +#define UI_SHOW_NOTFAVORITESERVERS        0x00000002 + +#define UI_SHOW_VOTEACTIVE                0x00000004 +#define UI_SHOW_CANVOTE                   0x00000008 +#define UI_SHOW_TEAMVOTEACTIVE            0x00000010 +#define UI_SHOW_CANTEAMVOTE               0x00000020 + +#define UI_SHOW_NOTSPECTATING             0x00000040 + +// owner draw types +enum +{ +  CG_PLAYER_HEALTH, +  CG_PLAYER_HEALTH_CROSS, +  CG_PLAYER_AMMO_VALUE, +  CG_PLAYER_CLIPS_VALUE, +  CG_PLAYER_BUILD_TIMER, +  CG_PLAYER_CREDITS_VALUE, +  CG_PLAYER_CREDITS_VALUE_NOPAD, +  CG_PLAYER_STAMINA, +  CG_PLAYER_STAMINA_1, +  CG_PLAYER_STAMINA_2, +  CG_PLAYER_STAMINA_3, +  CG_PLAYER_STAMINA_4, +  CG_PLAYER_STAMINA_BOLT, +  CG_PLAYER_BOOST_BOLT, +  CG_PLAYER_CLIPS_RING, +  CG_PLAYER_BUILD_TIMER_RING, +  CG_PLAYER_SELECT, +  CG_PLAYER_SELECTTEXT, +  CG_PLAYER_WEAPONICON, +  CG_PLAYER_WALLCLIMBING, +  CG_PLAYER_BOOSTED, +  CG_PLAYER_POISON_BARBS, +  CG_PLAYER_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, + +  UI_NETSOURCE, +  UI_NETMAPPREVIEW, +  UI_NETMAPCINEMATIC, +  UI_SERVERREFRESHDATE, +  UI_SERVERMOTD, +  UI_GLINFO, +  UI_KEYBINDSTATUS, +  UI_SELECTEDMAPPREVIEW, +  UI_SELECTEDMAPNAME, + +  UI_TEAMINFOPANE, +  UI_ACLASSINFOPANE, +  UI_AUPGRADEINFOPANE, +  UI_HITEMINFOPANE, +  UI_HBUYINFOPANE, +  UI_HSELLINFOPANE, +  UI_ABUILDINFOPANE, +  UI_HBUILDINFOPANE, +  UI_HELPINFOPANE +}; + +#endif diff --git a/assets/ui/menus.txt b/assets/ui/menus.txt new file mode 100755 index 0000000..d0d9537 --- /dev/null +++ b/assets/ui/menus.txt @@ -0,0 +1,21 @@ +// 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.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" } +} diff --git a/assets/ui/mod.menu b/assets/ui/mod.menu new file mode 100755 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 100755 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 100755 index 0000000..af9b22d --- /dev/null +++ b/assets/ui/options.menu @@ -0,0 +1,311 @@ +#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 "Video Quality:" +      cvar "ui_glCustom" +      cvarFloatList { "High Quality" 0 "Normal" 1 "Fast" 2 "Fastest" 3 "Custom" 4 } +      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"; +        uiScript update "ui_glCustom" +      } +    } + +    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 100755 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 100755 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 100755 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 100755 index 0000000..a52f2ed --- /dev/null +++ b/assets/ui/say.menu @@ -0,0 +1,137 @@ +#include "ui/menudef.h" + +{ + +#define BORDER    10 + +#define X         BORDER +#define Y         BORDER +#define W         (600-(2*BORDER)) +#define H         (480-(2*BORDER)) + +  // Say to All +  menuDef +  { +    name say +    fullScreen MENU_FALSE +    visible MENU_FALSE +    rect X Y 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 MENU_TRUE +      onCharEntry +      { +        uiScript SayKeyDown; +      } +      onTextEntry +      { +        uiScript Say; +        close say; +      } +    } +  } + +  // Say to Team +  menuDef +  { +    name say_team +    fullScreen MENU_FALSE +    visible MENU_FALSE +    rect X Y 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 MENU_TRUE +      onCharEntry +      { +        uiScript SayKeyDown; +      } +      onTextEntry +      { +        uiScript Say; +        close say_team; +      } +    } +  } +   +  // Command +  menuDef +  { +    name say_command +    fullScreen MENU_FALSE +    visible MENU_FALSE +    rect X Y 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 MENU_TRUE +      onCharEntry +      { +        uiScript SayKeyDown; +      } +      onTextEntry +      { +        uiScript Say; +        close say_command; +      } +    } +  } +} diff --git a/assets/ui/serverinfo.menu b/assets/ui/serverinfo.menu new file mode 100755 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 100755 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 100755 index 0000000..7968411 --- /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/say.menu" } +} diff --git a/assets/ui/tremulous_alien_builder_hud.menu b/assets/ui/tremulous_alien_builder_hud.menu new file mode 100755 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 100755 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 100755 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 100755 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 100755 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 100755 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 100755 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 100755 index 0000000..662a2bc --- /dev/null +++ b/assets/ui/tremulous_common_hud.h @@ -0,0 +1,224 @@ +#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)) + +//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 BORDER 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 +} + diff --git a/assets/ui/tremulous_default_hud.menu b/assets/ui/tremulous_default_hud.menu new file mode 100755 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 100755 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 100755 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 100755 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 100755 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 100755 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 100755 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_teamselect.menu b/assets/ui/tremulous_teamselect.menu new file mode 100755 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 +      } +    } +  } +}  | 
