mirror of
https://github.com/ReactionQuake3/reaction.git
synced 2024-12-01 08:31:59 +00:00
383 lines
8.2 KiB
Text
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)
|
|
}
|
|
|
|
|
|
}
|