t5_bot_warfare/mods/patch_mp/ui_mp/serverbrowser.menu
2021-02-18 13:53:14 -06:00

577 lines
24 KiB
Plaintext

#include "ui/menudef.h"
#include "ui_mp/common_macro.inc"
#include "ui/framestyle.inc"
#include "ui_mp/newframe.inc"
#include "ui_mp/serverbrowser.inc";
#include "ui_mp/menustyle.inc"
#include "ui/choices_setup_common.menu"
#include "ui_mp/item_animate.inc"
#define SERVER_BROWSER_HEIGHT 420
#define SERVER_BROWSER_WIDTH TABLE_WIDTH
#define SERVER_BROWSER_BODY_X_START ( -SERVER_BROWSER_WIDTH / 2 + 15 )
#define SERVER_BROWSER_BODY_Y_START ( -SERVER_BROWSER_HEIGHT / 2 + 15 + NEW_FRAME_HEADER_HEIGHT )
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER
#undef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER
#define FLYOUT_NONE 0
#define FLYOUT_BROWSER 3
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#define TAB_OPEN( menuName ) \
execNow closemenuImmediate (dvarstring("ui_serverBrowserMenu")); \
execNow openMenuImmediate (menuName); \
#undef ORIGIN_TITLE
#define ORIGIN_TITLE 10 0
#define CHOICE_TAB_TEXTSIZE TEXTSIZE_DEFAULT
#define TAB_1_TEXT ( locString( "@MENU_JOIN_SERVER_RANKED_CAPS" ) )
#define TAB_2_TEXT ( locString( "@MENU_JOIN_SERVER_UNRANKED_CAPS" ) )
#define TAB_3_TEXT ( locString( "@MENU_JOIN_SERVER_WAGER_CAPS" ) )
#define TAB_4_TEXT ( locString( "@MENU_JOIN_SERVER_FRIENDS_CAPS" ) )
#define TAB_5_TEXT ( locString( "@MENU_JOIN_SERVER_FAVORITES_CAPS" ) )
#define TAB_6_TEXT ( locString( "@MENU_JOIN_SERVER_HISTORY_CAPS" ) )
#define TAB_BG_PAD 5
#define TAB_1_WIDTH ( getTextWidth( TAB_1_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_2_WIDTH ( getTextWidth( TAB_2_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_3_WIDTH ( getTextWidth( TAB_3_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_4_WIDTH ( getTextWidth( TAB_4_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_5_WIDTH ( getTextWidth( TAB_5_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_6_WIDTH ( getTextWidth( TAB_6_TEXT, CHOICE_TEXTFONT, TEXTSIZE_SMALL ) + (TAB_BG_PAD*2) )
#define TAB_HEIGHT 15
#define SERVER_BROWSER_TAB_1_X 9
#define SERVER_BROWSER_TAB_2_X ( SERVER_BROWSER_TAB_1_X + TAB_1_WIDTH )
#define SERVER_BROWSER_TAB_3_X ( SERVER_BROWSER_TAB_2_X + TAB_2_WIDTH )
#define SERVER_BROWSER_TAB_4_X ( SERVER_BROWSER_TAB_3_X + TAB_3_WIDTH )
#define SERVER_BROWSER_TAB_5_X ( SERVER_BROWSER_TAB_4_X + TAB_4_WIDTH )
#define SERVER_BROWSER_TAB_6_X ( SERVER_BROWSER_TAB_5_X + TAB_5_WIDTH )
#define SERVER_BROWSER_TAB_Y ( ( -SERVER_BROWSER_HEIGHT / 2 ) + NEW_FRAME_HEADER_HEIGHT - TAB_HEIGHT + 1 )
#define TAB( x, tabWidth, textArg, menuName, selected ) \
PREPROC_TEXT_DRAW_ADV_VIS_EX( ( -SERVER_BROWSER_WIDTH / 2 + x ), \
SERVER_BROWSER_TAB_Y, \
tabWidth, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_CENTER, \
textArg, TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
NEW_FRAME_GRAY_TEXT_COLOR, when( !selected ), TAB_MOUSEOVER_HIGHLIGHT; ) \
PREPROC_TEXT_DRAW_ADV_VIS_EX( ( -SERVER_BROWSER_WIDTH / 2 + x ), \
SERVER_BROWSER_TAB_Y, \
tabWidth, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_CENTER, \
textArg, TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
NEW_FRAME_ORANGE_RGB 1, when( selected ), ; ) \
TAB_ACTION_BUTTON_ADV( ( -SERVER_BROWSER_WIDTH / 2 + x ), \
( -SERVER_BROWSER_HEIGHT / 2 + NEW_FRAME_HEADER_HEIGHT - TAB_HEIGHT ), \
tabWidth, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_CENTER, \
TAB_OPEN( menuName ), 1, ; ) \
#define SERVER_BROWSER_TAB_BG( px, tabWidth, selected ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
frame 16 0.2 FRAME_OPEN_BOTTOM \
rect 0 SERVER_BROWSER_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
exp rect X( ( -SERVER_BROWSER_WIDTH / 2 + px ) ) \
exp rect W( tabWidth ) \
background "menu_mp_tab_frame_inner" \
forecolor 0.5 0.5 0.5 0.5 \
visible when( selected ) \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
frame 16 0.2 FRAME_OPEN_BOTTOM \
rect 0 SERVER_BROWSER_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
exp rect X( ( -SERVER_BROWSER_WIDTH / 2 + px ) ) \
exp rect W( tabWidth ) \
background "menu_mp_tab_frame_inner" \
forecolor 1 1 1 1 \
visible when( !selected ) \
decoration \
}
#define ON_ESC \
if( menuisopen( filter_window ) ) \
{ \
close filter_window; \
} \
else \
{ \
close self; \
}
#define SERVER_BROWSER_MENU_TEMPLATE( menuName, onOpenArg, onCloseArg ) \
name menuName \
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN \
focuscolor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
priority MENU_PRI_DEFAULT \
soundloop MENU_MUSIC \
openSlideSpeed DEFAULT_SLIDE_IN_SPEED \
closeSlideSpeed DEFAULT_SLIDE_OUT_SPEED \
openSlideDirection MENU_SLIDE_DIRECTION_TOP_TO_BOTTOM \
closeSlideDirection MENU_SLIDE_DIRECTION_TOP_TO_BOTTOM \
onFocus { \
setDvar ui_flyoutHasFocus FLYOUT_BROWSER; \
} \
onOpen { \
activateBlur; \
play uin_navigation_menu_lg_open; \
setdvar ui_serverBrowserMenu menuName; \
onOpenArg; \
uiScript PopulateServers; \
} \
onClose { \
execNow ui_animate menuName Browser "Maximized" DEFAULT_SLIDE_OUT_SPEED; \
deactivateBlur; \
onCloseArg; \
setDvar ui_flyoutHasFocus FLYOUT_NONE; \
execNow closemenuImmediate (filter_window); \
} \
onEsc { \
ON_ESC \
} \
execKeyInt 171 { \
uiScript RefreshServers; \
} \
#define GLOBAL_SERVER_COUNT \
PREPROC_TEXT_DRAW( (SERVER_BROWSER_WIDTH/2-7) (-SERVER_BROWSER_HEIGHT/2+2) 1 1 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0, ( locString( "@PLATFORM_PLAYERS_ONLINE", GetPlayersRegisteredOnline() ) ), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_TOP_RIGHT, 1 1 1 1 ) \
PREPROC_TEXT_DRAW( (SERVER_BROWSER_WIDTH/2-7) (-SERVER_BROWSER_HEIGHT/2+20) 1 1 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0, ( locString( "@PLATFORM_ALL_SERVERS", GetDedicatedServersRegisteredOnline() ) ), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_TOP_RIGHT, 1 1 1 1 )
// Don't let keys fall through to the main menu.
#define MASSIVE_HACK_KEYCATCHER \
itemDef \
{ \
style WINDOW_STYLE_EMPTY \
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN \
forecolor 1 1 1 0 \
visible 1 \
}
#define SERVER_BROWSER_TAB_COMMON_ITEMS( selectedTabIndex ) \
MASSIVE_HACK_KEYCATCHER \
NEW_FRAME( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT ) \
NEW_FRAME_TITLE( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, "@MENU_SERVER_BROWSER_CAPS", 1 ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_1_X, TAB_1_WIDTH, ( selectedTabIndex == 1 ) ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_2_X, TAB_2_WIDTH, ( selectedTabIndex == 2 ) ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_3_X, TAB_3_WIDTH, ( selectedTabIndex == 3 ) ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_4_X, TAB_4_WIDTH, ( selectedTabIndex == 4 ) ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_5_X, TAB_5_WIDTH, ( selectedTabIndex == 5 ) ) \
SERVER_BROWSER_TAB_BG( SERVER_BROWSER_TAB_6_X, TAB_6_WIDTH, ( selectedTabIndex == 6 ) ) \
TAB( SERVER_BROWSER_TAB_1_X, TAB_1_WIDTH, TAB_1_TEXT, server_browser_ranked, ( selectedTabIndex == 1 ) ) \
TAB( SERVER_BROWSER_TAB_2_X, TAB_2_WIDTH, TAB_2_TEXT, server_browser_unranked, ( selectedTabIndex == 2 ) ) \
TAB( SERVER_BROWSER_TAB_3_X, TAB_3_WIDTH, TAB_3_TEXT, server_browser_wager, ( selectedTabIndex == 3 ) ) \
TAB( SERVER_BROWSER_TAB_4_X, TAB_4_WIDTH, TAB_4_TEXT, server_browser_friends, ( selectedTabIndex == 4 ) ) \
TAB( SERVER_BROWSER_TAB_5_X, TAB_5_WIDTH, TAB_5_TEXT, server_browser_favorites, ( selectedTabIndex == 5 ) ) \
TAB( SERVER_BROWSER_TAB_6_X, TAB_6_WIDTH, TAB_6_TEXT, server_browser_history, ( selectedTabIndex == 6 ) ) \
GLOBAL_SERVER_COUNT
///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
// server_browser_main acts as a gateway to open the correct sub menu based upon dvar settings
menuDef
{
name server_browser_main
fullScreen 0
style WINDOW_STYLE_EMPTY
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
onFocus
{
close self;
exec openmenu (dvarString( "ui_serverBrowserMenu" ));
}
}
#define FILTER_ACTION \
if( menuisopen( filter_window ) ) \
{ \
close filter_window; \
} \
else \
{ \
open filter_window; \
}
#define BUTTON_SPACING 20
#define FILTER_BUTTON_OFFSET ( getTextWidth( locString( "@PLATFORM_BACK" ), CHOICE_TEXTFONT, TEXTSIZE_DEFAULT ) + 8 + BUTTON_SPACING )
#define SERVER_INFO_BUTTON_OFFSET ( FILTER_BUTTON_OFFSET + getTextWidth( locString( "@MENU_FILTER_SERVERS" ), CHOICE_TEXTFONT, TEXTSIZE_DEFAULT ) + 8 + BUTTON_SPACING )
#define JOIN_BUTTON_OFFSET ( 0 )
#define REFRESH_BUTTON_OFFSET ( -JOIN_BUTTON_OFFSET - getTextWidth( locString( "@MENU_JOIN_SERVER" ), CHOICE_TEXTFONT, TEXTSIZE_DEFAULT ) - 8 - BUTTON_SPACING )
#define SERVER_BROWSER_BOTTOM_BUTTONS \
NEW_FRAME_BUTTON_PC_LEFT_OFFSET( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, FILTER_BUTTON_OFFSET, "@MENU_FILTER_SERVERS", FILTER_ACTION, 1 ) \
NEW_FRAME_BUTTON_PC_LEFT_OFFSET( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, SERVER_INFO_BUTTON_OFFSET, "@MENU_SERVER_INFO", open newframeserverinfo;, 1 ) \
NEW_FRAME_BUTTON_PC_RIGHT_OFFSET( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, REFRESH_BUTTON_OFFSET, "@MENU_REFRESH_LIST", uiScript RefreshServers;, 1 ) \
NEW_FRAME_BUTTON_PC_RIGHT_OFFSET( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, JOIN_BUTTON_OFFSET, "@MENU_JOIN_SERVER", JOIN_SERVER_ACTION;, 1 ) \
NEW_FRAME_BACK_BUTTON_ACTION( SERVER_BROWSER_WIDTH, SERVER_BROWSER_HEIGHT, ON_ESC )
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_ranked, uiscript UpdateNetSource AS_RANKED;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_ranked, server_browser_history, server_browser_unranked )
SERVER_BROWSER_TAB_COMMON_ITEMS( 1 );
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_unranked, uiscript UpdateNetSource AS_UNRANKED;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_unranked, server_browser_ranked, server_browser_wager )
SERVER_BROWSER_TAB_COMMON_ITEMS( 2 )
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser listbox with background
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_wager, uiscript UpdateNetSource AS_WAGER;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_wager, server_browser_unranked, server_browser_friends )
SERVER_BROWSER_TAB_COMMON_ITEMS( 3 )
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser listbox with background
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_friends, uiscript UpdateNetSource AS_FRIENDS;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_friends, server_browser_wager, server_browser_favorites )
SERVER_BROWSER_TAB_COMMON_ITEMS( 4 )
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser listbox with background
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_favorites, uiscript UpdateNetSource AS_FAVORITES;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_favorites, server_browser_friends, server_browser_history )
SERVER_BROWSER_TAB_COMMON_ITEMS( 5 )
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser listbox with background
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
menuDef
{
SERVER_BROWSER_MENU_TEMPLATE( server_browser_history, uiscript UpdateNetSource AS_HISTORY;, ; )
PC_TAB_SWITCH_ACTIONS( server_browser_history, server_browser_favorites, server_browser_ranked )
SERVER_BROWSER_TAB_COMMON_ITEMS( 6 )
// buttons
SERVER_BROWSER_BOTTOM_BUTTONS
// browser listbox with background
SERVER_BROWSER( browser, FEEDER_SERVERS, 1)
}
#undef MENUDEF_NAME
#define MENUDEF_NAME filter_window
#undef CHOICE_BUTTON_NAME
#define CHOICE_BUTTON_NAME "filter_"
#define FILTER_WIDTH TABLE_WIDTH
#define FILTER_HEIGHT FILTER_MENU_HEIGHT
#define FILTER_X (TABLE_X - 10)
#define FILTER_Y ( TABLE_Y + (TABLE_HEIGHT - FILTER_HEIGHT) - 2 )
#undef CHOICE_TEXT_COLOR_NO_HL
#undef CHOICE_TEXT_COLOR_HL
#undef CHOICE_CAPTION_TEXT_COLOR_NO_HL
#undef CHOICE_CAPTION_TEXT_COLOR_HL
#define CHOICE_TEXT_COLOR_NO_HL CHOICE_TEXTCOLOR
#define CHOICE_TEXT_COLOR_HL 1 1 1 1
#define CHOICE_CAPTION_TEXT_COLOR_NO_HL CHOICE_TEXTCOLOR
#define CHOICE_CAPTION_TEXT_COLOR_HL 0 0 0 1
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 120
#undef CHOICE_Y_START
#define CHOICE_Y_START 0
#undef CHOICE_X_START
#define CHOICE_X_START 0
#undef CHOICE_TEXTSIZE
#define CHOICE_TEXTSIZE TEXTSIZE_SMALL
#undef CHOICE_DVAR_EXTRA_WIDTH
#define CHOICE_DVAR_EXTRA_WIDTH 60
menuDef
{
name filter_window
rect FILTER_X FILTER_Y FILTER_WIDTH FILTER_HEIGHT CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN
focuscolor COLOR_FOCUSED
style WINDOW_STYLE_FILLED
priority MENU_PRI_ONTOP
openSlideSpeed DEFAULT_SLIDE_IN_SPEED
closeSlideSpeed (DEFAULT_SLIDE_OUT_SPEED*2)
openSlideDirection MENU_SLIDE_DIRECTION_BOTTOM_TO_TOP
closeSlideDirection MENU_SLIDE_DIRECTION_TOP_TO_BOTTOM
visible 1
onOpen
{
play uin_navigation_menu_lg_open;
execNow ui_animate (dvarString( "ui_serverBrowserMenu" )) Browser "Reduced" DEFAULT_SLIDE_IN_SPEED;
}
onClose
{
execNow ui_animate (dvarString( "ui_serverBrowserMenu" )) Browser "Maximized" DEFAULT_SLIDE_OUT_SPEED;
}
onEsc
{
close self;
}
leaveFocus
{
close self;
}
itemDef
{
style WINDOW_STYLE_SHADER_FRAMED
rect -10 -10 ( FILTER_WIDTH + 20 ) ( FILTER_HEIGHT + 20 ) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
background "menu_mp_lobby_frame_outer"
forecolor 1 1 1 1
visible when( 1 );
decoration
frame 26 0.1 FRAME_SIDE_ALL
}
itemDef
{
style WINDOW_STYLE_SHADER_FRAMED
rect 0 0 FILTER_WIDTH FILTER_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
background "menu_mp_lobby_frame_inner"
forecolor 1 1 1 1
visible when( 1 );
decoration
frame 26 0.1 FRAME_OPEN_TOP
}
// View empty.
FRAME_CHOICE_DVARFLOATLIST( 1, "@MENU_VIEW_EMPTY", ui_browserShowEmpty, { "@MENU_NO" 0 "@MENU_YES" 1 }, uiScript RefreshFilter; )
// View full.
FRAME_CHOICE_DVARFLOATLIST( 2, "@MENU_VIEW_FULL", ui_browserShowFull, { "@MENU_NO" 0 "@MENU_YES" 1 }, uiScript RefreshFilter; )
// With password.
FRAME_CHOICE_DVARFLOATLIST( 3, "@MENU_VIEW_PASSWORD", ui_browserShowPassword, { "@MENU_ALL" -1 "@MENU_NO" 0 "@MENU_YES" 1 }, uiScript RefreshFilter; )
// mods
FRAME_CHOICE_DVARLIST_VIS( 4, "@MENU_MODS", "", ITEM_TYPE_OD_TEXT_BUTTON, ownerdraw UI_JOINMOD, uiScript RefreshFilter;, 1 )
#undef CHOICE_X_START
#define CHOICE_X_START 180
#undef CHOICE_Y_START
#define CHOICE_Y_START -76
// Voice chat.
FRAME_CHOICE_DVARFLOATLIST( 5, "@MENU_VOICECHAT", ui_browserVoiceChat, { "@MENU_ALL" -1 "@MENU_NO" 0 "@MENU_YES" 1 }, uiScript RefreshFilter; )
// Hardcore.
FRAME_CHOICE_DVARFLOATLIST( 6, "@MPUI_HARDCORE_PRE", ui_browserHardcore, { "@MENU_ALL" -1 "@MENU_NO" 0 "@MENU_YES" 1 }, uiScript RefreshFilter; )
// Friendly fire.
FRAME_CHOICE_DVARFLOATLIST( 7, "@MENU_VIEW_FRIENDLY_FIRE", ui_browserFriendlyfire, { "@MENU_ALL" -1 "@MENU_OFF" 0 "@MENU_ON" 1 "@MENU_REFLECT" 2 "@MENU_SHARED" 3 }, uiScript RefreshFilter; )
#undef CHOICE_X_START
#define CHOICE_X_START 360
#undef CHOICE_Y_START
#define CHOICE_Y_START -152
// Map
FRAME_CHOICE_DVARENUMLIST_VIS( 9, "@MPUI_CHANGE_MAP_LOWER", ui_browserMap, ui_browserMap, uiScript RefreshFilter;, 1 )
// Game Mode
#define MODE_LIST { "@MENU_ALL"; 0; "@MPUI_TDM_SHORT_CAPS"; "tdm"; "@MPUI_DM_SHORT_CAPS"; "dm"; "@MPUI_SD_SHORT_CAPS"; "sd"; "@MPUI_DOM_SHORT_CAPS"; "dom"; "@MPUI_KOTH_SHORT_CAPS"; "koth"; "@MPUI_DEM_SHORT_CAPS"; "dem"; "@MPUI_CTF_SHORT_CAPS"; "ctf"; "@MPUI_SAB_SHORT_CAPS"; "sab"; }
FRAME_CHOICE_DVARSTRINGLIST( 10, "@MENU_GAME_MODE_PRE", ui_browserGameMode, MODE_LIST;, uiScript RefreshFilter;)
// Hide Dlc.
FRAME_CHOICE_DVARFLOATLIST( 11, "@MPUI_DLC_CONTENT", ui_browserHideDlc, { "@MENU_ALL" 0 "@MPUI_PURCHASED" 1 }, uiScript RefreshFilter; )
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 98
#undef CHOICE_X_START
#define CHOICE_X_START 480
#undef CHOICE_TEXT_COLOR_NO_HL
#undef CHOICE_TEXT_COLOR_HL
#undef CHOICE_CAPTION_TEXT_COLOR_NO_HL
#undef CHOICE_CAPTION_TEXT_COLOR_HL
#define CHOICE_TEXT_COLOR_NO_HL CHOICE_TEXTCOLOR
#define CHOICE_TEXT_COLOR_HL 0 0 0 1
#define CHOICE_CAPTION_TEXT_COLOR_NO_HL CHOICE_TEXTCOLOR
#define CHOICE_CAPTION_TEXT_COLOR_HL 0 0 0 1
// Reset
FRAME_CHOICE_BUTTON( 12, "@MENU_RESET", exec "exec default_filter.cfg"; )
// Apply
//FRAME_CHOICE_BUTTON( 14, "@MENU_APPLY", uiScript RefreshFilter; )
}
}
#undef CHOICE_TEXTSIZE
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
#include "ui_mp/popupstyle.inc"
#include "ui/choices_setup_popmenu.menu"
#include "ui_mp/popup_player_info.inc"
#undef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND "uin_navigation_over"
// Redefinitions for MEDIUM_POPUP_SETUP popups
#undef POPUP_WIDTH
#define POPUP_WIDTH MEDIUM_POPUP_WIDTH
#undef POPUP_HEIGHT
#define POPUP_HEIGHT MEDIUM_POPUP_HEIGHT
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X CONFIRM_PURCHASE_SIZE_X
#undef CHOICE_Y_START
#define CHOICE_Y_START POPUP_Y_START_TOP
#undef PLAYER_INFO_ALIGN
#define PLAYER_INFO_ALIGN // Purposely set to nothing. The popup setup macro sets the alignment. If items within it set their own aligment, they end up offset incorrectly.
#undef PLAYER_INFO_X_START
#define PLAYER_INFO_X_START( frameWidth ) ( frameWidth - PLAYER_INFO_WIDTH - PLAYER_INFO_PAD )
#undef PLAYER_INFO_Y_START
#define PLAYER_INFO_Y_START( frameHeight ) ( PLAYER_INFO_PAD * 2 )
#undef BG_BACKCOLOR
#define BG_BACKCOLOR POPUP_BACKCOLOR
#define PURCHASE_CONFIRMATION_RIGHT_X ( MEDIUM_POPUP_WIDTH / 2 )
#define PURCHASE_INFO_WIDTH ( ( MEDIUM_POPUP_WIDTH / 2 ) - POPUP_SIDE_PAD )
#define PURCHASE_CONFIRMATION_ITEM_INFO( itemName, itemCost ) \
CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, "@MPUI_BALANCE_AFTER_PURCHASE", locString( "@MENU_POINTS", GetStatByName( "CODPOINTS" ) - itemCost ), 1 )
#define CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, balanceHeader, balanceAfter, visArg ) \
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 1 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, locString( itemName, itemCost ), TEXTSIZE_LARGE, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, NEW_FRAME_GREEN_RGB 1, visArg, ; ) \ /* Name */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 7 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, "@MPUI_YOUR_BANK", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, MEDIUM_POPUP_GRAY, visArg, ; ) \ /* Currency Available Header */
PREPROC_TEXT_DRAW_VIS_EX( (MEDIUM_POPUP_WIDTH-75) CHOICE_Y( 7 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, locString( "@MENU_POINTS", GetStatByName( "CODPOINTS" ) ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, visArg, ; ) \ /* Currency Available */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 8 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, balanceHeader, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, MEDIUM_POPUP_GRAY, visArg, ; ) \ /* Balance After Purchase Header */
PREPROC_TEXT_DRAW_VIS_EX( (MEDIUM_POPUP_WIDTH-75) CHOICE_Y( 8 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, balanceAfter, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, visArg, ; ) /* Balance After Purchase */
#define WAGER_ONFOCUS \
;
#define WAGER_ONESC \
setDvar ui_joiningwagerfrominvite "0"; \
close self;
#define WAGER_ACTION \
play CHOICE_FOCUS_SOUND; \
uiScript JoinServer; \
WAGER_ONESC
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "WagerConfirmation", setfocus "WagerConfirmation_2";, ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@PLATFORM_CONFIRM_WAGER_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( "@PLATFORM_WAGER_BET", dvarInt("ui_wagerbet") )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_JOIN_GAME_CAPS", WAGER_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_CANCEL_CAPS", WAGER_ONESC, 1, name WagerConfirmation_2 )
}
#define WAGER_ACTION2 \
play CHOICE_FOCUS_SOUND; \
execNow quickmatchconnect; \
WAGER_ONESC
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "QuickWagerConfirmation", setfocus "QuickWagerConfirmation_2";, ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@PLATFORM_CONFIRM_WAGER_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( "@PLATFORM_WAGER_BET", dvarInt("ui_wagerbet") )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_JOIN_GAME_CAPS", WAGER_ACTION2, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_CANCEL_CAPS", close self, 1, name QuickWagerConfirmation_2 )
}
#undef CHOICE_Y_START
#define CHOICE_Y_START POPUP_Y_START_CENTER
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 1
menuDef
{
SYSTEM_POPUP_SETUP_VIS( WagerDeadBeat, WAGER_ONFOCUS, WAGER_ONESC, 1 )
SYSTEM_POPUP_TITLE_VIS( "@PLATFORM_WAGER_DEADBEAT_TITLE", 1 )
SYSTEM_POPUP_SUBTITLE_VIS( locString( "@PLATFORM_WAGER_DEADBEAT_DESC", dvarInt( "ui_wagerbet" ) ), 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_OK", WAGER_ONESC, 1, ; )
}
menuDef
{
SYSTEM_POPUP_SETUP_VIS( WagerPlaylistIsOld, WAGER_ONFOCUS, WAGER_ONESC, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_ERROR_CAPS", 1 )
SYSTEM_POPUP_SUBTITLE_VIS( locString( "@PATCH_PLAYLISTISOLD" ), 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_OK", WAGER_ONESC, 1, ; )
}
menuDef
{
SYSTEM_POPUP_SETUP_VIS( WagerPlaylistIsNew, WAGER_ONFOCUS, WAGER_ONESC, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_ERROR_CAPS", 1 )
SYSTEM_POPUP_SUBTITLE_VIS( locString( "@PATCH_PLAYLISTISNEW" ), 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_OK", WAGER_ONESC, 1, ; )
}