2021-02-18 13:53:14 -06:00

831 lines
31 KiB
Plaintext

#include "ui/menudef.h"
#include "ui_mp/common_macro.inc"
#define BUTTON_BG_WIDTH 180
#define BUTTON_BG_Y_START 5
#define CHOICE_X_START -258
#define CHOICE_Y_START BUTTON_BG_Y_START + 35
#define CHOICE_GROUP "main"
#define FLYOUT_NONE 0
#define FLYOUT_LIVE 1
#define FLYOUT_OPERATIONS 2
#define FLYOUT_THEATER 3
#include "ui_mp/menustyle.inc"
#include "ui/choices_setup_common.menu"
#include "ui_mp/friendslist.inc"
#include "ui_mp/stats_info.inc"
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X BUTTON_BG_WIDTH
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#undef CHOICE_Y_SPACING
#define CHOICE_Y_SPACING CHOICE_SIZE_Y
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER
#define FLYOUT_BG_COLOR 0 0 0 0.3
{
assetGlobalDef
{
fadeClamp 1.0 // sets the fadeup alpha
fadeCycle 1 // how often fade happens in milliseconds
fadeAmount 0.1 // amount to adjust alpha per cycle
}
menuDef
{
name "main"
fullScreen 1
rect 0 0 640 480
focusColor COLOR_FOCUSED
soundloop MENU_MUSIC
style WINDOW_STYLE_EMPTY
onOpen
{
uiScript stopRefresh;
open main_text;
}
onClose
{
}
onESC
{
}
}
#define RESET_GAMEMODE_DVARS \
setdvar xblive_basictraining 0; \
setdvar xblive_privatematch 0; \
setdvar xblive_wagermatch 0; \
setdvar xblive_theater 0; \
setdvar xblive_rankedmatch 0;
menuDef
{
name "main_text"
fullScreen 1
rect 0 0 640 480
focusColor COLOR_FOCUSED
soundloop MENU_MUSIC
style WINDOW_STYLE_EMPTY
onOpen
{
setdvar ui_version_show "0";
setLocalVarBool ui_centerPopup 0;
setdvar ui_bg_image "";
RESET_GAMEMODE_DVARS
}
onFocus
{
setDvar ui_flyoutHasFocus FLYOUT_NONE;
}
itemDef
{
style WINDOW_STYLE_SHADER
rect FULLSCREEN_WIDE
background "menu_mp_background_main2"
forecolor 1 1 1 1
visible 1
decoration
}
// lower corner glows
itemDef
{
style WINDOW_STYLE_SHADER
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN;
background "menu_mp_background_glow"
forecolor 0.384 0.725 0.725 0
exp forecolor a ( ((sin(milliseconds()/1500) + 1) * 0.25) + 0.25 )
visible 1
decoration
}
itemDef
{
style WINDOW_STYLE_SHADER
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN;
background "menu_mp_background_glow"
forecolor 0.384 0.725 0.725 0
exp forecolor a ( ((sin(milliseconds()/480) + 1) * 0.25) + 0.25 )
visible 1
decoration
}
#undef THINFOG_SCROLL_TIME
#define THINFOG_SCROLL_TIME 50000
itemDef
{
style WINDOW_STYLE_SHADER
rect -107 0 1708 480
exp rect X((-961) + ((float(milliseconds() % THINFOG_SCROLL_TIME) / THINFOG_SCROLL_TIME) * (854)))
background "animbg_fogscrollthin"
forecolor 1 1 1 0.5
visible 1
decoration
}
#include "ui/bg.inc"
// cod:bo logo
#define LOGO_X_OFFSET 45
#define LOGO_Y_OFFSET 70
#define LOGO_WIDTH 228
#define LOGO_HEIGHT 107
itemDef
{
visible 1
rect (-LOGO_WIDTH - LOGO_X_OFFSET) (-LOGO_HEIGHT - LOGO_Y_OFFSET) LOGO_WIDTH LOGO_HEIGHT HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM
forecolor 1 1 1 1
style WINDOW_STYLE_SHADER
background "menu_mp_background_logo"
decoration
}
#define RESET_GAME_MODES \
setdvar systemlink "0"; \
setdvar splitscreen "0"; \
setdvar onlinegame "1"; \
setdvar xblive_privatematch "0"; \
setdvar xblive_rankedmatch "0"; \
setdvar xblive_wagermatch "0"; \
setdvar xblive_clanmatch "0"; \
setdvar xblive_theater "0"; \
setdvar xblive_basictraining "0";
#define SIGN_IN_CMD exec "xsigninlive";
#define SETUP_SIGNIN \
if( IsSignedInToLive() == 0 ) \
{ \
SIGN_IN_CMD \
open error_netconnect_popmenu; \
} \
elseif( isDemonwareFetchingDone() == 1 ) \
{ \
execnow "setclientbeingused"; \
if( !getDStat( "CacLoadouts", "resetWarningDislayed" ) ) \
{ \
open customclassesreset; \
} \
else \
{ \
open live_flyout; \
execnow readFileShare; \
} \
} \
else \
{ \
open popup_connectingtodwhandler; \
}
// ----------------- BEGIN Scroller --------------------------
#include "ui/scroller.inc"
// ----------------- END Scroller ----------------------------
CHOICE_MENU_TITLE_CENTER_ALIGN_VIS( "@MENU_MULTIPLAYER_CAPS", ITEM_ALIGN_TOP_RIGHT, dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
CHOICE_MENU_TITLE_CENTER_ALIGN_VIS( "@MENU_PLAY_CAPS", ITEM_ALIGN_TOP_RIGHT, dvarInt( ui_flyoutHasFocus ) == FLYOUT_LIVE )
CHOICE_MENU_TITLE_CENTER_ALIGN_VIS( "@MENU_OPERATIONS_CAPS", ITEM_ALIGN_TOP_RIGHT, dvarInt( ui_flyoutHasFocus ) == FLYOUT_OPERATIONS )
CHOICE_MENU_TITLE_CENTER_ALIGN_VIS( "@MPUI_THEATER_LOBBY_CAPS", ITEM_ALIGN_TOP_RIGHT, dvarInt( ui_flyoutHasFocus ) == FLYOUT_THEATER )
// ----------------- BEGIN Message of the day ------------------------
// size version 1: 248 126
//#define INFO_TEXT dvarString( "motd" )
//#define INFO_TITLE "@MPUI_MOTD"
//#define MP_MOTD 1
//#include "ui_mp/info_box.inc"
// ----------------- END Message of the day --------------------------
// Menu items -------------------------------------------
// highlight when flyout is open
PREPROC_SHADER_DRAW_VIS_EX( CHOICE_ORIGIN( 1 ) (CHOICE_SIZE_X + 1) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, "white", FLYOUT_BG_COLOR, when( dvarInt( ui_flyoutHasFocus ) == FLYOUT_LIVE );, ; )
TEMP_CHOICE_BUTTON_VIS( 1, "@MENU_PLAY_CAPS",
SETUP_SIGNIN,
IsSignedInToLive() && ( dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE || dvarInt( ui_flyoutHasFocus ) == FLYOUT_LIVE ) )
TEMP_CHOICE_BUTTON_VIS_DISABLED( 1, "@MENU_PLAY_CAPS",
SETUP_SIGNIN,
!IsSignedInToLive() && ( dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE || dvarInt( ui_flyoutHasFocus ) == FLYOUT_LIVE ) )
// Gray text when flyout is open
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 1 ), 0 0, "@MENU_PLAY_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE && dvarInt( ui_flyoutHasFocus ) != FLYOUT_LIVE ); )
#define SETUP_OPERATIONS_FLYOUT \
if( IsSignedInToLive() == 0 ) \
{ \
SIGN_IN_CMD \
open error_netconnect_popmenu; \
} \
elseif( isDemonwareFetchingDone() == 1 ) \
{ \
execnow "setclientbeingused"; \
open operations_flyout; \
execnow readFileShare; \
} \
else \
{ \
open popup_connectingtodwhandler; \
}
// highlight when flyout is open
PREPROC_SHADER_DRAW_VIS_EX( CHOICE_ORIGIN( 2 ) CHOICE_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, "white", FLYOUT_BG_COLOR, when( dvarInt( ui_flyoutHasFocus ) == FLYOUT_OPERATIONS );, ; )
TEMP_CHOICE_BUTTON_VIS( 2, "@MENU_OPERATIONS_CAPS",
SETUP_OPERATIONS_FLYOUT,
( dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE || dvarInt( ui_flyoutHasFocus ) == FLYOUT_OPERATIONS ) )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 2 ), 0 0, "@MENU_OPERATIONS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE && dvarInt( ui_flyoutHasFocus ) != FLYOUT_OPERATIONS ); )
#define SETUP_THEATER_FLYOUT \
if( IsSignedInToLive() == 0 ) \
{ \
SIGN_IN_CMD \
open error_netconnect_popmenu; \
} \
elseif( isDemonwareFetchingDone() == 1 ) \
{ \
execnow "setclientbeingused"; \
open theater_flyout; \
execnow readFileShare; \
} \
else \
{ \
open popup_connectingtodwhandler; \
}
// highlight when flyout is open
PREPROC_SHADER_DRAW_VIS_EX( CHOICE_ORIGIN( 3 ) CHOICE_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, "white", FLYOUT_BG_COLOR, when( dvarInt( ui_flyoutHasFocus ) == FLYOUT_THEATER );, ; )
TEMP_CHOICE_BUTTON_VIS( 3, "@MPUI_THEATER_LOBBY_CAPS",
SETUP_THEATER_FLYOUT,
( dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE || dvarInt( ui_flyoutHasFocus ) == FLYOUT_THEATER ) )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 3 ), 0 0, "@MPUI_THEATER_LOBBY_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE && dvarInt( ui_flyoutHasFocus ) != FLYOUT_THEATER ); )
TEMP_CHOICE_BUTTON_VIS( 4, "@MENU_SETTINGS_CAPS",
open options_new_pc,
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 4 ), 0 0, "@MENU_SETTINGS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
/*TEMP_CHOICE_BUTTON_VIS( 5, "@MENU_STORE_CAPS",
uiscript openurl "www.callofduty.com/game",
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 5 ), 0 0, "@MENU_STORE_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )*/
TEMP_CHOICE_BUTTON_VIS( 5, "@MENU_MODS_CAPS",
open select_mod,
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 5 ), 0 0, "@MENU_MODS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
TEMP_CHOICE_BUTTON_VIS( 6, "@MENU_MAIN_MENU_CAPS",
open single_popmenu,
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 6 ), 0 0, "@MENU_MAIN_MENU_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
TEMP_CHOICE_BUTTON_VIS( 7, "@MENU_QUIT_CAPS",
open quit_popmenu,
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 7 ), 0 0, "@MENU_QUIT_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, NO_BG_DISABLED_COLOR, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
FRIENDS_BUTTON
}
#define FADE_STATE( isLast, colorArg, menuName, nextName ) \
state \
{ \
name "FadeIn" \
forecolor colorArg \
\
onEnter \
{ \
execNow if( isLast != 1 ) ui_animate menuName nextName FadeIn (FLYOUT_TIME/FLYOUT_BUTTON_COUNT); \
execNow if( isLast == 1 ) set ui_flownOut 1; \
} \
}
#define FLYOUT_ARGS( isLast, menuName, colorArg, myName, nextName ) \
name myName \
FADE_STATE( isLast, colorArg, menuName, nextName )
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER
#undef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_TOP
#undef CHOICE_TEXTALIGN
#define CHOICE_TEXTALIGN ITEM_ALIGN_MIDDLE_LEFT
#undef CHOICE_GROUP
#define CHOICE_GROUP "flyout"
#define FLYOUT_TIME 200
#define FLYOUT_BG_X_START ( -258 + BUTTON_BG_WIDTH + 1 )
#define FLYOUT_BG_WIDTH 180
#undef CHOICE_X_START
#define CHOICE_X_START FLYOUT_BG_X_START
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X FLYOUT_BG_WIDTH
#undef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND "uin_navigation_submenu_over"
#undef FLYOUT_BUTTON_COUNT
#define FLYOUT_BUTTON_COUNT 5
#undef FLYOUT_FIRST_CHOICE_Y
#define FLYOUT_FIRST_CHOICE_Y 1
#define SETUP_ACTION_LOBBY \
execNow "exec "XBOXLIVE_MP_CFG;
menuDef
{
name live_flyout
rect 0 0 640 480
focusColor COLOR_FOCUSED
soundloop MENU_MUSIC
control MENU_CONTROL_NO_GUESTS
onOpen
{
execNow ui_animate live_flyout ButtonBackground Fly FLYOUT_TIME;
execNow ui_animate live_flyout FirstFlyout FadeIn (FLYOUT_TIME/FLYOUT_BUTTON_COUNT);
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_LIVE;
}
onESC { close self; }
onClose
{
execNow ui_animate live_flyout ButtonBackground Default 0;
execNow ui_animate live_flyout FirstFlyout Default 0;
execNow ui_animate live_flyout SecondFlyout Default 0;
execNow ui_animate live_flyout ThirdFlyout Default 0;
execNow ui_animate live_flyout FourthFlyout Default 0;
execNow ui_animate live_flyout FifthFlyout Default 0;
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_NONE;
}
/* exit flyout button */
itemDef
{
name "ExitFlyoutButton"
type ITEM_TYPE_BUTTON
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
visible 1
action { close self; }
}
/* button background */
itemDef
{
name "ButtonBackground"
style WINDOW_STYLE_SHADER
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH CHOICE_Y_SPACING CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
forecolor FLYOUT_BG_COLOR
background "white"
visible 1
decoration
state
{
name "Fly"
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH ( CHOICE_Y_SPACING * FLYOUT_BUTTON_COUNT ) CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
}
}
HINT_TEXT_ALL( (FLYOUT_BUTTON_COUNT + 1), (FLYOUT_BG_X_START + 10), 5, (FLYOUT_BG_WIDTH - 20), (dvarString( ui_lobby_desc )), 1 1 1 1, ( dvarInt( ui_flownOut ) == 1 ), ; )
#define SETUP_ACTION_SERVER_BROWSER \
RESET_GAME_MODES \
SETUP_ACTION_LOBBY \
close self; \
open server_browser_main;
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( FLYOUT_FIRST_CHOICE_Y, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( FLYOUT_FIRST_CHOICE_Y, "@MENU_SERVER_BROWSER_CAPS",
SETUP_ACTION_SERVER_BROWSER,
setDvar ui_lobby_desc "@MENU_SERVER_BROWSER_DESC";,
CLEARUIHINT,
1 1 1 0,
dvarBool(ui_ethernetLinkActive),
FLYOUT_ARGS( 0, live_flyout, TEXT_COLOR_NO_HL, FirstFlyout, SecondFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( FLYOUT_FIRST_CHOICE_Y, "@MENU_SERVER_BROWSER_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
#define SETUP_ACTION_RANKEDMATCH \
RESET_GAME_MODES \
SETUP_ACTION_LOBBY \
close self; \
exec "quickmatch";
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 2, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 2, "@MENU_RANKED_MATCH_CAPS",
SETUP_ACTION_RANKEDMATCH,
setDvar ui_lobby_desc "@MENU_RANKED_MATCH_DESC";,
CLEARUIHINT,
1 1 1 0,
dvarBool(ui_ethernetLinkActive),
FLYOUT_ARGS( 0, live_flyout, TEXT_COLOR_NO_HL, SecondFlyout, ThirdFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 2, "@MENU_RANKED_MATCH_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
#define SETUP_ACTION_WAGERMATCH \
RESET_GAME_MODES \
setDvar xblive_wagermatch "1"; \
SETUP_ACTION_LOBBY \
close self; \
exec "wagermatch";
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 3, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 3, "@MPUI_WAGER_MATCH_CAPS",
SETUP_ACTION_WAGERMATCH,
setDvar ui_lobby_desc "@MPUI_WAGER_MATCH_DESC";,
CLEARUIHINT,
1 1 1 0,
dvarBool(ui_ethernetLinkActive) && dvarBool(ui_mpWagerMatchEnabled),
FLYOUT_ARGS( 0, live_flyout, TEXT_COLOR_NO_HL, ThirdFlyout, FourthFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 3, "@MPUI_WAGER_MATCH_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 && dvarBool(ui_mpWagerMatchEnabled) )
#define SETUP_ACTION_BASIC_TRAINING \
RESET_GAME_MODES \
setDvar onlinegame "1"; \
setDvar xblive_basictraining "1"; \
SETUP_ACTION_LOBBY \
execNow "exec dvar_defaults.cfg"; \
setDvar ui_mapname "mp_mountain"; \
setDvar ui_gametype "tdm"; \
close self; \
open menu_xboxlive_basictraining;
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 4, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 4, "@MPUI_BASICTRAINING_CAPS",
SETUP_ACTION_BASIC_TRAINING,
setDvar ui_lobby_desc "@MPUI_BASICTRAINING_DESC";,
CLEARUIHINT,
1 1 1 0,
dvarBool(ui_ethernetLinkActive),
FLYOUT_ARGS( 0, live_flyout, TEXT_COLOR_NO_HL, FourthFlyout, FifthFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 4, "@MPUI_BASICTRAINING_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
#define SETUP_ACTION_PRIVATEMATCH \
RESET_GAME_MODES \
setDvar onlinegame "1"; \
setDvar xblive_privatematch "1"; \
SETUP_ACTION_LOBBY \
setDvar ui_mapname "mp_mountain"; \
setDvar ui_gametype "tdm"; \
close self; \
open menu_xboxlive_privatelobby;
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 5, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 5, "@MPUI_CUSTOM_MATCH_CAPS",
SETUP_ACTION_PRIVATEMATCH,
setDvar ui_lobby_desc "@MPUI_CUSTOM_MATCH_DESC";,
CLEARUIHINT,
1 1 1 0,
dvarBool(ui_ethernetLinkActive),
FLYOUT_ARGS( 1, live_flyout, TEXT_COLOR_NO_HL, FifthFlyout, NoFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 5, "@MPUI_CUSTOM_MATCH_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
} // live_flyout
#undef FLYOUT_BUTTON_COUNT
#define FLYOUT_BUTTON_COUNT 4
#undef FLYOUT_FIRST_CHOICE_Y
#define FLYOUT_FIRST_CHOICE_Y 2
menuDef
{
name operations_flyout
rect 0 0 640 480
focusColor COLOR_FOCUSED
soundloop MENU_MUSIC
control MENU_CONTROL_NO_GUESTS
onOpen
{
execNow ui_animate operations_flyout ButtonBackground Fly FLYOUT_TIME;
execNow ui_animate operations_flyout FirstFlyout FadeIn (FLYOUT_TIME/FLYOUT_BUTTON_COUNT);
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_OPERATIONS;
}
onESC { close self; }
onClose
{
execNow ui_animate operations_flyout ButtonBackground Default 0;
execNow ui_animate operations_flyout FirstFlyout Default 0;
execNow ui_animate operations_flyout SecondFlyout Default 0;
execNow ui_animate operations_flyout ThirdFlyout Default 0;
execNow ui_animate operations_flyout FourthFlyout Default 0;
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_NONE;
}
/* exit flyout button */
itemDef
{
name "ExitFlyoutButton"
type ITEM_TYPE_BUTTON
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
visible 1
action { close self; }
}
/* button background */
itemDef
{
name "ButtonBackground"
style WINDOW_STYLE_SHADER
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH CHOICE_Y_SPACING CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
forecolor FLYOUT_BG_COLOR
background "white"
visible 1
decoration
state
{
name "Fly"
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH ( CHOICE_Y_SPACING * FLYOUT_BUTTON_COUNT ) CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
}
}
HINT_TEXT_ALL( (FLYOUT_BUTTON_COUNT + FLYOUT_FIRST_CHOICE_Y), (FLYOUT_BG_X_START + 10), 5, (FLYOUT_BG_WIDTH - 20), (dvarString( ui_lobby_desc )), 1 1 1 1, ( dvarInt( ui_flownOut ) == 1 ), ; )
#define SETUP_ACTION_CREATEACLASS \
close self; \
if ( IsSignedInToLive() && areStatsFetched() && !IsGuest() ) \
{ \
exec "set ui_cac_ingame 0"; \
setdvar invite_visible "0"; \
open cac_main; \
}
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( FLYOUT_FIRST_CHOICE_Y, BG_HL_COLOR, FLYOUT_BG_WIDTH, ( dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ) ) )
TEMP_CHOICE_BUTTON_ALL( FLYOUT_FIRST_CHOICE_Y, "@MPUI_CREATE_A_CLASS_CAPS",
SETUP_ACTION_CREATEACLASS,
setDvar ui_lobby_desc "@MPUI_CAC_DESC";,
CLEARUIHINT,
1 1 1 0,
!IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ),
FLYOUT_ARGS( 0, operations_flyout, TEXT_COLOR_NO_HL, FirstFlyout, SecondFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( FLYOUT_FIRST_CHOICE_Y, "@MPUI_CREATE_A_CLASS_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ) )
TEMP_CHOICE_BUTTON_ALL( FLYOUT_FIRST_CHOICE_Y, "@MPUI_CREATE_A_CLASS_CAPS",
/*NO-OP*/;,
exec set ui_lobby_desc GET_UNLOCK_LEVEL_STRING( FEATURE_CREATE_A_CLASS );,
CLEARUIHINT,
1 1 1 0,
IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ),
FLYOUT_ARGS( 0, operations_flyout, NO_BG_DISABLED_COLOR, FirstFlyout, SecondFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( FLYOUT_FIRST_CHOICE_Y, "@MPUI_CREATE_A_CLASS_CAPS", NO_BG_DISABLED_COLOR, dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ) )
CHOICE_LOCKEDICON_VIS( FLYOUT_FIRST_CHOICE_Y, "menu_mp_lobby_locked", when( dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( "FEATURE_CREATE_A_CLASS" ) ) )
#define SETUP_ACTION_CONTRACTS \
close self; \
if ( IsSignedInToLive() && areStatsFetched() && !IsGuest() ) \
{ \
open menu_xboxlive_contracts; \
}
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 3, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( FEATURE_CONTRACTS ) )
TEMP_CHOICE_BUTTON_ALL( 3, "@MENU_CONTRACTS_CAPS",
SETUP_ACTION_CONTRACTS,
exec set ui_lobby_desc "@MPUI_CONTRACTS_DESC";,
CLEARUIHINT,
1 1 1 0,
!IS_ITEM_LOCKED( FEATURE_CONTRACTS ),
FLYOUT_ARGS( 0, operations_flyout, TEXT_COLOR_NO_HL, SecondFlyout, ThirdFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 3, "@MENU_CONTRACTS_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( FEATURE_CONTRACTS ) )
TEMP_CHOICE_BUTTON_ALL( 3, "@MENU_CONTRACTS_CAPS",
/*NO-OP*/;,
exec set ui_lobby_desc GET_UNLOCK_LEVEL_STRING( FEATURE_CONTRACTS );,
CLEARUIHINT,
1 1 1 0,
IS_ITEM_LOCKED( FEATURE_CONTRACTS ),
FLYOUT_ARGS( 1, operations_flyout, NO_BG_DISABLED_COLOR, SecondFlyout, ThirdFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 3, "@MENU_CONTRACTS_CAPS", NO_BG_DISABLED_COLOR, dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( FEATURE_CONTRACTS ) )
CHOICE_LOCKEDICON_VIS( 3, "menu_mp_lobby_locked", when( dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( FEATURE_CONTRACTS ) ) )
#define SETUP_ACTION_KILLSTREAKS \
close self; \
if ( IsSignedInToLive() && areStatsFetched() && !IsGuest() ) \
{ \
open menu_xboxlive_killstreaks; \
}
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 4, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) )
TEMP_CHOICE_BUTTON_ALL( 4, "@MENU_KILLSTREAKS_CAPS",
SETUP_ACTION_KILLSTREAKS,
exec set ui_lobby_desc "@MPUI_KILLSTREAKS_DESC";,
CLEARUIHINT,
1 1 1 0,
!IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ),
FLYOUT_ARGS( 0, operations_flyout, TEXT_COLOR_NO_HL, ThirdFlyout, FourthFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 4, "@MENU_KILLSTREAKS_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 && !IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) )
TEMP_CHOICE_BUTTON_ALL( 4, "@MENU_KILLSTREAKS_CAPS",
/*NO-OP*/;,
exec set ui_lobby_desc GET_UNLOCK_LEVEL_STRING( FEATURE_KILLSTREAKS );,
CLEARUIHINT,
1 1 1 0,
IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ),
FLYOUT_ARGS( 1, operations_flyout, NO_BG_DISABLED_COLOR, ThirdFlyout, FourthFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 4, "@MENU_KILLSTREAKS_CAPS", NO_BG_DISABLED_COLOR, dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) )
CHOICE_LOCKEDICON_VIS( 4, "menu_mp_lobby_locked", when( dvarInt( ui_flownOut ) == 1 && IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) ) )
// #define SETUP_ACTION_PLAYERCARD \ defined in ui_mp\friendslist.inc
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 5, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 5, "@MENU_PLAYERCARD_CAPS",
close self; SETUP_ACTION_PLAYERCARD,
exec set ui_lobby_desc "@MPUI_PLAYERCARD_DESC";,
CLEARUIHINT,
1 1 1 0,
1,
FLYOUT_ARGS( 0, operations_flyout, TEXT_COLOR_NO_HL, FourthFlyout, NoFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 5, "@MENU_PLAYERCARD_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
} // operations_flyout
#undef FLYOUT_BUTTON_COUNT
#define FLYOUT_BUTTON_COUNT 3
#undef FLYOUT_FIRST_CHOICE_Y
#define FLYOUT_FIRST_CHOICE_Y 3
menuDef
{
name theater_flyout
rect 0 0 640 480
focusColor COLOR_FOCUSED
soundloop MENU_MUSIC
control MENU_CONTROL_NO_GUESTS
onOpen
{
execNow ui_animate theater_flyout ButtonBackground Fly FLYOUT_TIME;
execNow ui_animate theater_flyout FirstFlyout FadeIn (FLYOUT_TIME/FLYOUT_BUTTON_COUNT);
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_THEATER;
}
onESC { close self; }
onClose
{
execNow ui_animate theater_flyout ButtonBackground Default 0;
execNow ui_animate theater_flyout FirstFlyout Default 0;
execNow ui_animate theater_flyout SecondFlyout Default 0;
execNow ui_animate theater_flyout ThirdFlyout Default 0;
execNow set ui_flownOut 0;
setDvar ui_flyoutHasFocus FLYOUT_NONE;
}
/* exit flyout button */
itemDef
{
name "ExitFlyoutButton"
type ITEM_TYPE_BUTTON
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
visible 1
action { close self; }
}
/* button background */
itemDef
{
name "ButtonBackground"
style WINDOW_STYLE_SHADER
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH CHOICE_Y_SPACING CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
forecolor FLYOUT_BG_COLOR
background "white"
visible 1
decoration
state
{
name "Fly"
rect FLYOUT_BG_X_START CHOICE_Y( FLYOUT_FIRST_CHOICE_Y ) FLYOUT_BG_WIDTH ( CHOICE_Y_SPACING * FLYOUT_BUTTON_COUNT ) CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP
}
}
HINT_TEXT_ALL( (FLYOUT_BUTTON_COUNT + FLYOUT_FIRST_CHOICE_Y), (FLYOUT_BG_X_START + 10), 5, (FLYOUT_BG_WIDTH - 20), (dvarString( ui_lobby_desc )), 1 1 1 1, ( dvarInt( ui_flownOut ) == 1 ), ; )
#define SETUP_ACTION_FILESHARE \
setdvar ui_theater_shortcut_pc 1; \
close self; \
open menu_fileshare_myshare;
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( FLYOUT_FIRST_CHOICE_Y, BG_HL_COLOR, FLYOUT_BG_WIDTH, ( dvarInt( ui_flownOut ) == 1 ) )
TEMP_CHOICE_BUTTON_ALL( FLYOUT_FIRST_CHOICE_Y, "@MENU_FILESHARE_MYSHARE_CAPS",
SETUP_ACTION_FILESHARE,
setDvar ui_lobby_desc "@MPUI_FILE_SHARE_DESC";,
CLEARUIHINT,
1 1 1 0,
1,
FLYOUT_ARGS( 0, theater_flyout, TEXT_COLOR_NO_HL, FirstFlyout, SecondFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( FLYOUT_FIRST_CHOICE_Y, "@MENU_FILESHARE_MYSHARE_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
#define SETUP_ACTION_RECENTGAMES \
setdvar ui_theater_shortcut_pc 1; \
close self; \
open menu_fileshare_myrecentgames;
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 4, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 4, "@MENU_FILESHARE_MYRECENTGAMES_CAPS",
SETUP_ACTION_RECENTGAMES,
exec set ui_lobby_desc "@MPUI_MY_RECENT_GAMES_DESC";,
CLEARUIHINT,
1 1 1 0,
1,
FLYOUT_ARGS( 0, theater_flyout, TEXT_COLOR_NO_HL, SecondFlyout, ThirdFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 4, "@MENU_FILESHARE_MYRECENTGAMES_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
#define SETUP_ACTION_COMMUNITY \
if ( canShowContentFromUser( 0 ) ) \
{ \
setdvar ui_theater_shortcut_pc 1; \
close self; \
open menu_fileshare_community; \
} \
else \
{ \
open menu_community_viewwarning; \
}
TEMP_CHOICE_HIGHLIGHT_SOLID_WIDTH( 5, BG_HL_COLOR, FLYOUT_BG_WIDTH, dvarInt( ui_flownOut ) == 1 )
TEMP_CHOICE_BUTTON_ALL( 5, "@MENU_FILESHARE_COMMUNITY_CAPS",
SETUP_ACTION_COMMUNITY,
exec set ui_lobby_desc "@MPUI_COMMUNITY_DESC";,
CLEARUIHINT,
1 1 1 0,
1,
FLYOUT_ARGS( 1, theater_flyout, TEXT_COLOR_NO_HL, ThirdFlyout, NoFlyout ) )
TEMP_CHOICE_BUTTON_HIGHLIGHT_TEXT( 5, "@MENU_FILESHARE_COMMUNITY_CAPS", TEXT_COLOR_HL, dvarInt( ui_flownOut ) == 1 )
} // theater_flyout
#include "ui_mp/popupstyle.inc"
#include "ui/choices_setup_popmenu.menu"
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 1
menuDef
{
SYSTEM_POPUP_SETUP_VIS( customclassesreset, ;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_NOTICE", 1 )
SYSTEM_POPUP_SUBTITLE_VIS( "@MENU_RESETCUSTOMCLASSES", 1 )
#define LOCAL_ACCEPT_RESET_CAC \
execnow statWriteDDL cacloadouts resetWarningDislayed 1; \
execnow uploadstats; \
play CHOICE_FOCUS_SOUND; \
close customclassesreset; \
open live_flyout;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_OK", LOCAL_ACCEPT_RESET_CAC, 1, ; )
}
// ====================== single player confirmation =========================
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 1
menuDef
{
SYSTEM_POPUP_SETUP_VIS( error_netconnect_popmenu, ;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_NOTICE", 1 )
SYSTEM_POPUP_SUBTITLE_VIS( "@XBOXLIVE_NETCONNECTION", 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_EXIT", close self;, 1, ; )
}
#define SETUP_SINGLE_PLAYER \
execnow "set ui_skipMainLockout 0"; \
setdvar ui_changed_exe 1; \
exec "wait;wait;wait"; \
uiScript startSingleplayer;
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 2
menuDef
{
SYSTEM_POPUP_SETUP_VIS( single_popmenu, setFocus single_popmenu_2, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_SWITCH_TO_SOLO_COOP_MENU", 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_YES", SETUP_SINGLE_PLAYER, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_NO", close self, 1, name single_popmenu_2 )
}
}