t5_bot_warfare/mods/mp_bots/ui_mp/pc_basictraining.menu
Your Name 7368dad717 1.03
2020-07-25 00:22:01 -06:00

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, ; )
}
}