mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-04-21 17:15:42 +00:00
539 lines
22 KiB
Plaintext
539 lines
22 KiB
Plaintext
#include "ui/menudef.h"
|
|
#include "ui_mp/newframe.inc"
|
|
|
|
#define CHOICE_X_START -258
|
|
#define CHOICE_Y_START 35
|
|
#define BUTTON_BG_WIDTH 180
|
|
|
|
#define CHOICE_SEP_OFFSET_X 20
|
|
#define CHOICE_SEP_OFFSET_Y -2
|
|
#define CHOICE_SEP_1 1
|
|
#define CHOICE_SEP_2 4
|
|
#define CHOICE_GROUP "xboxlive_basictraining"
|
|
|
|
#define FLYOUT_NONE 0
|
|
#define FLYOUT_TRAINING 3
|
|
|
|
#include "ui_mp/menustyle.inc"
|
|
#include "ui/choices_setup_common.menu"
|
|
#include "ui_mp/stats_info.inc"
|
|
#include "ui_mp/friendslist.inc"
|
|
|
|
#define MENU_FONT_SIZE TEXTSIZE_DEFAULT
|
|
#define HIGHLIGHT_SIZE 142 22
|
|
#define MENU_FONT_COLOR 1 1 1 0.5
|
|
#define MENU_FONT_COLOR2 1 1 1 0.5
|
|
#define MENU_LOCKED_COLOR 0.25 0.25 0.25 1
|
|
|
|
#undef CHOICE_SIZE_X
|
|
#define CHOICE_SIZE_X BUTTON_BG_WIDTH
|
|
#undef CHOICE_TEXTSTYLE
|
|
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
|
|
|
|
#undef CHOICE_HORIZONTAL_ALIGN
|
|
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER
|
|
#undef CHOICE_Y_SPACING
|
|
#define CHOICE_Y_SPACING CHOICE_SIZE_Y
|
|
|
|
#define FLYOUT_BG_COLOR 0 0 0 0.3
|
|
|
|
#define SELECTION_IMAGE_BIG( materialArg ) ( "menu_" + materialArg + "_map_select_big" )
|
|
|
|
#define BOT_DVAR_CHECK \
|
|
execNow if ( dvarInt( bot_friends ) > 11 ) set bot_friends 11; exec "updategamerprofile"; \
|
|
execNow if ( dvarInt( bot_enemies ) > 11 ) set bot_enemies 11; exec "updategamerprofile";
|
|
#include "ui_mp/common_macro.inc"
|
|
|
|
#undef ON_ESC
|
|
#define ON_ESC \
|
|
setdvar xblive_basictraining "0"; \
|
|
setDvar xblive_privatematch "0" \
|
|
setDvar leaveImmediately "0"; \
|
|
close self; \
|
|
open main_text;
|
|
|
|
{
|
|
menuDef
|
|
{
|
|
name menu_xboxlive_basictraining
|
|
fullscreen 1
|
|
rect 0 0 640 480
|
|
focuscolor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
border 0
|
|
soundloop MENU_MUSIC
|
|
control MENU_CONTROL_USED
|
|
allowSignIn
|
|
|
|
onOpen
|
|
{
|
|
execnow "validatePrivateMatchGametype";
|
|
exec "exec dvar_defaults.cfg";
|
|
setDvar onlinegame "1";
|
|
setdvar xblive_rankedmatch "0";
|
|
setdvar xblive_basictraining "1";
|
|
setdvar ui_inviteonly "0";
|
|
setdvar invite_visible "1";
|
|
setdvar ui_selectlobby "0";
|
|
setdvar popup_open "0";
|
|
|
|
execNow set scr_hc_tdm_scorelimit ( dvarString( scr_tdm_scorelimit ) );
|
|
execNow set scr_hc_dm_scorelimit ( dvarString( scr_dm_scorelimit ) );
|
|
execNow set scr_hc_tdm_timelimit ( dvarString( scr_tdm_timelimit ) );
|
|
execNow set scr_hc_dm_timelimit ( dvarString( scr_dm_timelimit ) );
|
|
|
|
execNow if ( !dvarbool( "xblive_basictraining_popup" ) ) openmenu "basictraining_msg";
|
|
|
|
exec set ui_bg_image SELECTION_IMAGE_BIG( dvarString( ui_mapname ) );
|
|
|
|
exec set show_list_player_info 0;
|
|
CLEARUIHINT
|
|
if ( dvarInt( scr_hardcore ) == 1 )
|
|
{
|
|
if ( dvarString( ui_gametype ) == "dm" )
|
|
{
|
|
execNow set ui_gametype( "hc_dm" );
|
|
}
|
|
|
|
if ( dvarString( ui_gametype ) == "tdm" )
|
|
{
|
|
execNow set ui_gametype( "hc_tdm" );
|
|
}
|
|
}
|
|
}
|
|
onFocus
|
|
{
|
|
if ( dvarString( ui_gametype ) != dm && dvarString( ui_gametype ) != hc_dm )
|
|
{
|
|
//BOT_DVAR_CHECK;
|
|
}
|
|
|
|
setDvar ui_flyoutHasFocus FLYOUT_NONE;
|
|
exec set ui_bg_image SELECTION_IMAGE_BIG( dvarString( ui_mapname ) );
|
|
}
|
|
onClose
|
|
{
|
|
play "uin_navigation_backout";
|
|
setdvar popup_open "1";
|
|
setfocus popup_hide;
|
|
hide selection_right;
|
|
setdvar ui_bg_image "";
|
|
}
|
|
onEsc
|
|
{
|
|
ON_ESC
|
|
}
|
|
|
|
// ------------------ statics ------------------------
|
|
#include "ui_mp/blurredbg.inc"
|
|
|
|
// ----------------- Scroller --------------------------
|
|
#include "ui/scroller.inc"
|
|
|
|
// ----------------- title --------------------------
|
|
CHOICE_MENU_TITLE_CENTER_ALIGN_VIS( "@MPUI_BASICTRAINING_LOBBY_CAPS", ITEM_ALIGN_TOP_RIGHT, 1 )
|
|
|
|
// ---------------------------- map ------------------------------------
|
|
#define GAMEINFO_ORIENTATION 1
|
|
#define GAMEINFO_X CHOICE_X_START
|
|
#define GAMEINFO_Y 235
|
|
#define GAMEINFO_ORIGIN GAMEINFO_X GAMEINFO_Y
|
|
#define GAMEINFO_WIDTH BUTTON_BG_WIDTH
|
|
#define GAMEINFO_WIDTH2 GAMEINFO_WIDTH
|
|
#define GAMEINFO_HEIGHT 80
|
|
|
|
#include "ui_mp/game_info.inc"
|
|
#define MAPIMAGE SELECTION_IMAGE_FINAL( dvarString( ui_mapname ) )
|
|
#define MAPNAME locString( tableLookup( "mp/mapstable.csv", 0, dvarString( ui_mapname ), 3 ) )
|
|
#define GAMETYPENAME locString( tableLookup( "mp/gametypesTable.csv", 0, dvarString( ui_gametype ), 1 ) )
|
|
|
|
#define VOTE_BG_SIZE 20
|
|
|
|
#define SELECTION_IMAGE_FINAL( materialArg ) \
|
|
( "menu_" + materialArg + "_map_select_final" )
|
|
|
|
#define MAP_SELECTION_INFO( xPos, yPos, widthArg, heightArg, mapName, gametypeName, visArg ) \
|
|
PREPROC_TEXT_DRAW_ALL( (xPos+widthArg-96-8) (yPos+heightArg-VOTE_BG_SIZE+1-18) 96 24 CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_BOTTOM, \
|
|
0 0, toUpper( mapName ), TEXTSIZE_LARGE, 0, 0, ITEM_ALIGN_TOP_RIGHT, 1 1 1 1, UI_FONT_EXTRABIG, ITEM_TEXTSTYLE_NORMAL, \
|
|
visArg, ; ) \
|
|
PREPROC_TEXT_DRAW_VIS( (xPos+widthArg-96-8) (yPos+heightArg-VOTE_BG_SIZE+1) 96 20 CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_BOTTOM, \
|
|
0 0, gametypeName, TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_RIGHT, 1 1 1 1, \
|
|
visArg )
|
|
|
|
#define MAP_X_START (-MAP_WIDTH-112)
|
|
#define MAP_Y_START (-MAP_HEIGHT-25)
|
|
#define MAP_WIDTH 183
|
|
#define MAP_ASPECT_RATIO (203/275)
|
|
#define MAP_HEIGHT (MAP_WIDTH*MAP_ASPECT_RATIO)
|
|
|
|
PREPROC_SHADER_DRAW_VIS_EX( MAP_X_START MAP_Y_START MAP_WIDTH MAP_HEIGHT CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_BOTTOM,
|
|
MAPIMAGE, 1 1 1 1,
|
|
1, ; )
|
|
|
|
MAP_SELECTION_INFO( MAP_X_START, MAP_Y_START, MAP_WIDTH, MAP_HEIGHT, MAPNAME, GAMETYPENAME, 1 )
|
|
|
|
// ---------------------- locked hint -------------------------
|
|
#define HINT_X_START ( CHOICE_X_START - 13 )
|
|
HINT_TEXT_ALL( 9, HINT_X_START, 7, CHOICE_SIZE_X, dvarString( ui_hint_text ), 1 1 1 1, dvarBool( ui_show_arrow ), ; )
|
|
|
|
|
|
// ---------------------- party status description -------------------------
|
|
#define STATUS_START_X 145
|
|
#define STATUS_START_Y -48
|
|
#define STATUS_RECT STATUS_START_X STATUS_START_Y 150 25 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_BOTTOM
|
|
|
|
PREPROC_TEXT_DRAW_VIS( STATUS_RECT, 0 0, "@MENU_STATUS_OPEN_DESC_CAPS", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, MEDIUM_GRAY, when( dvarint( "party_privacyStatus" ) == 0 && !dvarbool( "xblive_basictraining" ) ) )
|
|
PREPROC_TEXT_DRAW_VIS( STATUS_RECT, 0 0, "@MENU_STATUS_OPEN_FRIENDS_DESC_CAPS", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, MEDIUM_GRAY, when( dvarint( "party_privacyStatus" ) == 1 && !dvarbool( "xblive_basictraining" ) ) )
|
|
PREPROC_TEXT_DRAW_VIS( STATUS_RECT, 0 0, "@MENU_STATUS_INVITE_ONLY_DESC_CAPS", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, MEDIUM_GRAY, when( dvarint( "party_privacyStatus" ) == 2 && !dvarbool( "xblive_basictraining" ) ) )
|
|
PREPROC_TEXT_DRAW_VIS( STATUS_RECT, 0 0, "@MENU_STATUS_CLOSE_DESC_CAPS", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, MEDIUM_GRAY, when( dvarint( "party_privacyStatus" ) == 3 && !dvarbool( "xblive_basictraining" ) ) )
|
|
|
|
|
|
//=========================================================
|
|
//================= MENU SELECTION ACTIONS ================
|
|
//=========================================================
|
|
#define SETUP_GAME_MODE \
|
|
resetdvar scr_hardcore; \
|
|
resetdvar scr_team_fftype; \
|
|
resetdvar scr_player_healthregentime; \
|
|
resetdvar scr_player_maxhealth; \
|
|
resetdvar scr_tdm_waverespawndelay; \
|
|
resetdvar scr_game_allowkillcam; \
|
|
resetdvar scr_allowbattlechatter; \
|
|
resetdvar scr_team_kickteamkillers; \
|
|
resetdvar scr_game_suicidepointloss; \
|
|
resetdvar scr_team_teamkillpointloss; \
|
|
resetdvar scr_dog_health; \
|
|
resetdvar scr_dm_playerrespawndelay; \
|
|
resetdvar scr_disable_tacinsert; \
|
|
if ( dvarString( ui_gametype ) == "hc_tdm" )\
|
|
{ \
|
|
execNow set scr_tdm_scorelimit ( dvarFloat( scr_hc_tdm_scorelimit ) ); \
|
|
execNow set scr_tdm_timelimit ( dvarFloat( scr_hc_tdm_timelimit ) ); \
|
|
execNow set g_gametype "tdm"; \
|
|
execNow set ui_gametype "tdm"; \
|
|
execNow set scr_hardcore 1; \
|
|
execNow set scr_team_fftype 1; \
|
|
execNow set scr_player_healthregentime 0; \
|
|
execNow set scr_player_maxhealth 30; \
|
|
execNow set scr_tdm_waverespawndelay 15; \
|
|
execNow set scr_game_allowkillcam 0; \
|
|
execNow set scr_allowbattlechatter 0; \
|
|
execNow set scr_team_kickteamkillers 1; \
|
|
execNow set scr_game_suicidepointloss -100; \
|
|
execNow set scr_team_teamkillpointloss -100; \
|
|
execNow set scr_dog_health 30; \
|
|
} \
|
|
if ( dvarString( ui_gametype ) == "hc_dm" )\
|
|
{ \
|
|
execNow set scr_dm_scorelimit ( dvarFloat( scr_hc_dm_scorelimit ) ); \
|
|
execNow set scr_dm_timelimit ( dvarFloat( scr_hc_dm_timelimit ) ); \
|
|
execNow set g_gametype "dm"; \
|
|
execNow set ui_gametype "dm"; \
|
|
execNow set scr_hardcore 1; \
|
|
execNow set scr_player_healthregentime 0; \
|
|
execNow set scr_player_maxhealth 30; \
|
|
execNow set scr_game_allowkillcam 0; \
|
|
execNow set scr_allowbattlechatter 0; \
|
|
execNow set scr_dm_playerrespawndelay 7; \
|
|
execNow set scr_game_suicidepointloss -50; \
|
|
execNow set scr_dog_health 30; \
|
|
execNow set scr_disable_tacinsert 1; \
|
|
} \
|
|
if ( dvarString( ui_gametype ) == "shrp" || dvarString( ui_gametype ) == "gun" || dvarString( ui_gametype ) == "oic" || dvarString( ui_gametype ) == "hlnd" ) \
|
|
{ \
|
|
execNow set bot_wager "1"; \
|
|
} \
|
|
else \
|
|
{ \
|
|
execNow set bot_wager "0"; \
|
|
} \
|
|
execNow set scr_hlnd_timelimit ""; \
|
|
execNow set scr_hlnd_scorelimit ""; \
|
|
execNow set scr_oic_timelimit ""; \
|
|
execNow set scr_oic_scorelimit ""; \
|
|
execNow set scr_gun_timelimit ""; \
|
|
execNow set scr_gun_scorelimit ""; \
|
|
execNow set scr_shrp_timelimit ""; \
|
|
execNow set scr_shrp_scorelimit "";
|
|
|
|
|
|
#define SETUP_ACTION_STARTMATCH \
|
|
SETUP_GAME_MODE \
|
|
exec "selectStringTableEntryInDvar mp/didyouknow.csv 0 didyouknow"; \
|
|
uiscript StartListenServer;
|
|
|
|
#define SETUP_ACTION_GAMESETUP \
|
|
open basictraining_settings;
|
|
|
|
#define SETUP_ACTION_CREATEACLASS \
|
|
execnow "set ui_cac_ingame 0"; \
|
|
setdvar invite_visible "0"; \
|
|
/*exec "uploadstats";*/ \
|
|
open cac_main;
|
|
|
|
#define SETUP_ACTION_CONTRACTS \
|
|
exec "endsplitscreensignin"; \
|
|
open menu_xboxlive_contracts;
|
|
|
|
#define SETUP_ACTION_KILLSTREAKS \
|
|
exec "endsplitscreensignin"; \
|
|
open menu_xboxlive_killstreaks;
|
|
|
|
|
|
//=========================================================
|
|
//===================== MENU SELECTION ====================
|
|
//=========================================================
|
|
#define ANY_NEW_TRAINING_PLAYERCARD_FEATURE \
|
|
( ANY_NEW_CHALLENGES || IS_ITEM_NEW( FEATURE_COMBAT_RECORD ) )
|
|
|
|
#define IS_LOBBY_HOST 1
|
|
#define IS_NOT_LOBBY_HOST 0
|
|
|
|
// HOST BUTTONS
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 1, "@MPUI_START_MATCH_CAPS",
|
|
SETUP_ACTION_STARTMATCH,
|
|
SET_HINT_TEXT( "@MPUI_START_MATCH_DESC" ),
|
|
CLEARUIHINT,
|
|
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 1 ), 0 0, "@MPUI_START_MATCH_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 2, "@MPUI_CHANGE_MAP_CAPS",
|
|
open select_map,
|
|
SET_HINT_TEXT( "@MPUI_CHANGE_MAP_DESC" ),
|
|
CLEARUIHINT,
|
|
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 2 ), 0 0, "@MPUI_CHANGE_MAP_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 3, "@MPUI_CHANGE_GAME_MODE_CAPS",
|
|
open select_game_mode,
|
|
SET_HINT_TEXT( "@MPUI_CHANGE_GAME_MODE_DESC" ),
|
|
CLEARUIHINT,
|
|
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 3 ), 0 0, "@MPUI_CHANGE_GAME_MODE_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 4, "@MPUI_EDIT_GAME_OPTIONS_CAPS",
|
|
SETUP_ACTION_GAMESETUP,
|
|
SET_HINT_TEXT( "@MPUI_EDIT_GAME_OPTIONS_DESC" ),
|
|
CLEARUIHINT,
|
|
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 4 ), 0 0, "@MPUI_EDIT_GAME_OPTIONS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 5, "@MPUI_CREATE_A_CLASS_CAPS",
|
|
SETUP_ACTION_CREATEACLASS,
|
|
SET_HINT_TEXT( "@MPUI_CAC_DESC" ) CLEAR_ITEM_NEW( FEATURE_CREATE_A_CLASS ),
|
|
CLEARUIHINT,
|
|
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
TEMP_CHOICE_DBUTTON_FOCUS_VIS_EX( 5, "@MPUI_CREATE_A_CLASS_CAPS",
|
|
SET_HINT_TEXT( GET_UNLOCK_LEVEL_STRING( FEATURE_CREATE_A_CLASS ) ),
|
|
CLEARUIHINT,
|
|
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE, ; )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 5 ), 0 0, "@MPUI_CREATE_A_CLASS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
CHOICE_NEWICON_VIS( 5, "menu_mp_lobby_new", when( ANY_NEW_CAC && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE ) )
|
|
CHOICE_LOCKEDICON_VIS( 5, "menu_mp_lobby_locked", when( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE ) )
|
|
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 6, "@MENU_KILLSTREAKS_CAPS",
|
|
SETUP_ACTION_KILLSTREAKS,
|
|
SET_HINT_TEXT( "@MPUI_KILLSTREAKS_DESC" ) CLEAR_ITEM_NEW( FEATURE_KILLSTREAKS ),
|
|
CLEARUIHINT,
|
|
!IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
TEMP_CHOICE_DBUTTON_FOCUS_VIS_EX( 6, "@MENU_KILLSTREAKS_CAPS",
|
|
SET_HINT_TEXT( GET_UNLOCK_LEVEL_STRING( FEATURE_KILLSTREAKS ) ),
|
|
CLEARUIHINT,
|
|
IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE, ; )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 6 ), 0 0, "@MENU_KILLSTREAKS_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
CHOICE_NEWICON_VIS( 6, "menu_mp_lobby_new", when( IS_ITEM_NEW( FEATURE_KILLSTREAKS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE ) )
|
|
CHOICE_LOCKEDICON_VIS( 6, "menu_mp_lobby_locked", when( IS_ITEM_LOCKED( FEATURE_KILLSTREAKS ) && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE ) )
|
|
|
|
|
|
TEMP_CHOICE_BUTTON_FOCUS_VIS( 8, "@MENU_PLAYERCARD_CAPS",
|
|
SETUP_ACTION_PLAYERCARD,
|
|
SET_HINT_TEXT( "@MPUI_PLAYERCARD_DESC" ),
|
|
CLEARUIHINT,
|
|
dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE )
|
|
PREPROC_TEXT_DRAW_VIS( CHOICE_RECT( 8 ), 0 0, "@MENU_PLAYERCARD_CAPS", CHOICE_TEXTSIZE, CHOICE_TEXT_OFFSET_X, 0, CHOICE_TEXTALIGN, MEDIUM_GRAY, when( dvarInt( ui_flyoutHasFocus ) != FLYOUT_NONE ); )
|
|
CHOICE_NEWICON_VIS( 8, "menu_mp_lobby_new", when( ANY_NEW_TRAINING_PLAYERCARD_FEATURE && IS_LOBBY_HOST && dvarInt( ui_flyoutHasFocus ) == FLYOUT_NONE ) )
|
|
|
|
#undef CHOICE_TEXTSIZE
|
|
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
|
|
|
|
#undef CHOICE_TEXTFONT
|
|
#define CHOICE_TEXTFONT UI_FONT_NORMAL
|
|
|
|
// Friends button
|
|
FRIENDS_BUTTON
|
|
|
|
// back button
|
|
NEW_FRAME_BACK_BUTTON_ACTION_PC( ON_ESC )
|
|
|
|
#include "ui/safearea.menu"
|
|
}
|
|
|
|
|
|
#include "ui/framestyle.inc"
|
|
#include "ui/frame.inc"
|
|
|
|
#undef CHOICE_GROUP
|
|
#define CHOICE_GROUP "basictraining_difficulty"
|
|
|
|
#undef CHOICE_X_START
|
|
#define CHOICE_X_START (-FRAME_DEFAULT_WIDTH/2+15)
|
|
|
|
#undef CHOICE_Y_START
|
|
#define CHOICE_Y_START ( -FRAME_DEFAULT_HEIGHT / 2 + 15 + NEW_FRAME_BG_Y_OFFSET( FRAME_DEFAULT_HEIGHT ) )
|
|
|
|
#define DIFFICULTY_NAME_X 0
|
|
#define DIFFICULTY_NAME_Y CHOICE_Y_START
|
|
|
|
#define ITEM_IMAGE_X DIFFICULTY_NAME_X
|
|
#define ITEM_IMAGE_Y (CHOICE_Y_START-5)
|
|
#define ITEM_IMAGE_ASPECT_RATIO 1
|
|
#define ITEM_IMAGE_WIDTH (ITEM_IMAGE_HEIGHT * ITEM_IMAGE_ASPECT_RATIO)
|
|
#define ITEM_IMAGE_HEIGHT 240
|
|
#define ITEM_IMAGE_SIZE ITEM_IMAGE_WIDTH ITEM_IMAGE_HEIGHT
|
|
|
|
#define DIFFICULTY_NAME_SIZE ITEM_IMAGE_WIDTH 30
|
|
|
|
#define DIFFICULTY_DESC_X (ITEM_IMAGE_X + 20)
|
|
#define DIFFICULTY_DESC_Y (ITEM_IMAGE_Y + ITEM_IMAGE_HEIGHT - 20)
|
|
#define DIFFICULTY_DESC_SIZE 200 75
|
|
|
|
#define DIFFICULTY_INFO \
|
|
/* Name */ \
|
|
PREPROC_TEXT_DRAW( DIFFICULTY_NAME_X DIFFICULTY_NAME_Y DIFFICULTY_NAME_SIZE CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, 0 0, \
|
|
localVarString( ui_info_name ), \
|
|
TEXTSIZE_LARGE, 0, 0, ITEM_ALIGN_TOP_CENTER, 1 1 1 1 ) \
|
|
/* Image */ \
|
|
PREPROC_SHADER_DRAW( ITEM_IMAGE_X ITEM_IMAGE_Y ITEM_IMAGE_SIZE CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, \
|
|
localVarString( ui_diff_pic ), 1 1 1 0.9 ) \
|
|
/* Description */ \
|
|
PREPROC_TEXT_DRAW_VIS_EX( DIFFICULTY_DESC_X DIFFICULTY_DESC_Y DIFFICULTY_DESC_SIZE CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN, 0 0, \
|
|
localVarString( ui_info ), \
|
|
TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_CENTER, FRAME_LT_GREY_RGB 1, \
|
|
1, autowrapped )
|
|
|
|
#define DIFFICULTY_ONFOCUS( descArg, nameArg, imageArg )\
|
|
setLocalVarString ui_info descArg; \
|
|
setLocalVarString ui_info_name nameArg; \
|
|
setLocalVarString ui_diff_pic imageArg
|
|
|
|
#define SET_DIFFICULTY( difficulty ) \
|
|
exec set bot_difficulty difficulty; \
|
|
close self;
|
|
|
|
#undef CHOICE_SEP_SPACING
|
|
#define CHOICE_SEP_SPACING 0
|
|
|
|
menuDef
|
|
{
|
|
name basictraining_difficulty
|
|
rect 0 0 640 480
|
|
focuscolor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
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
|
|
|
|
onOpen
|
|
{
|
|
activateBlur;
|
|
focusFirst;
|
|
play uin_navigation_menu_lg_open;
|
|
}
|
|
onFocus { }
|
|
onClose
|
|
{
|
|
deactivateBlur;
|
|
execNow "updategamerprofile";
|
|
}
|
|
onESC
|
|
{
|
|
close self;
|
|
}
|
|
execKeyInt BUTTON_B { }
|
|
|
|
FRAME_DEFAULT
|
|
FRAME_TITLE_DEFAULT( "@MENU_SELECT_DIFFICULTY_CAPS", 1 )
|
|
|
|
//FRAME_SUBTITLE_DEFAULT( "@MENU_SELECT_DIFF_DESC", 1 ) This was commented out in the main basictraining/difficulty menus on all platforms in cl#702108, so there doesn't seem to be a good reason to have it here any longer
|
|
|
|
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 1, "@MENU_RECRUIT_CAPS",
|
|
SET_DIFFICULTY( "easy" ),
|
|
DIFFICULTY_ONFOCUS( "@MENU_DIFF_RECRUIT_DESC", "@MENU_RECRUIT_CAPS", "playlist_sp_recr" ),
|
|
;, 1, ; )
|
|
|
|
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 2, "@MENU_REGULAR_CAPS",
|
|
SET_DIFFICULTY( "normal" ),
|
|
DIFFICULTY_ONFOCUS( "@MENU_DIFF_REGULAR_DESC", "@MENU_REGULAR_CAPS", "playlist_sp_reg" ),
|
|
;, 1, ; )
|
|
|
|
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 3, "@MENU_HARDENED_CAPS",
|
|
SET_DIFFICULTY( "hard" ),
|
|
DIFFICULTY_ONFOCUS( "@MENU_DIFF_HARDENED_DESC", "@MENU_HARDENED_CAPS", "playlist_sp_hard" ),
|
|
;, 1, ; )
|
|
|
|
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 4, "@MENU_VETERAN_CAPS",
|
|
SET_DIFFICULTY( "fu" ),
|
|
DIFFICULTY_ONFOCUS( "@MENU_DIFF_VETERAN_DESC", "@MENU_VETERAN_CAPS", "playlist_sp_vet" ),
|
|
;, 1, ; )
|
|
|
|
DIFFICULTY_INFO
|
|
}
|
|
|
|
|
|
#undef CHOICE_FOCUS_SOUND
|
|
#define CHOICE_FOCUS_SOUND "uin_navigation_over"
|
|
|
|
#undef CHOICE_Y_SPACING
|
|
#define CHOICE_Y_SPACING (CHOICE_SIZE_Y + 2)
|
|
|
|
#include "ui_mp/popupstyle.inc"
|
|
#include "ui/choices_setup_popmenu.menu"
|
|
|
|
#undef POPUP_WIDTH
|
|
#define POPUP_WIDTH MEDIUM_POPUP_WIDTH
|
|
#undef POPUP_HEIGHT
|
|
#define POPUP_HEIGHT MEDIUM_POPUP_HEIGHT
|
|
#undef MEDIUM_POPUP_TITLE_X_START
|
|
#define MEDIUM_POPUP_TITLE_X_START POPUP_SIDE_PAD
|
|
#undef MEDIUM_POPUP_TITLE_Y_START
|
|
#define MEDIUM_POPUP_TITLE_Y_START POPUP_SIDE_PAD
|
|
#undef CHOICE_SIZE_X
|
|
#define CHOICE_SIZE_X ( (MEDIUM_POPUP_WIDTH - (POPUP_SIDE_PAD * 2) ) / 2 )
|
|
|
|
#undef POPUP_BUTTON_COUNT
|
|
#define POPUP_BUTTON_COUNT 1
|
|
#undef CHOICE_Y_START
|
|
#define CHOICE_Y_START POPUP_Y_START_BOTTOM
|
|
menuDef
|
|
{
|
|
MEDIUM_POPUP_SETUP_VIS( basictraining_msg, ;, close self;, POPUP_GLOW_WHITE, 0, 1 )
|
|
onClose
|
|
{
|
|
setDvar xblive_basictraining_popup "1";
|
|
open basictraining_difficulty;
|
|
}
|
|
execkeyint BUTTON_START {}
|
|
execKeyInt APAD_UP {}
|
|
execKeyInt DPAD_UP {}
|
|
execKeyInt APAD_DOWN {}
|
|
execKeyInt DPAD_DOWN {}
|
|
execKeyInt APAD_LEFT {}
|
|
execKeyInt DPAD_LEFT {}
|
|
execKeyInt APAD_RIGHT {}
|
|
execKeyInt DPAD_RIGHT {}
|
|
|
|
PREPROC_TEXT_DRAW_VIS_EX( MEDIUM_POPUP_TITLE_X_START MEDIUM_POPUP_TITLE_Y_START (MEDIUM_POPUP_WIDTH-30) MEDIUM_POPUP_TITLE_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0,
|
|
"@MPUI_BASICTRAINING_LOBBY_CAPS", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, 1, autowrapped )
|
|
|
|
PREPROC_TEXT_DRAW_VIS_EX( MEDIUM_POPUP_TITLE_X_START (MEDIUM_POPUP_TITLE_Y_START+MEDIUM_POPUP_TITLE_HEIGHT+10) (MEDIUM_POPUP_WIDTH-30) 100 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0,
|
|
"@MPUI_BASICTRAINING_POPUP_DESC", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, 1, autowrapped )
|
|
|
|
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_CONTINUE", close self;, 1, ; )
|
|
}
|
|
}
|