Start push update

This commit is contained in:
INeedBots
2021-02-18 13:53:14 -06:00
parent e11e055c68
commit 69bca119d9
85 changed files with 14865 additions and 14605 deletions

View File

@ -0,0 +1,844 @@
#include "ui/menudef.h"
#include "ui_mp/newframe.inc"
#include "ui_mp/common_macro.inc"
#include "ui_mp/menustyle.inc"
#include "ui_mp/choices_setup_teams.menu"
#define PC_INGAME 1
#include "ui_mp/overlaybg.inc"
#define GAME_DESC_VIS_ARG ( dvarInt( "xblive_basictraining" ) || dvarBool( splitscreen ) || dvarBool( systemlink ) || (dvarString("ui_gametype_idx") != "0") )
menuDef
{
name "pausedbkgnd_callvote"
fullScreen 0
rect 0 0 640 480
focusColor COLOR_FOCUSED
blurWorld 4.8
visible 1
#define SINGLE_PLAYER 1
#include "ui_mp/ingamebg.inc"
}
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 170
#define BACKGROUND_COLOR_GRAY_RGB 0.62 0.70 0.70
#ifdef PC
#undef CHOICE_X_START
#define CHOICE_X_START 30
#undef CHOICE_Y_START
#define CHOICE_Y_START -120
#define CHOICE_SEP_1 5
#else
#undef CHOICE_X_START
#define CHOICE_X_START 30
#undef CHOICE_Y_START
#define CHOICE_Y_START -30
#define CHOICE_SEP_1 3
#endif
#undef CHOICE_GROUP
#define CHOICE_GROUP "callvote"
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_LEFT
#undef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER
#undef BUTTON_BG_X_START
#define BUTTON_BG_X_START 30
#undef BUTTON_BG_Y_START
#define BUTTON_BG_Y_START 42
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#undef CHOICE_TEXTSIZE
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
{
menuDef
{
name callvote
fullScreen 0
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN // Size and position of the menu
focusColor COLOR_FOCUSED // Menu focus color for text and items
#ifdef CONSOLE
blurWorld 7.0
#endif
onOpen
{
showMenu "pausedbkgnd_callvote";
}
onClose
{
hideMenu "pausedbkgnd_callvote";
}
onEsc
{
close self;
open "class";
}
#define CALLVOTE_SUBTITLE ""
#include "ui_mp/scriptmenus/callvote_buttons.inc"
NEW_FRAME_BACK_BUTTON_ACTION_PC_VIS( close self;, 1 )
}
menuDef
{
name changegametype
fullScreen 0
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN // Size and position of the menu
focusColor COLOR_FOCUSED // Menu focus color for text and items
#ifdef CONSOLE
blurWorld 7.0
#endif
onEsc
{
showMenu callvote;
close self;
}
onOpen
{
setdvar invite_visible "0";
setDvar ui_mapname "mp_array";
setDvar ui_gametype "tdm";
setdvar ui_gametype_idx "1";
setDvar ui_preview dvarString( "ui_mapname" );
setdvar ui_preview_gt dvarString( "ui_gametype" );
setdvar ui_preview_gt_idx dvarString( "ui_gametype_idx" );
setDvar settings_map_selected 1;
execNow movefeeder top gamemode_selection;
execNow movefeeder top maplist;
}
onClose
{
}
#undef CALLVOTE_SUBTITLE
#define CALLVOTE_SUBTITLE "@MPUI_CHANGE_GAME_TYPEMAP"
#include "ui_mp/scriptmenus/callvote_buttons.inc"
#define GAMEMODE_X 210
#define MAPSELECT_X 430
#define MAPSELECT_Y 255
#define GAMEMODE_Y 255
#define THUMBNAIL_Y 18
itemDef
{
name gamemode_image
style WINDOW_STYLE_SHADER
type ITEM_TYPE_IMAGE
rect GAMEMODE_X THUMBNAIL_Y 170 135 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
border 0
bordercolor .5 .5 .5 .5
origin 0 0
exp material( tableLookup( "mp/gametypesTable.csv", 0, dvarString( ui_gametype ), 3 ) ); // ui_preview_gt
visible when(GAME_DESC_VIS_ARG);
decoration
}
itemDef
{
name gamemode_custom_image
style WINDOW_STYLE_SHADER
type ITEM_TYPE_IMAGE
rect GAMEMODE_X THUMBNAIL_Y 170 135 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
border 0
bordercolor .5 .5 .5 .5
origin 0 0
exp material( "playlist_infantry" );
visible when(!GAME_DESC_VIS_ARG);
decoration
}
itemDef
{
name gamemode_name
type ITEM_TYPE_TEXT
rect GAMEMODE_X 175 170 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_NORMAL
textscale 0.4
forecolor 1 1 1 1
exp text "@" + tableLookup( "mp/gametypesTable.csv", 0, dvarString( ui_gametype ), 1 ); // ui_preview_gt
visible when(GAME_DESC_VIS_ARG)
decoration
}
itemDef
{
name gamemode_custom_name
type ITEM_TYPE_TEXT
rect GAMEMODE_X 175 170 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_NORMAL
textscale 0.4
forecolor 1 1 1 1
text "@CUSTOM_CUSTOM_GAME_MODE_CAPS"
visible when(!GAME_DESC_VIS_ARG)
decoration
}
itemDef
{
name gamemode_desc
type ITEM_TYPE_TEXT
rect GAMEMODE_X 195 170 35 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_SMALL
textscale 0.3
forecolor 1 1 1 1
exp text "@" + tableLookup( "mp/gametypesTable.csv", 0, dvarString( ui_gametype ), 2 ); // ui_preview_gt
visible when(GAME_DESC_VIS_ARG);
autowrapped
decoration
}
itemDef
{
name gamemode_custom_desc
type ITEM_TYPE_TEXT
rect GAMEMODE_X 195 170 35 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_SMALL
textscale 0.3
forecolor 1 1 1 1
text "@CUSTOM_SELECT_FROM_FILESHARE_DESC"
visible when(!GAME_DESC_VIS_ARG);
autowrapped
decoration
}
#ifdef PC
#define LIST_PARAMS( listName ) \
usePaging \
mouseEnter \
{ \
setFocus listName; \
}
#else // #ifdef PC
#define LIST_PARAMS( listName )
#endif // #else // #ifdef PC
itemDef
{
name gamemode_selection
type ITEM_TYPE_LISTBOX
noBlinkingHighlight
rect GAMEMODE_X GAMEMODE_Y 170 170 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
style WINDOW_STYLE_FILLED
textscale CHOICE_TEXTSIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textfont UI_FONT_NORMAL
elementtype LISTBOX_TEXT
elementwidth 120
elementheight 18
textalignx 6
textaligny 0
backcolor 0 0 0 0.2
border 1
bordersize 1
bordercolor 1 1 1 0.15
outlinecolor 1 1 1 0
forecolor CHOICE_TEXTCOLOR
focusColor 1 1 1 1
disableColor 1 1 1 1
feeder FEEDER_GAMETYPES_INGAME
LIST_PARAMS( gamemode_selection )
visible 1
userarea 2 -1 0 155 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE
6 0 155 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE
doubleclick
{
setDvar ui_gametype_idx dvarString( "ui_preview_gt_idx" );
if( !GAME_DESC_VIS_ARG )
{
open "custom_select_from_fileshare_1";
}
else
{
if( dvarString( "ui_preview_gt" ) != dvarString( "ui_gametype" ) )
{
execNow "resetCustomGametype";
}
play CHOICE_ACTION_SOUND;
}
setDvar ui_gametype dvarString( ui_preview_gt );
}
action
{
setDvar ui_gametype_idx dvarString( "ui_preview_gt_idx" );
if( !GAME_DESC_VIS_ARG )
{
open "custom_select_from_fileshare_1";
}
else
{
if( dvarString( "ui_preview_gt" ) != dvarString( "ui_gametype" ) )
{
execNow "resetCustomGametype";
}
play CHOICE_ACTION_SOUND;
}
setDvar ui_gametype dvarString( ui_preview_gt );
}
}
itemDef
{
name mappreview
style WINDOW_STYLE_SHADER
type ITEM_TYPE_IMAGE
rect MAPSELECT_X THUMBNAIL_Y 170 135 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
border 0
bordercolor .5 .5 .5 .5
origin 0 0
exp material( tablelookup("mp/mapsTable.csv",0,dvarString(ui_mapname),4) ); // ui_preview
visible 1
decoration
}
itemDef
{
name map_name
type ITEM_TYPE_TEXT
rect MAPSELECT_X 175 170 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_NORMAL
textscale 0.4
forecolor 1 1 1 1
exp text "@" + tableLookup( "mp/mapsTable.csv", 0, dvarString( ui_mapname ) , 3 ); // ui_preview
visible 1
decoration
}
itemDef
{
name map_desc
type ITEM_TYPE_TEXT
rect MAPSELECT_X 195 170 35 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textfont UI_FONT_SMALL
textscale 0.3
forecolor 1 1 1 1
exp text "@" + tableLookup( "mp/mapsTable.csv", 0, dvarString( ui_mapname ) , 6 ); // ui_preview
visible 1
autowrapped
decoration
}
itemDef
{
name maplist
rect MAPSELECT_X MAPSELECT_Y 170 170 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
type ITEM_TYPE_LISTBOX
noBlinkingHighlight
style WINDOW_STYLE_FILLED
textscale CHOICE_TEXTSIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textfont UI_FONT_NORMAL
elementtype LISTBOX_TEXT
elementwidth 120
elementheight 18
textalignx 6
textaligny 0
backcolor 0 0 0 0.2
border 1
bordersize 1
bordercolor 1 1 1 0.15
outlinecolor 1 1 1 0
forecolor CHOICE_TEXTCOLOR
focusColor 1 1 1 1
disableColor 1 1 1 1
feeder FEEDER_MAPS
LIST_PARAMS( maplist )
visible 1
userarea 2 -1 0 155 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE /* FEEDER_MAPSELECTION_COLUMN_BACKGROUND */
6 0 155 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE /* FEEDER_MAPSELECTION_COLUMN_NAME */
doubleclick { setDvar ui_mapname dvarString( ui_preview ); }
action { setDvar ui_mapname dvarString( ui_preview ); }
}
itemDef
{
name vote
type ITEM_TYPE_BUTTON
rect MAPSELECT_X (MAPSELECT_Y+170+4) 40 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
exp rect W( getTextWidth(locString("@MPUI_VOTE"),UI_FONT_NORMAL,TEXTSIZE_DEFAULT)+8 )
text "@MPUI_VOTE"
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_MIDDLE_CENTER
textstyle ITEM_TEXTSTYLE_SHADOWED
style WINDOW_STYLE_FILLED
visible 1
forecolor 1 1 1 1
backcolor 1 1 1 0
border 1
bordersize 1
bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA
mouseEnter { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_SELECTED_RGBA; play CHOICE_FOCUS_SOUND; }
mouseexit { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA; }
action
{
play CHOICE_FOCUS_SOUND;
#ifdef CONSOLE
setDvar ui_gametype dvarString( ui_preview_gt );
setDvar ui_mapname dvarString( ui_preview );
uiScript voteTypeMapDVar ui_preview_gt ui_preview;
#else //#ifdef CONSOLE
uiScript voteTypeMapDVar ui_gametype ui_mapname;
#endif //#ifdef CONSOLE
close self;
}
}
#define TAB_1_TEXT (locString( "@MPUI_MAPS_CAPS" ))
#define TAB_2_TEXT (locString( "@MPUI_DLC_MAPS_CAPS" ))
#define TAB_BG_PAD 5
#define TAB_1_WIDTH ( getTextWidth( TAB_1_TEXT, UI_FONT_NORMAL, TEXTSIZE_DEFAULT ) + (TAB_BG_PAD*2) )
#define TAB_2_WIDTH ( getTextWidth( TAB_2_TEXT, UI_FONT_NORMAL, TEXTSIZE_DEFAULT ) + (TAB_BG_PAD*2) )
#define TAB_HEIGHT 15
#define MAP_TAB_1_X MAPSELECT_X
#define MAP_TAB_2_X ( MAP_TAB_1_X + TAB_1_WIDTH )
#define MAP_TAB_Y ( MAPSELECT_Y - TAB_HEIGHT )
#define MAPS_TAB_VISIBLE ( 1 )
#define DLC_TAB_VISIBLE ( dvarBool( "dlc2" ) || dvarBool( "dlc3" ) || dvarBool( "dlc4" ) )
itemDef
{
name switch_to_original_maps
type ITEM_TYPE_BUTTON
rect MAP_TAB_1_X MAP_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
exp rect W( TAB_1_WIDTH )
text "@MPUI_MAPS_CAPS"
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_MIDDLE_CENTER
textstyle ITEM_TEXTSTYLE_SHADOWED
style WINDOW_STYLE_FILLED
visible when( DLC_TAB_VISIBLE )
forecolor 1 1 1 1
backcolor 1 1 1 0
border 1
bordersize 1
bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA
mouseEnter { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_SELECTED_RGBA; play CHOICE_FOCUS_SOUND; }
mouseexit { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA; }
action
{
setDvar ui_showDLCMaps 0;
}
}
itemDef
{
name switch_to_dlc_maps
type ITEM_TYPE_BUTTON
rect 0 MAP_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
exp rect W( TAB_2_WIDTH )
exp rect X( MAP_TAB_2_X )
text "@MPUI_DLC_MAPS_CAPS"
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_MIDDLE_CENTER
textstyle ITEM_TEXTSTYLE_SHADOWED
style WINDOW_STYLE_FILLED
visible when( DLC_TAB_VISIBLE )
forecolor 1 1 1 1
backcolor 1 1 1 0
border 1
bordersize 1
bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA
mouseEnter { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_SELECTED_RGBA; play CHOICE_FOCUS_SOUND; }
mouseexit { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA; }
action
{
setDvar ui_showDLCMaps 1;
}
}
NEW_FRAME_BACK_BUTTON_ACTION_PC_VIS( exec "wait"; close self;, 1 )
}
menuDef
{
name kickplayer
fullScreen 0
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN // Size and position of the menu
focusColor COLOR_FOCUSED // Menu focus color for text and items
#ifdef CONSOLE
blurWorld 7.0
#endif
onEsc
{
showMenu callvote;
close self;
}
onClose
{
}
#undef CALLVOTE_SUBTITLE
#define CALLVOTE_SUBTITLE "@MPUI_KICK_PLAYER"
#include "ui_mp/scriptmenus/callvote_buttons.inc"
itemDef
{
name playerlist
type ITEM_TYPE_LISTBOX
noBlinkingHighlight
visible 1
rect GAMEMODE_X 90 260 330 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
style WINDOW_STYLE_FILLED
textscale CHOICE_TEXTSIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textfont UI_FONT_NORMAL
elementtype LISTBOX_TEXT
elementwidth 120
elementheight 18
textalignx 6
textaligny 0
backcolor 0 0 0 0.2
border 1
bordersize 1
bordercolor 1 1 1 0.15
outlinecolor 1 1 1 0
forecolor CHOICE_TEXTCOLOR
focusColor 1 1 1 1
disableColor 1 1 1 1
feeder FEEDER_PLAYER_LIST
LIST_PARAMS( playerlist )
userarea 2 -1 0 244 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE
6 0 244 20 32 ITEM_ALIGN_LEFT ITEM_ALIGN_MIDDLE
}
itemDef
{
name vote
type ITEM_TYPE_BUTTON
rect GAMEMODE_X (90+330+4) 40 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP
exp rect W( getTextWidth(locString("@MPUI_VOTE"),UI_FONT_NORMAL,TEXTSIZE_DEFAULT)+8 )
text "@MPUI_VOTE"
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_MIDDLE_CENTER
textstyle ITEM_TEXTSTYLE_SHADOWED
style WINDOW_STYLE_FILLED
visible 1
forecolor 1 1 1 1
backcolor 1 1 1 0
border 1
bordersize 1
bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA
mouseEnter { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_SELECTED_RGBA; play CHOICE_FOCUS_SOUND; }
mouseexit { setcolor bordercolor CHOICE_BUTTON_BORDER_COLOR_UNSELECTED_RGBA; }
action
{
play CHOICE_FOCUS_SOUND;
uiScript voteTempBan;
close self;
}
}
NEW_FRAME_BACK_BUTTON_ACTION_PC_VIS( close self;, 1 )
}
}
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 150
#undef CHOICE_X_START
#define CHOICE_X_START 0
#undef CHOICE_Y_START
#define CHOICE_Y_START 65
#undef CHOICE_SEP_OFFSET_Y
#define CHOICE_SEP_OFFSET_Y -2
#undef CHOICE_SIDEITEM_SPACING
#define CHOICE_SIDEITEM_SPACING -310
#undef CHOICE_DVAR_OFFSET_X
#define CHOICE_DVAR_OFFSET_X (CHOICE_SIZE_X+20)
#undef CHOICE_DVAR_TEXTALIGN
#define CHOICE_DVAR_TEXTALIGN ITEM_ALIGN_MIDDLE_LEFT
#include "ui_mp/menustyle.inc"
#include "ui/choices_setup_popmenu.menu"
#include "ui_mp/stats_info.inc"
#include "ui_mp/fileshare.inc"
#include "ui/framestyle.inc"
#include "ui_mp/newframe.inc"
#include "ui_mp/popup_player_info.inc"
#define GAME_MODE_FILESHARE_UPLOAD_ACTION \
execNow uploadCustomGametype ( getFeederData( "menu_game_mode_upload_1", "fileShareSlots", "slot" ) ); \
execNow "set customGameMode 1"; \
execNow "xupdatepartystate"; \
if( dvarInt( ui_custom_gobackonupload ) ) \
{ \
closeimmediate custom_game_create; \
closeimmediate select_game_mode; \
}
#include "ui_mp/popupstyle.inc"
FILESHARE_SLOT_SELECTOR_EX ( menu_game_mode_upload_1, GAME_MODE_FILESHARE_UPLOAD_ACTION, ;, open custom_game_create;, ; )
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 260
#undef CHOICE_X_START
#define CHOICE_X_START 0
#undef CHOICE_Y_START
#define CHOICE_Y_START 85
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#undef ON_ESC
#define ON_ESC \
close self;
menuDef
{
name custom_select_from_fileshare_1
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
focuscolor COLOR_FOCUSED
style WINDOW_STYLE_FILLED
priority MENU_PRI_ONTOP
control MENU_CONTROL_OPENER
soundloop MENU_MUSIC
openSlideSpeed DEFAULT_SLIDE_IN_SPEED
closeSlideSpeed DEFAULT_SLIDE_OUT_SPEED
openSlideDirection MENU_SLIDE_DIRECTION_RIGHT_TO_LEFT
closeSlideDirection MENU_SLIDE_DIRECTION_LEFT_TO_RIGHT
onOpen
{
#ifdef PC
// exec readfileshare
#endif
}
onFocus
{
activateBlur;
}
onClose
{
deactivateBlur;
}
onESC
{
ON_ESC
}
NEW_FRAME( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT )
NEW_FRAME_TITLE( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT, "@CUSTOM_FILESHARE_SELECT_MODE_TITLE", 1 )
NEW_FRAME_SUBTITLE( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT, "@CUSTOM_FILESHARE_SELECT_MODE_DESC", 1 )
PLAYER_INFO_VIS( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT, 1 )
itemDef
{
name fileShareSlots
type ITEM_TYPE_LISTBOX
feeder FEEDER_FILESHARE_MYSLOTS
FILESHARE_COMMON_OPTIONS
origin 0 0
elementwidth 70
elementheight 67
elementtype LISTBOX_TEXT
textalign ITEM_ALIGN_MIDDLE_CENTER
textfont UI_FONT_NORMAL
textscale TEXTSIZE_SUBTITLE
forecolor CHOICE_TEXTCOLOR
modal
doubleclick
{
if ( getFeederData( "slotOccupied" ) && !( FILESHARE_TASKSINPROGRESS ) )
{
if( getFeederData( "fileType" ) == "customgamemode" )
{
execNow downloadCustomGametype (getFeederData( "fileID" )) (getFeederData( "fileSize" ));
closeimmediate custom_select_from_fileshare_1;
closeimmediate select_game_mode;
}
}
}
visible 1
FILESHARE_SLOTS_USERAREAS
}
FILESHARE_BOTTOM( fileShareSlots, 1 )
/* SLOT OCCUPIED */
#define SLOT_OCCUPIED_CONDITION \
( getFeederData( "fileShareSlots", "slotOccupied" ) && getFeederData( "fileShareSlots", "count" ) > 0.0 )
#define SLOT_HAS_GAME_MODE \
( getFeederData( "fileShareSlots", "fileType" ) == "customgamemode" )
#undef FILESHARE_SELECTOR_TOOLTIP_Y
#ifdef PC
#define FILESHARE_SELECTOR_TOOLTIP_Y FILESHARE_TOOLTIP_PC_Y
#else //#ifdef PC
#define FILESHARE_SELECTOR_TOOLTIP_Y 95
#endif //#ifdef PC
// Tooltip - Occupied Slot with custom game mode
PREPROC_TEXT_DRAW_VIS_EX( -255 FILESHARE_SELECTOR_TOOLTIP_Y 280 36 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0, locString( "CUSTOM_FILESHARE_CGM_HIGHLIGHTED" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, when( SLOT_OCCUPIED_CONDITION && SLOT_HAS_GAME_MODE ), autowrapped; )
PREPROC_SHADER_DRAW_VIS_EX( -265 FILESHARE_SELECTOR_TOOLTIP_Y 11 11 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "ui_arrow_right", COLOR_BODY_TEXT, when( SLOT_OCCUPIED_CONDITION && SLOT_HAS_GAME_MODE ), ; )
// Tooltip - Occupied Slot that is not a custom game mode
PREPROC_TEXT_DRAW_VIS_EX( -255 FILESHARE_SELECTOR_TOOLTIP_Y 280 36 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, 0 0, locString( "CUSTOM_FILESHARE_CANT_SELECT" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, when( SLOT_OCCUPIED_CONDITION && !SLOT_HAS_GAME_MODE ), autowrapped; )
PREPROC_SHADER_DRAW_VIS_EX( -265 FILESHARE_SELECTOR_TOOLTIP_Y 11 11 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "ui_arrow_right", COLOR_BODY_TEXT, when( SLOT_OCCUPIED_CONDITION && !SLOT_HAS_GAME_MODE ), ; )
FILESHARE_SPINNER( 145, -45, when( FILESHARE_TASKSINPROGRESS ), 350 )
execKeyInt APAD_UP
{
execnow set fshSelectLastSlotRow 1;
setfocus fileShareSlots;
}
execKeyInt DPAD_UP
{
execnow set fshSelectLastSlotRow 1;
setfocus fileShareSlots;
}
execKeyInt APAD_DOWN
{
execnow set fshSelectFirstSlotRow 1;
setfocus fileShareSlots;
}
execKeyInt DPAD_DOWN
{
execnow set fshSelectFirstSlotRow 1;
setfocus fileShareSlots;
}
/*
execKeyInt BUTTON_X
{
open fileshare_mymovie;
}
#ifdef CONSOLE
itemDef
{
type ITEM_TYPE_TEXT
rect -210 206 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
text "@PLATFORM_FILESHARE_MYMOVIE"
textfont CHOICE_TEXTFONT
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_BOTTOM_LEFT
visible 1
decoration
}
#endif
*/
#ifndef PC
itemDef
{
type ITEM_TYPE_TEXT
rect -210 206 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
text "@PLATFORM_SELECT"
textfont CHOICE_TEXTFONT
textscale TEXTSIZE_DEFAULT
textalign ITEM_ALIGN_BOTTOM_LEFT
visible when( getFeederData( "fileShareSlots", "slotOccupied" ) == 1 )
decoration
}
#endif
NEW_FRAME_BUTTON_NOICON( 1, 28 0 0 18 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "", execnow "updatemarketplace";, ;, ;, 1, ;, ; )
//FILESHARE_LIVEBLURB( -271, 50, 290, 100, HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_CENTER, !IsPremiumSubscriber(), ( localVarInt( ui_highlight ) == 1 ) )
#ifdef CONSOLE
itemDef
{
type ITEM_TYPE_TEXT
rect -146 80 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
exp text( int( getFeederData( "fileShareSlots", "slot" ) ) )
textfont CHOICE_TEXTFONT
textscale TEXTSIZE_SMALL
textalign ITEM_ALIGN_MIDDLE_RIGHT
forecolor 1 1 1 1
visible 1
decoration
}
itemDef
{
type ITEM_TYPE_TEXT
rect -142 80 0 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER
text "@MENU_FILESHARE_OF18"
textfont CHOICE_TEXTFONT
textscale TEXTSIZE_SMALL
textalign ITEM_ALIGN_MIDDLE_LEFT
forecolor 1 1 1 1
visible 1
}
// Top Arrow
PREPROC_SHADER_DRAW_VIS_EX( -114 75 11 11 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "ui_arrow_left", COLOR_BODY_TEXT, when( getFeederData( "fileShareSlots", "slot" ) > 6 ), rotation 90; )
// Bottom Arrow 1
PREPROC_SHADER_DRAW_VIS_EX( -107 75 11 11 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "ui_arrow_right", COLOR_BODY_TEXT, when( getFeederData( "fileShareSlots", "slot" ) > 6 && getFeederData( "fileShareSlots", "slot" ) < 13 ), rotation 90; )
// Bottom Arrow 2
PREPROC_SHADER_DRAW_VIS_EX( -114 75 11 11 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER, "ui_arrow_right", COLOR_BODY_TEXT, when( getFeederData( "fileShareSlots", "slot" ) <= 6 ), rotation 90; )
#endif //#ifdef CONSOLE
// File details
FILESHARE_DETAILS( 35, (NEW_FRAME_CHOICE_Y_START-1), HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_CENTER, "custom_select_from_fileshare_1", "fileShareSlots", SLOT_OCCUPIED_CONDITION )
FILESHARE_SPINNER( 145, -45, when( FILESHARE_TASKSINPROGRESS ), 350 )
#ifdef PC
NEW_FRAME_BACK_BUTTON_ACTION( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT, ON_ESC )
#else //#ifdef PC
NEW_FRAME_BACK_BUTTON( FILESHARE_FRAME_WIDTH, FILESHARE_FRAME_HEIGHT )
#endif //#ifdef PC
#include "ui/safearea.menu"
}

View File

@ -0,0 +1,365 @@
#include "ui/menudef.h"
#include "ui_mp/common_macro.inc"
#include "ui_mp/stats_info.inc"
#include "ui/framestyle.inc"
#include "ui_mp/newframe.inc"
#undef CHOICE_X_START
#define CHOICE_X_START 30
#undef CHOICE_Y_START
#define CHOICE_Y_START -105
#ifdef PC
#define PC_INGAME //for background in overlaybg.inc
#endif
#define CHOICE_SEP_OFFSET_Y -2
#define CHOICE_SEP_1 5
#include "ui_mp/menustyle.inc"
#include "ui/choices_setup_common.menu"
#include "ui_mp/overlaybg.inc"
#define HIGH_BOUND "1000"
#undef BUTTON_BG_X_START
#define BUTTON_BG_X_START 30
#undef BUTTON_BG_Y_START
#define BUTTON_BG_Y_START 42
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 200
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_LEFT
#undef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER
// ------
#undef ON_ESC
#define ON_ESC scriptMenuResponse "back";
{
menuDef
{
name "changeclass"
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
focuscolor COLOR_FOCUSED
style WINDOW_STYLE_EMPTY
#ifdef CONSOLE
blurWorld 7.0
#endif
onOpen
{
if ( IsSplitscreen() )
{
close self;
if ( IsViewportLarge() )
{
open "changeclass_splitscreen";
}
else
{
open "changeclass_splitscreen_small";
}
}
else
{
// update player's XP
execNow "statGetByNameInDvar RANKXP ui_stat_rankxp";
if ( dvarString( ui_custom_name ) == "" )
{
execnow set ui_custom_name customclass1;
}
if( dvarString( ui_class ) == "" )
{
execnow set ui_class class_smg;
}
/*set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0";*/
setfocusbydvar "ui_customclass_selected";
//focusFirst
}
if (IsInGame())
{
showMenu "pausedbkgnd";
}
#ifdef PC
setLocalVarBool ui_hide_cac_item_info_highlights 1;
#endif // #ifdef PC
}
onClose
{
if (IsInGame())
{
hideMenu "pausedbkgnd";
}
#ifdef PC
setLocalVarBool ui_hide_cac_item_info_highlights 0;
#endif // #ifdef PC
}
onEsc
{
ON_ESC
}
execkeyint BUTTON_START
{
close self;
}
#ifndef PC // background overlay
#include "ui_mp/ingamebg.inc"
#endif // background overlay
// ------------------ TREE TITLE ------------------
CHOICE_MENU_TITLE_ALIGN_VIS( "@MPUI_CHOOSE_CLASS_CAPS", HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP, ITEM_ALIGN_MIDDLE_LEFT, 1 )
//=========================================================================
//================ MENU SELECTION FOR ONLINE/OFFLINE GAME =================
//=========================================================================
#define IS_ONLINE_GAME ( dvarInt( splitscreen ) == 0 && dvarInt( systemlink ) == 0 )
#define IS_BASICTRAINING_GAME ( dvarInt( xblive_basictraining ) > 0 )
#define FOCUS_CHECK( pnum ) \
dvartest "ui_customclass_selected" focusdvar { pnum }
#define ACTION_COMMON( pnum ) \
setDvar ui_customclass_selected pnum;
#define SHOW_ONLINE_CLASS_NAME ( IS_ONLINE_GAME && !IS_BASICTRAINING_GAME )
#define CUSTOM_CLASS_TEXT( online, offline ) \
Select( SHOW_ONLINE_CLASS_NAME, dvarString( online ), dvarString( offline ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 1, CUSTOM_CLASS_TEXT( customclass1, offline_customclass1 ),
scriptMenuResponse "custom1,0"; ACTION_COMMON( 6 ),
exec "set ui_custom_name customclass1; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), FOCUS_CHECK( 6 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 1, CUSTOM_CLASS_TEXT( customclass1, offline_customclass1 ),
;,
;,
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), decoration )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 2, CUSTOM_CLASS_TEXT( customclass2, offline_customclass2 ),
scriptMenuResponse "custom2,0"; ACTION_COMMON( 7 ),
exec "set ui_custom_name customclass2; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), FOCUS_CHECK( 7 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 2, CUSTOM_CLASS_TEXT( customclass2, offline_customclass2 ),
;,
;,
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), decoration )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 3, CUSTOM_CLASS_TEXT( customclass3, offline_customclass3 ),
scriptMenuResponse "custom3,0"; ACTION_COMMON( 8 ),
exec "set ui_custom_name customclass3; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), FOCUS_CHECK( 8 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 3, CUSTOM_CLASS_TEXT( customclass3, offline_customclass3 ),
;,
;,
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), decoration )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 4, CUSTOM_CLASS_TEXT( customclass4, offline_customclass4 ),
scriptMenuResponse "custom4,0"; ACTION_COMMON( 9 ),
exec "set ui_custom_name customclass4; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), FOCUS_CHECK( 9 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 4, CUSTOM_CLASS_TEXT( customclass4, offline_customclass4 ),
;,
;,
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), decoration )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 5, CUSTOM_CLASS_TEXT( customclass5, offline_customclass5 ),
scriptMenuResponse "custom5,0"; ACTION_COMMON( 10 ),
exec "set ui_custom_name customclass5; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
!IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), FOCUS_CHECK( 10 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 5, CUSTOM_CLASS_TEXT( customclass5, offline_customclass5 ),
;,
;,
IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ), decoration )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 6, "@CLASS_CLASS1",
scriptMenuResponse "smg_mp,0"; ACTION_COMMON( 1 ),
exec "set ui_class class_smg; set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0";,
;,
( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) || IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_1 ) || !IS_ONLINE_GAME ), FOCUS_CHECK( 1 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 6, dvarString( prestigeclass1 ),
scriptMenuResponse "prestige1,0"; ACTION_COMMON( 11 ),
exec "set ui_custom_name prestigeclass1; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
( !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_1 ) && ( !IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) ) && IS_ONLINE_GAME ), FOCUS_CHECK( 1 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 7, "@CLASS_CLASS2",
scriptMenuResponse "cqb_mp,0"; ACTION_COMMON( 2 ),
exec" set ui_class class_cqb; set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0";,
;,
( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) || IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_2 ) || !IS_ONLINE_GAME ), FOCUS_CHECK( 2 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 7, dvarString( prestigeclass2 ),
scriptMenuResponse "prestige2,0"; ACTION_COMMON( 12 ),
exec "set ui_custom_name prestigeclass2; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
( !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_2 ) && ( !IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) ) && IS_ONLINE_GAME ), FOCUS_CHECK( 2 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 8, "@CLASS_CLASS3",
scriptMenuResponse "assault_mp,0"; ACTION_COMMON( 3 ),
exec "set ui_class class_assault; set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0";,
;,
( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) || IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_3 ) || !IS_ONLINE_GAME ), FOCUS_CHECK( 3 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 8, dvarString( prestigeclass3 ),
scriptMenuResponse "prestige3,0"; ACTION_COMMON( 13 ),
exec "set ui_custom_name prestigeclass3; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND;,
;,
( !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_3 ) && ( !IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) ) && IS_ONLINE_GAME ), FOCUS_CHECK( 3 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 9, "@CLASS_CLASS4",
scriptMenuResponse "lmg_mp,0"; ACTION_COMMON( 4 ),
exec "set ui_class class_lmg; set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0"; CLEAR_ITEM_NEW( FEATURE_CLOSEASSAULT ),
;,
( ( !IS_ITEM_LOCKED( FEATURE_CLOSEASSAULT ) && ( IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_4 ) || ( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_4 ) ) ) ) || !IS_ONLINE_GAME ), FOCUS_CHECK( 4 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 9, dvarString( prestigeclass4 ),
scriptMenuResponse "prestige4,0";ACTION_COMMON( 14 ),
exec "set ui_custom_name prestigeclass4; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND; CLEAR_ITEM_NEW( FEATURE_CLOSEASSAULT ),
;,
( !IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_4 ) && IS_ONLINE_GAME ), FOCUS_CHECK( 4 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 9, "@CLASS_CLASS4",
;,
;,
( IS_ITEM_LOCKED( FEATURE_CLOSEASSAULT ) && IS_ONLINE_GAME ), decoration FOCUS_CHECK( 4 ) )
CHOICE_NEWICON_VIS( 9, "menu_mp_lobby_new", when( ( IS_ITEM_NEW( FEATURE_CLOSEASSAULT ) ) && IS_ONLINE_GAME ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 10, "@CLASS_CLASS5",
scriptMenuResponse "sniper_mp,0"; ACTION_COMMON( 5 ),
exec" set ui_class class_sniper; set ui_multi_s "HIGH_BOUND"; set ui_multi_dt 0"; CLEAR_ITEM_NEW( FEATURE_SNIPER ),
;,
( ( !IS_ITEM_LOCKED( FEATURE_SNIPER ) && ( IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_5 ) || ( IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_5 ) ) ) ) || !IS_ONLINE_GAME ), FOCUS_CHECK( 5 ) )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 10, dvarString( prestigeclass5 ),
scriptMenuResponse "prestige5,0"; ACTION_COMMON( 15 ),
exec "set ui_custom_name prestigeclass5; set ui_multi_s 0; set ui_multi_dt "HIGH_BOUND; CLEAR_ITEM_NEW( FEATURE_SNIPER ),
;,
( !IS_ITEM_LOCKED( FEATURE_CREATE_A_CLASS ) && !IS_ITEM_LOCKED( FEATURE_PRESTIGE_CLASS_5 ) && IS_ONLINE_GAME ), FOCUS_CHECK( 5 ) )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 10, "@CLASS_CLASS5",
;,
;,
( IS_ITEM_LOCKED( FEATURE_SNIPER ) && IS_ONLINE_GAME ), decoration FOCUS_CHECK( 5 ) )
CHOICE_NEWICON_VIS( 10, "menu_mp_lobby_new", when( ( IS_ITEM_NEW( FEATURE_SNIPER ) ) && IS_ONLINE_GAME ) )
#define DATA_TABLE_PRIMARY_GRENADE GetDefaultClassSlot( dvarstring( ui_class ), "primarygrenade" )
#define DATA_TABLE_PRIMARY GetDefaultClassSlot( dvarstring( ui_class ), "primary" )
// no default attachments or camo for now
#define DATA_TABLE_PRIMARY_ATTACHMENT 0
#define DATA_TABLE_PRIMARY_CAMO 0
#define DATA_TABLE_SECONDARY GetDefaultClassSlot( dvarstring( ui_class ), "secondary" )
// no default attachments or camo for now
#define DATA_TABLE_SECONDARY_ATTACHMENT 0
#define DATA_TABLE_SECONDARY_CAMO 0
#define DATA_TABLE_SPECIALTY1 GetDefaultClassSlot( dvarstring( ui_class ), "specialty1" )
#define DATA_TABLE_SPECIALTY2 GetDefaultClassSlot( dvarstring( ui_class ), "specialty2" )
#define DATA_TABLE_SPECIALTY3 GetDefaultClassSlot( dvarstring( ui_class ), "specialty3" )
#define DATA_TABLE_EQUIPMENT GetDefaultClassSlot( dvarstring( ui_class ), "equipment" )
#define DATA_TABLE_SPECIAL_GRENADE GetDefaultClassSlot( dvarstring( ui_class ), "specialgrenade" )
#define DATA_TABLE_BODY GetDefaultClassSlot( dvarstring( ui_class ), "body" )
#define DATA_TABLE_DEATHSTREAK GetDefaultClassSlot( dvarstring( ui_class ), "deathstreak" )
#define DATA_TABLE_KILLSTREAK_TIER1 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak1" )
#define DATA_TABLE_KILLSTREAK_TIER2 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak2" )
#define DATA_TABLE_KILLSTREAK_TIER3 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak3" )
/* ==================================== custom classes ============================================= */
#define STATS_PRIMARY getCACItemIndex( ( dvarString( ui_custom_name ) ), "primary" )
#define STATS_PRIMARY_ATTACHMENT getCACItemIndex( ( dvarString( ui_custom_name ) ), "primaryattachment" )
#define STATS_PRIMARY_CAMO getCACItemIndex( ( dvarString( ui_custom_name ) ), "primarycamo" )
#define STATS_SECONDARY getCACItemIndex( ( dvarString( ui_custom_name ) ), "secondary" )
#define STATS_SECONDARY_ATTACHMENT getCACItemIndex( ( dvarString( ui_custom_name ) ), "secondaryattachment" )
#define STATS_SECONDARY_CAMO getCACItemIndex( ( dvarString( ui_custom_name ) ), "secondarycamo" )
#define STATS_PRIMARY_GRENADE getCACItemIndex( ( dvarString( ui_custom_name ) ), "primarygrenade" )
#define STATS_SPECIALTY1 getCACItemIndex( ( dvarString( ui_custom_name ) ), "specialty1" )
#define STATS_SPECIALTY2 getCACItemIndex( ( dvarString( ui_custom_name ) ), "specialty2" )
#define STATS_SPECIALTY3 getCACItemIndex( ( dvarString( ui_custom_name ) ), "specialty3" )
#define STATS_EQUIPMENT getCACItemIndex( ( dvarString( ui_custom_name ) ), "equipment" )
#define STATS_SPECIAL_GRENADE getCACItemIndex( ( dvarString( ui_custom_name ) ), "specialgrenade" )
#define STATS_BODY getCACItemIndex( ( dvarString( ui_custom_name ) ), "body" )
#define STATS_DEATHSTREAK getCACItemIndex( "cacLoadouts", "deathstreak" )
#define STATS_KILLSTREAK_TIER1 getCACItemIndex( "cacLoadouts", "killstreak1" )
#define STATS_KILLSTREAK_TIER2 getCACItemIndex( "cacLoadouts", "killstreak2" )
#define STATS_KILLSTREAK_TIER3 getCACItemIndex( "cacLoadouts", "killstreak3" )
#include "ui/safearea.menu"
/* ================================================================================= */
/* ================================ LOADOUT DISPLAY ================================ */
/* ================================================================================= */
#define STAT_CAC_PRIMARY_GRENADE int(min( STATS_PRIMARY_GRENADE + dvarInt(ui_multi_s), DATA_TABLE_PRIMARY_GRENADE + dvarInt(ui_multi_dt) ))
#define STAT_CAC_PRIMARY int(min( STATS_PRIMARY + dvarInt(ui_multi_s), DATA_TABLE_PRIMARY + dvarInt(ui_multi_dt) ))
#define STAT_CAC_PRIMARY_ATTACHMENT int(min( STATS_PRIMARY_ATTACHMENT + dvarInt(ui_multi_s), DATA_TABLE_PRIMARY_ATTACHMENT + dvarInt(ui_multi_dt) ))
#define STAT_CAC_PRIMARY_CAMO int(min( STATS_PRIMARY_CAMO + dvarInt(ui_multi_s), DATA_TABLE_PRIMARY_CAMO + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SECONDARY int(min( STATS_SECONDARY + dvarInt(ui_multi_s), DATA_TABLE_SECONDARY + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SECONDARY_ATTACHMENT int(min( STATS_SECONDARY_ATTACHMENT + dvarInt(ui_multi_s), DATA_TABLE_SECONDARY_ATTACHMENT + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SECONDARY_CAMO int(min( STATS_SECONDARY_CAMO + dvarInt(ui_multi_s), DATA_TABLE_SECONDARY_CAMO + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SPECIALTY1 int(min( STATS_SPECIALTY1 + dvarInt(ui_multi_s), DATA_TABLE_SPECIALTY1 + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SPECIALTY2 int(min( STATS_SPECIALTY2 + dvarInt(ui_multi_s), DATA_TABLE_SPECIALTY2 + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SPECIALTY3 int(min( STATS_SPECIALTY3 + dvarInt(ui_multi_s), DATA_TABLE_SPECIALTY3 + dvarInt(ui_multi_dt) ))
#define STAT_CAC_EQUIPMENT int(min( STATS_EQUIPMENT + dvarInt(ui_multi_s), DATA_TABLE_EQUIPMENT + dvarInt(ui_multi_dt) ))
#define STAT_CAC_SPECIAL_GRENADE int(min( STATS_SPECIAL_GRENADE + dvarInt(ui_multi_s), DATA_TABLE_SPECIAL_GRENADE + dvarInt(ui_multi_dt) ))
#define STAT_CAC_BODY int(min( STATS_BODY + dvarInt(ui_multi_s), DATA_TABLE_BODY + dvarInt(ui_multi_dt) ))
#define STAT_CAC_DEATHSTREAK int(min( STATS_DEATHSTREAK + dvarInt(ui_multi_s), DATA_TABLE_DEATHSTREAK + dvarInt(ui_multi_dt) ))
#define STAT_CAC_KILLSTREAK_TIER1 STATS_KILLSTREAK_TIER1
#define STAT_CAC_KILLSTREAK_TIER2 STATS_KILLSTREAK_TIER2
#define STAT_CAC_KILLSTREAK_TIER3 STATS_KILLSTREAK_TIER3
#define FIRST_ATTACHMENT_PRIMARY_WEAPON \
Select( dvarInt( ui_multi_s ) == 0, GetItemEquippedAttachment( dvarString( ui_custom_name ), STAT_CAC_PRIMARY, 0 ), -1 )
#define SECOND_ATTACHMENT_PRIMARY_WEAPON \
Select( dvarInt( ui_multi_s ) == 0, GetItemEquippedAttachment( dvarString( ui_custom_name ), STAT_CAC_PRIMARY, 1 ), -1 )
#define FIRST_ATTACHMENT_SECONDARY_WEAPON \
Select( dvarInt( ui_multi_s ) == 0, GetItemEquippedAttachment( dvarString( ui_custom_name ), STAT_CAC_SECONDARY, 0 ), -1 )
#define SECOND_ATTACHMENT_SECONDARY_WEAPON \
Select( dvarInt( ui_multi_s ) == 0, GetItemEquippedAttachment( dvarString( ui_custom_name ), STAT_CAC_SECONDARY, 1 ), -1 )
// Frame setup
#define CAC_HEIGHT NEW_FRAME_DEFAULT_HEIGHT
#define CAC_WIDTH ( CAC_HEIGHT * FRAME_ASPECT_RATIO )
#define COMMON_ITEM_INFO_X ( -(NEW_FRAME_BUTTON_WIDTH+20) - 30 )
#define COMMON_ITEM_INFO_Y ( -CAC_HEIGHT/2 + NEW_FRAME_BG_Y_OFFSET( CAC_HEIGHT ) )
#define COMMON_ITEM_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_RIGHT
#include "ui_mp/cac_item_info.inc"
// Back button
#ifdef PC
NEW_FRAME_BACK_BUTTON_ACTION( 640, 480, ON_ESC )
#else //#ifdef PC
PREPROC_TEXT_DRAW_VIS( CHOICE_X_START -17 50 17 CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_BOTTOM, 0 0, "@PLATFORM_BACK", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_BOTTOM_LEFT, 1 1 1 1, 1 )
#endif //#ifdef PC
}
}

View File

@ -0,0 +1,620 @@
#include "ui/menudef.h"
#include "ui/framestyle.inc"
#include "ui_mp/newframe.inc"
#include "ui_mp/common_macro.inc"
#include "ui_mp/friendslist.inc"
// Pause menu background... separate menu so that it can draw behind the objective menu
menuDef
{
name "pausedbkgnd"
fullScreen 0
rect 0 0 640 480
focusColor COLOR_FOCUSED
blurWorld 4.8
visible 1
#define SINGLE_PLAYER 1
#include "ui_mp/ingamebg.inc"
}
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X 200
#define BACKGROUND_COLOR_GRAY_RGB 0.62 0.70 0.70
#ifdef PC
#undef CHOICE_X_START
#define CHOICE_X_START 30
#undef CHOICE_Y_START
#define CHOICE_Y_START -60
#define CHOICE_SEP_1 5
#else
#undef CHOICE_X_START
#define CHOICE_X_START 30
#undef CHOICE_Y_START
#define CHOICE_Y_START -30
#define CHOICE_SEP_1 3
#endif
#ifdef CONSOLE
#define CUSTOM_MATCH ( dvarbool( systemlink ) || dvarbool( xblive_privatematch ) )
#define NOT_CUSTOM_MATCH ( !dvarbool( systemlink ) && !dvarbool( xblive_privatematch ) )
#define RANKEDGAME (dvarBool( onlinegame ) && !dvarBool( xblive_privatematch ))
#define ISHOST (dvarBool( sv_running ))
#define TEAMGAME ( team( name ) != "TEAM_FREE")
#define NOTTEAMGAME ( team( name ) == "TEAM_FREE" )
#define ALLOW_VOTE ( !dvarbool( xblive_basictraining ) && !dvarbool( xblive_wagermatch ) && dvarbool( ui_allowvote ) )
#define IN_PREGAME ( dvarbool( ui_pregame ) )
#else
#define CUSTOM_MATCH ( dvarbool( systemlink ) || dvarbool( xblive_privatematch ) )
#define NOT_CUSTOM_MATCH ( !dvarbool( systemlink ) && !dvarbool( xblive_privatematch ) )
#define RANKEDGAME ( dvarbool( ui_ranked ) )
#define ISHOST ( dvarBool( sv_running ) )
#define TEAMGAME ( team( name ) != "TEAM_FREE")
#define NOTTEAMGAME ( team( name ) == "TEAM_FREE" )
#define ALLOW_VOTE ( !dvarbool( xblive_basictraining ) && !dvarbool( xblive_wagermatch ) && dvarbool( ui_allowvote ) )
#define IN_PREGAME ( dvarbool( ui_pregame ) )
#endif
// ------------------ preprocessing function definitions ------------------
#define PAD_LEFT \
execKeyInt DPAD_LEFT \
{ \
focusFirst; \
show selection_left; \
hide selection_right; \
} \
execKeyInt APAD_LEFT \
{ \
focusFirst; \
show selection_left; \
hide selection_right; \
}
#include "ui_mp/menustyle.inc"
#include "ui_mp/choices_setup_teams.menu"
#undef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND "uin_navigation_over"
#undef CHOICE_GROUP
#define CHOICE_GROUP "class"
#undef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_LEFT
#undef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER
#undef BUTTON_BG_X_START
#define BUTTON_BG_X_START 30
#undef BUTTON_BG_Y_START
#define BUTTON_BG_Y_START 42
#undef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#define MAP_BACKGROUND_WIDTH 229
#define MAP_BACKGROUND_HEIGHT 228
#ifdef CONSOLE
#define MAP_BG_Y_START -110
#else // #ifdef CONSOLE
#define MAP_BG_Y_START -120
#endif // #else #ifdef CONSOLE
#define MAP_BG_X_START (-MAP_BACKGROUND_WIDTH - 30)
/* Grey color box which serve as the background for the map image and the contracts menu */
#define MAP_BACKGROUND \
PREPROC_SHADER_DRAW( MAP_BG_X_START MAP_BG_Y_START MAP_BACKGROUND_WIDTH MAP_BACKGROUND_HEIGHT HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_CENTER, "white", BG_BACKCOLOR )
#define CHOICE_TAB_TEXTSIZE TEXTSIZE_DEFAULT
#define TAB_1_TEXT (locString( "@MENU_TAB_MAP_CAPS" ))
#define TAB_2_TEXT (locString( "@MENU_TAB_CONTRACTS_CAPS" ))
#define TAB_BG_PAD 5
#define TAB_1_WIDTH ( getTextWidth( TAB_1_TEXT, CHOICE_TEXTFONT, CHOICE_TAB_TEXTSIZE ) + (TAB_BG_PAD*2) )
#define TAB_2_WIDTH ( getTextWidth( TAB_2_TEXT, CHOICE_TEXTFONT, CHOICE_TAB_TEXTSIZE ) + (TAB_BG_PAD*2) )
#define TAB_HEIGHT 18
#define MAP_LIST_TAB_1_X ( MAP_BG_X_START + TAB_BG_PAD )
#define MAP_LIST_TAB_2_X ( MAP_LIST_TAB_1_X + TAB_1_WIDTH )
#define MAP_LIST_TAB_Y ( MAP_BG_Y_START - TAB_HEIGHT )
#define MAP_HEADERSTEXT \
/* highlighted header */ \
PREPROC_TEXT_DRAW_ADV_VIS_EX( MAP_LIST_TAB_1_X, \
MAP_LIST_TAB_Y, \
TAB_1_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
TAB_1_TEXT, CHOICE_TAB_TEXTSIZE, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
1 1 1 1, \
when( dvarInt( showMap ) == 1 );, ; ) \
PREPROC_TEXT_DRAW_ADV_VIS_EX( MAP_LIST_TAB_1_X, \
MAP_LIST_TAB_Y, \
TAB_1_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
TAB_1_TEXT, CHOICE_TAB_TEXTSIZE, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
BACKGROUND_COLOR_GRAY_RGB .25, \
when( dvarInt( showMap ) == 0 );, ; ) \
/* non highlighted header */ \
PREPROC_TEXT_DRAW_ADV_VIS_EX( MAP_LIST_TAB_2_X, \
MAP_LIST_TAB_Y, \
TAB_2_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
TAB_2_TEXT, CHOICE_TAB_TEXTSIZE, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
1 1 1 1, \
when( dvarInt( showMap ) == 0 && RANKEDGAME );, ; ) \
PREPROC_TEXT_DRAW_ADV_VIS_EX( MAP_LIST_TAB_2_X, \
MAP_LIST_TAB_Y, \
TAB_2_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
TAB_2_TEXT, CHOICE_TAB_TEXTSIZE, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, \
BACKGROUND_COLOR_GRAY_RGB .25, \
when( dvarInt( showMap ) == 1 && RANKEDGAME );, ; )
#define MAP_LIST_TAB_1_ACTION \
if( RANKEDGAME ) \
{ \
setDvar showMap 1; \
}
#define MAP_LIST_TAB_2_ACTION \
if( RANKEDGAME ) \
{ \
setDvar showMap 0; \
}
#define MAP_HEADERSBUTTONS \
TAB_ACTION_BUTTON_ADV( MAP_LIST_TAB_1_X, \
MAP_LIST_TAB_Y, \
TAB_1_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
MAP_LIST_TAB_1_ACTION, when( dvarInt( showMap ) == 0 && RANKEDGAME );, ; ) \
TAB_ACTION_BUTTON_ADV( MAP_LIST_TAB_2_X, \
MAP_LIST_TAB_Y, \
TAB_2_WIDTH, \
TAB_HEIGHT, \
HORIZONTAL_ALIGN_RIGHT, VERTICAL_ALIGN_CENTER, \
MAP_LIST_TAB_2_ACTION, when( dvarInt( showMap ) == 1 && RANKEDGAME );, ; ) \
/* Tab for Map */
#define MAP_TAB_1_BG \
itemDef \
{ \
style WINDOW_STYLE_SHADER_FRAMED \
frame 5 0.5 FRAME_OPEN_BOTTOM \
rect 0 MAP_LIST_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_CENTER \
exp rect X( MAP_LIST_TAB_1_X ) \
exp rect W( TAB_1_WIDTH ) \
background "menu_mp_lobby_frame_circle" \
forecolor BG_BACKCOLOR \
visible when( dvarInt(showMap) == 1 ); \
decoration \
}
/* Tab for contracts */
#define MAP_TAB_2_BG \
itemDef \
{ \
style WINDOW_STYLE_SHADER_FRAMED \
frame 5 0.5 FRAME_OPEN_BOTTOM \
rect 0 MAP_LIST_TAB_Y 0 TAB_HEIGHT HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_CENTER \
exp rect X( MAP_LIST_TAB_2_X ) \
exp rect W( TAB_2_WIDTH ) \
background "menu_mp_lobby_frame_circle" \
forecolor BG_BACKCOLOR \
visible when( dvarInt(showMap) == 0 && RANKEDGAME ); \
decoration \
}
menuDef
{
name "class"
focuscolor COLOR_FOCUSED
style WINDOW_STYLE_EMPTY
#ifdef CONSOLE
rect 0 0 640 480
blurWorld 7.0
#else
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
#endif
#define ON_ESC scriptMenuResponse "back";
onOpen
{
if ( IsSplitscreen() )
{
close self;
open "class_splitscreen";
}
else
{
focusFirst;
hide selection_right;
setDvar showMap 1;
}
showMenu "pausedbkgnd"
}
onClose
{
hideMenu "pausedbkgnd"
}
onFocus
{
focusFirst;
}
onEsc
{
ON_ESC
}
#ifndef PC
execkeyint BUTTON_START
{
ON_ESC
}
#endif
execkeyint BUTTON_X
{
if( RANKEDGAME )
{
if( dvarInt(showMap) == 0 )
{
setDvar showMap 1;
}
else
{
setDvar showMap 0;
}
}
}
PAD_LEFT
MAP_BACKGROUND
MAP_TAB_1_BG
MAP_TAB_2_BG
#ifdef CONSOLE
#include "ui_mp/ingamebg.inc"
#endif
// -------- GAME TYPE NAME AND DESCRIPTION --------
#define MAPNAME tableLookup( "mp/mapstable.csv", 0, dvarString( mapname ), 3 )
CHOICE_MENU_TITLE_ALIGN_VIS( ( "@" + MAPNAME + "_CAPS" ), HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP, ITEM_ALIGN_MIDDLE_LEFT, 1 )
#undef BUTTON_BG_Y_START
#define BUTTON_BG_Y_START 70
CHOICE_MENU_TITLE_ALIGN_VIS( toUpper( gametypename() ), HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP, ITEM_ALIGN_MIDDLE_LEFT, 1 )
PREPROC_TEXT_DRAW_VIS_EX( BUTTON_BG_X_START (BUTTON_BG_Y_START+35) 230 60 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP, 0 0,
( gametypedescription() ),
TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1,
1, autowrapped )
// Team icon
#define ICON_SIZE 92
#define ICON_X_START ( MAP_BG_X_START + MAP_BACKGROUND_WIDTH - ICON_SIZE )
#define ICON_RECT ICON_X_START 20 ICON_SIZE ICON_SIZE HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP
PREPROC_SHADER_DRAW_VIS_EX( ICON_RECT, ( dvarString( "g_TeamIcon_Allies" ) ), 1 1 1 1, when( TEAM_IS_MARINES );, ; )
PREPROC_SHADER_DRAW_VIS_EX( ICON_RECT, ( dvarString( "g_TeamIcon_Axis" ) ), 1 1 1 1, when( TEAM_IS_OPFOR );, ; )
//=========================================================
//===================== MENU SELECTION ====================
//=========================================================
#define IS_WAGER_MODE ( dvarInt( "xblive_wagermatch" ) == 1 )
#define IS_CUSTOM_MODE ( dvarInt( "custom_class_mode" ) == 1 )
#define IS_BAREBONES_MODE ( dvarInt( "barebones_class_mode" ) == 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_barebones", ( IS_BAREBONES_MODE ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_custom", ( IS_CUSTOM_MODE ), ; )
#ifdef CONSOLE
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_wager", ( IS_WAGER_MODE && MAY_CHOOSE_CLASS && !IS_CUSTOM_MODE ), ; )
#endif // CONSOLE
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_marines", ( TEAM_IS_MARINES && MAY_CHOOSE_CLASS && !IS_WAGER_MODE && !IS_CUSTOM_MODE && !IS_BAREBONES_MODE ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_opfor", ( TEAM_IS_OPFOR && MAY_CHOOSE_CLASS && !IS_WAGER_MODE && !IS_CUSTOM_MODE && !IS_BAREBONES_MODE ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", scriptMenuResponse "changeclass_opfor", ( dvarInt( scr_oldschool ) == 1 && !IS_WAGER_MODE && !IS_CUSTOM_MODE && !IS_BAREBONES_MODE ), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 1, "@MPUI_CHOOSE_CLASS_BUTTON_CAPS", ;, ;, ( dvarInt( scr_oldschool ) == 1 ), ; )
#ifdef CONSOLE
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CHANGE_TEAM_BUTTON_CAPS", scriptMenuResponse "changeteam", ( MAY_CHOOSE_TEAM ), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 2, "@MPUI_CHANGE_TEAM_BUTTON_CAPS", ;, ;, ( MAY_NOT_CHOOSE_TEAM ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MENU_OPTIONS_CAPS", close self; open ingameoptions, 1, ; )
#define CAN_LEAVE_GAME ( !isVisibilityBitSet( BIT_ROUND_END_KILLCAM ) && !isVisibilityBitSet( BIT_FINAL_KILLCAM ) )
#ifdef PUBLIC_BETA
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_END_GAME_CAPS", open popup_endgame, ( RANKEDGAME == 0 && ISHOST && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_LEAVE_GAME_CAPS", open popup_leavegameandparty, ( RANKEDGAME == 0 && (ISHOST == 0) && (InPrivateParty() && !PrivatePartyHost() && PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame, ( RANKEDGAME == 0 && (ISHOST == 0) && (!InPrivateParty() || PrivatePartyHost() || !PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_LEAVE_GAME_CAPS", open popup_endgame_ranked, ( RANKEDGAME && ISHOST && CAN_LEAVE_GAME && ( !HostMigrationWaitingForPlayers() ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_LEAVE_GAME_CAPS", open popup_leavegameandparty_ranked, ( RANKEDGAME && ISHOST == 0 && (InPrivateParty() && !PrivatePartyHost() && PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame_ranked, ( RANKEDGAME && ISHOST == 0 && (!InPrivateParty() || PrivatePartyHost() || !PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
#else // #ifdef PUBLIC_BETA
//..............................................
// Dev only. Remove me prior to shipping
//FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_BADSPAWN_CAPS", open popup_badspawn, 1, ; )
//..............................................
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_END_GAME_CAPS", open popup_endgame, ( RANKEDGAME == 0 && ISHOST && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_LEAVE_GAME_CAPS", open popup_leavegameandparty, ( RANKEDGAME == 0 && (ISHOST == 0) && (InPrivateParty() && !PrivatePartyHost() && PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame, ( RANKEDGAME == 0 && (ISHOST == 0) && (!InPrivateParty() || PrivatePartyHost() || !PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_LEAVE_GAME_CAPS", open popup_endgame_ranked, ( RANKEDGAME && ISHOST && CAN_LEAVE_GAME && ( !HostMigrationWaitingForPlayers() ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_LEAVE_GAME_CAPS", open popup_leavegameandparty_ranked, ( RANKEDGAME && ISHOST == 0 && (InPrivateParty() && !PrivatePartyHost() && PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame_ranked, ( RANKEDGAME && ISHOST == 0 && (!InPrivateParty() || PrivatePartyHost() || !PrivatePartyHostInLobby()) && CAN_LEAVE_GAME ), ; )
#endif // #else #ifdef PUBLIC_BETA
#endif // #ifdef CONSOLE
#ifdef PC
#define SQUAD_CAP 12
#define INVITE_MEMBER 1
#define KICK_MEMBER 2
#define SQUAD_BUTTON_START_X -439
#define SQUAD_BUTTON_START_Y -65
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CHANGE_TEAM_CAPS", scriptMenuResponse "changeteam", (dvarBool( ui_allow_teamchange )), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 2, "@MPUI_CHANGE_TEAM_BUTTON_CAPS", ;, ;, ( !dvarBool( ui_allow_teamchange ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CALL_VOTE_CAPS", open callvote; close self;, ( ALLOW_VOTE ), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 3, "@MPUI_CALL_VOTE_CAPS", ;, ;, ( !ALLOW_VOTE ), ; )
// FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MPUI_MUTE_PLAYERS_CAPS", open muteplayer_menu; close self;, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 4, "@MENU_PLAYERS_CAPS", close self; open players;, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 5, "@MENU_FRIENDS_CAPS", SETUP_ACTION_INVITE, 1, ; )
CHOICE_NEWICON_VIS( 5, "menu_mp_lobby_new", when( hasinvites() || haspendingfriends() ); )
FRAME_CHOICE_BUTTON_VIS_EX( 6, "@MENU_SETTINGS_CAPS", close self; open options_new_pc; execnow "set ui_allow_graphic_change 0";, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 7, "@MENU_ADD_TO_FAVORITES_CAPS", uiscript createFavoriteIngame; open fav_message_popmenu;, ( ISHOST == 0 ), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 7, "@MENU_ADD_TO_FAVORITES_CAPS", ;, ;, ( ISHOST ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 8, "@MENU_LEAVE_GAME_CAPS", open popup_endgame, ( ( !RANKEDGAME || IN_PREGAME ) && ISHOST && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 8, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame, ( ( !RANKEDGAME || IN_PREGAME ) && !ISHOST ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 8, "@MENU_LEAVE_GAME_CAPS", open popup_endgame_ranked, ( RANKEDGAME && !IN_PREGAME && ISHOST && CAN_LEAVE_GAME ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 8, "@MENU_LEAVE_GAME_CAPS", open popup_leavegame_ranked, ( RANKEDGAME && !IN_PREGAME && !ISHOST && CAN_LEAVE_GAME ), ; )
#endif // #ifdef PC
//Showing the ingame Xp bar.
#include "ui_mp/popup_player_info.inc"
#define SHOW_XP_BAR ( RANKEDGAME || dvarInt( xblive_basictraining ) )
#define XP_BAR_WIDTH ( Select( dvarInt( widescreen ), 592, 407 ) )
#define XP_TEXT_WIDTH 65
#define X_START (-XP_BAR_WIDTH - XP_TEXT_WIDTH - 100)
#define XP_BAR_Y_START 115
#define REQUIRED_XP int(getDStat( "PlayerStatsList", "RANKXP" )-int(tablelookup( "mp/ranktable.csv", 0, string(getDStat( "PlayerStatsList", "RANK" )), 2)))
#define REQUIRED_XP_STRING (int(tablelookup( "mp/ranktable.csv", 0, string(getDStat( "PlayerStatsList", "RANK" )), 3 ))-REQUIRED_XP)
#define NEXT_LEVEL ( tablelookup( "mp/ranktable.csv", 0, getDStat( "PlayerStatsList", "RANK" ) + 1, 14 ) )
#define BAR_FILLED XP_BAR_WIDTH*((getDStat( "PlayerStatsList", "RANKXP" )-int(tablelookup( "mp/ranktable.csv", 0, string(getDStat( "PlayerStatsList", "RANK" )), 2)))/int(tablelookup("mp/ranktable.csv",0,getDStat( "PlayerStatsList", "RANK" ),3)))
/* BACKGROUND FOR XP BAR */
PREPROC_SHADER_DRAW_ADV_VIS_EX( (X_START+XP_TEXT_WIDTH),
XP_BAR_Y_START,
XP_BAR_WIDTH,
20,
HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN,
"white", BG_BACKCOLOR,
when( CAN_RANK_UP && SHOW_XP_BAR ), ; )
PREPROC_SHADER_DRAW_ADV_VIS_EX( (X_START+XP_TEXT_WIDTH),
XP_BAR_Y_START,
XP_BAR_WIDTH,
20,
HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN,
"menu_mp_bar_shadow", 1 1 1 0.2,
when( CAN_RANK_UP && SHOW_XP_BAR ), ; )
/* XP BAR */
PREPROC_SHADER_DRAW_ADV_VIS_EX( (X_START+XP_TEXT_WIDTH),
XP_BAR_Y_START,
(BAR_FILLED),
20,
HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN,
"menu_mp_combatrecord_bar", BAR_COLOR,
when( CAN_RANK_UP && SHOW_XP_BAR ),
; )
/* Tiny arrow at xp bar end */
PREPROC_SHADER_DRAW_ADV_VIS_EX( ( -5 + (X_START+XP_TEXT_WIDTH) + BAR_FILLED),
(XP_BAR_Y_START+18),
10,
10,
HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN,
"ui_arrow_right", BAR_COLOR,
when( CAN_RANK_UP && SHOW_XP_BAR );,
rotation -90; )
/* Label for "NEXT LEVEL" */
PREPROC_TEXT_DRAW_ADV_VIS_EX( X_START,
XP_BAR_Y_START,
XP_BAR_WIDTH,
20,
HORIZONTAL_ALIGN_RIGHT, CHOICE_VERTICAL_ALIGN,
"@MPUI_NEXT_LEVEL_CAPS",
TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, CHOICE_TEXTCOLOR,
when( SHOW_XP_BAR ), ; )
/* value for XP NEEDED to next level */
PREPROC_TEXT_DRAW_ADV_VIS_EX( (X_START+XP_TEXT_WIDTH),
XP_BAR_Y_START,
XP_BAR_WIDTH,
20,
HORIZONTAL_ALIGN_RIGHT, CHOICE_VERTICAL_ALIGN,
locString( "MPUI_AAR_XP_NEEDED_CAPS", REQUIRED_XP_STRING ),
TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, CHOICE_TEXTCOLOR,
when( CAN_RANK_UP && SHOW_XP_BAR ), ; )
/* next level */
PREPROC_TEXT_DRAW_ADV_VIS_EX( (X_START+XP_BAR_WIDTH+XP_TEXT_WIDTH+3),
(XP_BAR_Y_START+2),
15,
15,
HORIZONTAL_ALIGN_RIGHT, CHOICE_VERTICAL_ALIGN,
int( NEXT_LEVEL ),
TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, CHOICE_TEXTCOLOR,
when( CAN_RANK_UP && PRESTIGE_NEXT==0 && SHOW_XP_BAR ), ; )
PREPROC_TEXT_DRAW_ADV_VIS_EX( (X_START+XP_BAR_WIDTH+XP_TEXT_WIDTH+3),
(XP_BAR_Y_START+2),
15,
15,
HORIZONTAL_ALIGN_RIGHT, CHOICE_VERTICAL_ALIGN,
"1",
TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, CHOICE_TEXTCOLOR,
when( CAN_RANK_UP && PRESTIGE_NEXT && SHOW_XP_BAR ), ; )
/* next level rank icon */
RANK_ICON_ADV( ( X_START+XP_BAR_WIDTH+XP_TEXT_WIDTH+6+getTextWidth( NEXT_LEVEL, CHOICE_TEXTFONT, TEXTSIZE_DEFAULT ) ), (XP_BAR_Y_START+2), HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_CENTER,
tablelookup( "mp/rankIconTable.csv", 0, getDStat( "PlayerStatsList", "RANK" )+1, getDStat( "PlayerStatsList", "PLEVEL" )+1 ),
when( CAN_RANK_UP && PRESTIGE_NEXT==0 && SHOW_XP_BAR ) )
RANK_ICON_ADV( ( X_START+XP_BAR_WIDTH+XP_TEXT_WIDTH+6+getTextWidth( "1", CHOICE_TEXTFONT, TEXTSIZE_DEFAULT ) ), (XP_BAR_Y_START+2), HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_CENTER,
tablelookup( "mp/rankIconTable.csv", 0, 0, getDStat( "PlayerStatsList", "PLEVEL" )+2 ),
when( CAN_RANK_UP && PRESTIGE_NEXT && SHOW_XP_BAR) )
//************************************Contracts********************************
//*****************************************************************************
//Green background
#define BACKGROUND_COLOR_COMPLETED_RGB .34 .9 .34
//Gray background
#define BACKGROUND_COLOR_PROGRESS_RGB BACKGROUND_COLOR_GRAY_RGB
//Red background
#define BACKGROUND_COLOR_EXPIRED_RGB .9 .16 .24
// Yellow Background
#define BACKGROUND_COLOR_PROGRESS_STATUS 0.97 0.85 0.03
#define CONTRACTS_Y_START ( MAP_BG_Y_START + 5 )
#define CONTRACTS_X_START ( MAP_BG_X_START + TAB_BG_PAD )
#define CONTRACTS_WIDTH ( MAP_BACKGROUND_WIDTH - (TAB_BG_PAD*2) )
#define CONTRACTS_HEIGHT ( MAP_BACKGROUND_HEIGHT - TAB_BG_PAD )
#define CONTRACT_INFO( index, visArg ) \
/* BACKGROUND FOR CONTRACT INFO if completed*/ \
PREPROC_SHADER_DRAW_VIS_EX( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index ) CONTRACTS_WIDTH (CONTRACTS_HEIGHT/3 - 5 ) HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, \
"white", BACKGROUND_COLOR_COMPLETED_RGB .1, \
when( visArg && dvarInt(showMap) == 0 && IsContractComplete( GetIndexForActiveContract( index ) ) ), \
; ) \
/* BACKGROUND FOR CONTRACT INFO if in progress*/ \
PREPROC_SHADER_DRAW_VIS_EX( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index ) CONTRACTS_WIDTH (CONTRACTS_HEIGHT/3 - 5 ) HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, \
"white", BACKGROUND_COLOR_PROGRESS_RGB .1, \
when( visArg && dvarInt(showMap) == 0 && IsContractInProgress( GetIndexForActiveContract( index ) ) ), \
; ) \
/* BACKGROUND FOR CONTRACT INFO if expired*/ \
PREPROC_SHADER_DRAW_VIS_EX( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index ) CONTRACTS_WIDTH (CONTRACTS_HEIGHT/3 - 5 ) HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, \
"white", BACKGROUND_COLOR_EXPIRED_RGB .1, \
when( visArg && dvarInt(showMap) == 0 && IsContractExpired( GetIndexForActiveContract( index ) ) ), \
; ) \
/* CONTRACT NAME */ \
PREPROC_TEXT_DRAW_VIS( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index ) CONTRACTS_WIDTH 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, GetContractName( GetIndexForActiveContract( index ) ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, CHOICE_TEXTCOLOR, when( visArg ); autowrapped ) \
/* CONTRACT DESC */ \
PREPROC_TEXT_DRAW_VIS( ( CONTRACTS_X_START+2 ) ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index + 12 ) ( CONTRACTS_WIDTH-2 ) 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, GetContractDesc( GetIndexForActiveContract( index ) ),0.24, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, BACKGROUND_COLOR_PROGRESS_RGB .25, when( visArg ); autowrapped ) \
/* CONTRACT STATUS WHEN COMPLETED */ \
PREPROC_TEXT_DRAW_VIS( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index + 65 ) CONTRACTS_WIDTH 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, "@MPUI_COMPLETE_CAPS", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_CENTER, NEW_FRAME_GREEN_RGB 1, when( IsContractComplete( GetIndexForActiveContract( index ) ) > 0 && visArg ) ) \
/* CONTRACT PROGRESS TEXT ( YELLOW WHEN CONTRACT IS IN PROGRESS ) */ \
PREPROC_TEXT_DRAW_VIS( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index + 65 ) CONTRACTS_WIDTH 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, locString("MPUI_CONTRACT_PROGRESS_WITHBRACES", GetContractProgress( GetIndexForActiveContract( index ) ), GetContractRequiredCount( GetIndexForActiveContract( index ) ) ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_CENTER, NEW_FRAME_ORANGE_RGB 1, when( IsContractInProgress( GetIndexForActiveContract( index ) ) > 0 && GetContractRequiredCount( GetIndexForActiveContract( index ) ) > 1 && visArg ) ) \
PREPROC_TEXT_DRAW_VIS( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index + 65 ) CONTRACTS_WIDTH 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, locString("MPUI_CONTRACT_NOT_COMPLETE"), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_CENTER, NEW_FRAME_ORANGE_RGB 1, when( IsContractInProgress( GetIndexForActiveContract( index ) ) > 0 && GetContractRequiredCount( GetIndexForActiveContract( index ) ) == 1 && visArg ) ) \
/* CONTRACT STATUS WHEN EXPIRED */ \
PREPROC_TEXT_DRAW_VIS( CONTRACTS_X_START ( CONTRACTS_Y_START+(CONTRACTS_HEIGHT/3)*index + 65 ) CONTRACTS_WIDTH 20 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0, "@MPUI_CONTRACT_EXPIRED_CAPS", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_CENTER, NEW_FRAME_RED_RGB 1, when( IsContractExpired( GetIndexForActiveContract( index ) ) > 0 && visArg ) ) \
CONTRACT_INFO( 0, ( GetIndexForActiveContract(0) != -1 && RANKEDGAME && dvarInt(showMap) == 0 ) )
CONTRACT_INFO( 1, ( GetIndexForActiveContract(1) != -1 && RANKEDGAME && dvarInt(showMap) == 0 ) )
CONTRACT_INFO( 2, ( GetIndexForActiveContract(2) != -1 && RANKEDGAME && dvarInt(showMap) == 0 ) )
#define NO_ACTIVE_CONTRACTS \
(GetIndexForActiveContract(0) == -1 && GetIndexForActiveContract(1) == -1 && GetIndexForActiveContract(2) == -1)
PREPROC_TEXT_DRAW_VIS_EX( ( CONTRACTS_X_START+20 ) CONTRACTS_Y_START ( CONTRACTS_WIDTH - 40 ) 40 HORIZONTAL_ALIGN_RIGHT CHOICE_VERTICAL_ALIGN, 0 0,
"@MPUI_AAR_NO_NEW_CONTRACTS",
TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, CHOICE_TEXTCOLOR,
when( NO_ACTIVE_CONTRACTS && RANKEDGAME && dvarInt(showMap) == 0 );,
autowrapped )
// Tactical Map
#define SHOULD_SHOW_MAP dvarInt(showMap)
#undef RIGHTITEM_ALIGN
#define RIGHTITEM_ALIGN HORIZONTAL_ALIGN_RIGHT
#define MAP_X ( MAP_BG_X_START + 5 )
#define MAP_Y ( 101 )
#include "ui_mp/tactical_map.inc"
// ----------------- BEGIN Scroller --------------------------
#include "ui/scroller.inc"
// ----------------- END Scroller --------------------------
#define SETUP_ACTION_OPENFRIENDLIST \
open menu_friends;
// ------------------ buttons ---------------------
#ifdef PC
NEW_FRAME_BACK_BUTTON_ACTION_PC_VIS( ON_ESC , when( !dvarInt( ui_show_friends_list_bg ) ) )
#else
// Back button
PREPROC_TEXT_DRAW_VIS( CHOICE_X_START -17 50 17 CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_BOTTOM, 0 0, "@PLATFORM_BACK", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_BOTTOM_LEFT, 1 1 1 1, when( !dvarInt( ui_show_friends_list_bg ) ) )
#endif // PC
// Contracts / Map button
#ifndef PC
PREPROC_TEXT_DRAW_VIS( (MAP_BG_X_START-1) -17 50 17 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM, 0 0, "@PLATFORM_SHOW_CONTRACTS", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_BOTTOM_LEFT, 1 1 1 1, when( dvarInt( showMap ) == 1 && RANKEDGAME && !dvarInt( ui_show_friends_list_bg ) ) )
PREPROC_TEXT_DRAW_VIS( (MAP_BG_X_START-1) -17 50 17 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM, 0 0, "@PLATFORM_SHOW_MAP", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_BOTTOM_LEFT, 1 1 1 1, when( dvarInt( showMap ) == 0 && RANKEDGAME && !dvarInt( ui_show_friends_list_bg ) ) )
// Friends list button
#ifdef PS3
GAMEPAD_BUTTON( -55 -17 70 17 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM, "@PLATFORM_FRIENDLIST", BUTTON_Y { SETUP_ACTION_OPENFRIENDLIST; }, when( !dvarInt( ui_show_friends_list_bg ) && !IS_WAGER_MODE && anySignedInToLiveAndStatsFetched() && canShowContentFromUser( 0 ) ) )
#else // #ifdef PS3
GAMEPAD_BUTTON( -55 -17 70 17 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM, "@PLATFORM_FRIENDLIST", BUTTON_Y { SETUP_ACTION_OPENFRIENDLIST; }, when( !dvarInt( ui_show_friends_list_bg ) && !IS_WAGER_MODE && anySignedInToLiveAndStatsFetched() ) )
#endif // #ifdef PS3
#endif
MAP_HEADERSTEXT
MAP_HEADERSBUTTONS
itemDef
{
name friends_list_bg
style WINDOW_STYLE_FILLED
rect -400 -200 10000 10000
backcolor 0 0 0 0
visible when( IsInGame() );
decoration
state
{
name on
backcolor 0 0 0 0.7
}
}
#include "ui/safearea.menu"
}
#undef CHOICE_GROUP
#define CHOICE_GROUP "popmenu"
#include "ui_mp/popupstyle.inc"
#include "ui/choices_setup_popmenu.menu"
menuDef
{
SYSTEM_POPUP_SETUP_VIS( popup_badspawn, setfocus popup_badspawn_2, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MPUI_REPORT_BADSPAWN", 1 )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_YES", scriptMenuResponse "badspawn"; close self, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_NO", close self, 1, name popup_badspawn_2 )
}