mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-04-21 17:15:42 +00:00
621 lines
30 KiB
Plaintext
621 lines
30 KiB
Plaintext
#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 )
|
|
}
|