reaction/uifiles/joinserver.menu
2013-01-04 13:27:22 +00:00

383 lines
8.2 KiB
Text

#include "ui/menudef.h"
#define ICON_ALPHA 0.5
#define LINE_ALPHA 0.2
#define FADEIN_TIME 125
#define HINT_COLOR .25 .25 .25
#define HINT_FADE_TIME 125
#define TEXT_COLOR 0 0 0
#define ANGLES 7 -83
#define BEGIN_HINT(HINT_NAME)\
itemdef { \
name HINT_NAME \
autowrapped \
group "hints" \
subgroup "fade_alpha" \
forecolor HINT_COLOR 1 \
textalign ITEM_ALIGN_LEFT \
textalignx 6 \
textaligny 10 \
textscale .2 \
alignrect "line" ITEM_ALIGN_LEFT 0 8 460 40 \
style WINDOW_STYLE_EMPTY \
visible 0 \
decoration
#define ASSIGN_HINT(HINT_NAME)\
onFocus { show HINT_NAME ; timeFade HINT_NAME forecolor 5 5 5 1 0 HINT_FADE_TIME } \
leaveFocus { timeFade HINT_NAME forecolor 5 5 5 0 0 HINT_FADE_TIME }
#define BUTTON_DIMX 122
#define BUTTON_DIMY 16
#define BUTTON_SPACEX 8
#define BUTTON_SPACEY 4
#define BEGIN_CONTROL(row, idx, caption)\
itemdef { \
style WINDOW_STYLE_EMPTY \
alignrect "serverlist_window" ITEM_ALIGN_LEFT $evalint((idx-1)*(BUTTON_DIMX+BUTTON_SPACEX)) $evalint((row-1)*(BUTTON_DIMY+BUTTON_SPACEY)+220) BUTTON_DIMX BUTTON_DIMY \
text caption \
textscale .225 \
textalign ITEM_ALIGN_LEFT \
textaligny 14 \
forecolor TEXT_COLOR 1 \
visible 1
#define BEGIN_BUTTON(row, idx, caption)\
BEGIN_CONTROL(row, idx, caption) \
type ITEM_TYPE_BUTTON \
textalignx 8
#define ADD_HEADER(idx, pos, size, caption) \
itemdef { \
name "col"#idx"_title" \
type ITEM_TYPE_BUTTON \
subgroup "fade_fore_alpha" \
text caption \
forecolor TEXT_COLOR 1 \
style WINDOW_STYLE_EMPTY \
textalign ITEM_ALIGN_LEFT \
textscale .2 \
textalignx 4 \
textaligny 14 \
alignRect serverlist_window ITEM_ALIGN_LEFT pos -16 size 16 \
visible 1 \
ASSIGN_HINT(Hint_Col##idx) \
action { uiScript ServerSort $evalint(idx-1) } \
}
{
menuDef {
renderpoint
name "joinserver"
visible MENU_FALSE // Visible on open
//fullScreen MENU_FALSE
focusColor RQ3_MAIN_FOCUSCOLOR // Menu focus color for text and items
rect 48 44 560 440
anglevectors ANGLES
style WINDOW_STYLE_EMPTY
popup
onOOBClick { close _self ; open main }
onOpen { play "sound/ui/whoosh3.wav" ; uiScript "UpdateFilter" ;
setitemcolor hints forecolor HINT_COLOR 1 ; hide "hints" ;
}
onESC { uiScript closeJoin }
onOpenSpecial {
//normal items
setItemColor "fade_fore_alpha" forecolor 5 5 5 0 ;
timeFade "fade_fore_alpha" forecolor 5 5 5 1 0 FADEIN_TIME ;
//icon - special alpha
setItemColor "icon" forecolor 5 5 5 0 ;
timeFade "icon" forecolor 5 5 5 ICON_ALPHA 0 FADEIN_TIME ;
//line - special alpha; using backcolor
setItemColor "line" backcolor 5 5 5 0 ;
timeFade "line" backcolor 5 5 5 LINE_ALPHA 0 FADEIN_TIME ;
}
itemDef {
name "paper"
menuAnchor
subgroup "fade_fore_alpha"
style WINDOW_STYLE_SHADER
background UI_ASSETS"/paper_2"
forecolor MENUCOLOR_MOD 1
rect -44 -60 640 696
anglevectors ANGLES
visible 1
decoration
}
//Title
itemdef {
renderpoint
name "title"
subgroup "fade_fore_alpha"
text "Join game:"
forecolor .0 .0 .1 1
style WINDOW_STYLE_EMPTY
textalign ITEM_ALIGN_LEFT
textalignx 4
textaligny 24
textscale RQ3_MAIN_TEXTSIZE
alignRect paper ITEM_ALIGN_LEFT 72 88 480 20
visible 1
autowrapped
decoration
}
// Server Refresh Date //
itemdef {
ownerdraw UI_SERVERREFRESHDATE
style WINDOW_STYLE_EMPTY
alignrect "title" ITEM_ALIGN_LEFT 0 28 480 16
textscale .2
textalign ITEM_ALIGN_LEFT
textalignx 6
textaligny 14
forecolor .25 .25 .25 1
decoration
visible 1
}
//Line
itemDef {
name "line"
style WINDOW_STYLE_FILLED
backcolor .25 .25 .25 LINE_ALPHA
alignrect "title" ITEM_ALIGN_LEFT 0 48 488 2
visible 1
decoration
}
// GO //
itemdef {
name "btn_run"
subgroup "fade_fore_alpha"
text "> ^_G^_O <"
shortcutKey "G"
forecolor .5 0 0 1
type ITEM_TYPE_BUTTON
style WINDOW_STYLE_EMPTY
textalign ITEM_ALIGN_RIGHT
textscale .25
textalignx 36
textaligny 14
alignRect line ITEM_ALIGN_RIGHT 0 -28 40 24
visible 1
autowrapped
ASSIGN_HINT(Hint_GoPlay)
action { uiScript JoinServer }
}
BEGIN_HINT(Hint_GoPlay)
text "Click to play on the chosen server"
}
BEGIN_HINT(Hint_ServerInfo)
text "Click to view detailed information about the selected server"
}
BEGIN_HINT(Hint_Select)
text "Select a server from the list and click ^1GO^* to join the action"
}
BEGIN_HINT(Hint_Password)
text "Click to enter a password to join a private server"
}
BEGIN_HINT(Hint_Specify)
text "Click to specify a server to connect to"
}
BEGIN_HINT(Hint_Find)
text "Click to find a specific player"
}
BEGIN_HINT(Hint_AddFavorite)
text "Click to add the selected server to the Favorites list"
}
BEGIN_HINT(Hint_DelFavorite)
text "Click to delete the selected favorite"
}
BEGIN_HINT(Hint_NewFavorite)
text "Click to specify a new favorite"
}
BEGIN_HINT(Hint_Source)
text "Select the source from which to search for servers"
}
BEGIN_HINT(Hint_NewList)
text "Click to reload the list from the selected source, whether it is Local, Internet or Favorites"
}
BEGIN_HINT(Hint_RefreshList)
text "Click to refresh the current server list"
}
BEGIN_HINT(Hint_ServerEmpty)
text "Enable to show empty servers on the list"
}
BEGIN_HINT(Hint_ServerFull)
text "Enable to show full servers on the list"
}
// column headers //
BEGIN_HINT(Hint_Col1)
text "Click to sort servers by name"
}
BEGIN_HINT(Hint_Col2)
text "Click to sort servers by map name"
}
BEGIN_HINT(Hint_Col3)
text "Click to sort servers by number of players"
}
BEGIN_HINT(Hint_Col4)
text "Click to sort servers by game type"
}
BEGIN_HINT(Hint_Col5)
text "Click to sort servers by ping time"
}
itemdef {
name serverlist_window
group serverlist
alignrect title ITEM_ALIGN_LEFT 0 96 488 212
//rect 20 96 600 212
LISTBOX_STYLE(.2, 4)
feeder FEEDER_SERVERS
visible 1
columndef 5
4 240
4 72
4 40
4 56
4 48
//mouseenter { setitemcolor serverlist bordercolor .7 0 0 1 }
//mouseexit { setitemcolor serverlist bordercolor .5 .5 .5 1 }
//onFocus { show serverlist_hint ; timeFade serverlist_hint forecolor .9 .9 .9 1 0 250 }
//leaveFocus { timeFade serverlist_hint forecolor .9 .9 .9 0 0 250 }
ASSIGN_HINT(Hint_Select)
doubleClick { close _self; uiScript JoinServer }
}
ADD_HEADER(1, 008, 72, "server name")
ADD_HEADER(2, 250, 64, "map name")
ADD_HEADER(3, 328, 40, "plyrs")
ADD_HEADER(4, 372, 40, "type")
ADD_HEADER(5, 432, 40, "ping")
// ROW 1 //
BEGIN_BUTTON(1, 1, "^_S^_erver info...")
action { open "serverinfo_popmenu" }
shortcutKey "S"
ASSIGN_HINT(Hint_ServerInfo)
}
BEGIN_BUTTON(1, 2, "^_P^_assword...")
action { open "password_popmenu" }
shortcutKey "P"
ASSIGN_HINT(Hint_Password)
}
BEGIN_BUTTON(1, 3, "^_C^_onnect to...")
action { open "specify_popmenu" }
shortcutKey "C"
ASSIGN_HINT(Hint_Specify)
}
BEGIN_BUTTON(1, 4, "^_F^_ind a player...")
action { open "findplayer_popmenu" }
shortcutKey "F"
ASSIGN_HINT(Hint_Find)
}
// ROW 2 //
BEGIN_BUTTON(2, 1, "^_A^_dd Favorite")
action { play "sound/ui/whoosh3.wav" ; uiScript AddFavorite ; uiScript UpdateFilter }
shortcutKey "A"
ASSIGN_HINT(Hint_AddFavorite)
}
BEGIN_BUTTON(2, 2, "^_D^_el. Favorite")
action { play "sound/ui/whoosh3.wav" ; uiScript DeleteFavorite ; uiScript UpdateFilter }
shortcutKey "D"
ASSIGN_HINT(Hint_DelFavorite)
}
BEGIN_BUTTON(2, 3, "^_N^_ew Favorite...")
action { open "createfavorite_popmenu" }
shortcutKey "N"
ASSIGN_HINT(Hint_NewFavorite)
}
BEGIN_CONTROL(2, 4, "")
ownerdraw UI_NETSOURCE
textalignx 8
action { play "sound/ui/whoosh3.wav" }
ASSIGN_HINT(Hint_Source)
}
// ROW 3 //
BEGIN_BUTTON(3, 1, "^_G^_et New List")
action { play "sound/ui/whoosh3.wav" ; uiScript RefreshServers }
shortcutKey "G"
ASSIGN_HINT(Hint_NewList)
}
BEGIN_BUTTON(3, 2, "^_R^_efresh List")
action { play "sound/ui/whoosh3.wav" ; uiScript RefreshFilter }
shortcutKey "R"
ASSIGN_HINT(Hint_RefreshList)
}
BEGIN_CONTROL(3, 3, "View ^_E^_mpty:")
type ITEM_TYPE_YESNO
cvar "ui_browserShowEmpty"
textalignx 8
action { play "sound/ui/whoosh3.wav" ; uiScript RefreshFilter }
shortcutKey "V"
ASSIGN_HINT(Hint_ServerEmpty)
}
BEGIN_CONTROL(3, 4, "^_V^_iew Full:")
type ITEM_TYPE_YESNO
cvar "ui_browserShowFull"
textalignx 8
action { play "sound/ui/whoosh3.wav" ; uiScript RefreshFilter }
shortcutKey "V"
ASSIGN_HINT(Hint_ServerFull)
}
}