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

814 lines
39 KiB
Plaintext

#include "ui/menudef.h"
#include "ui_mp/common_macro.inc"
#include "ui_mp/popup_player_info.inc"
#include "ui/framestyle.inc"
#include "ui_mp/menustyle.inc"
#include "ui/choices_setup_common.menu"
#include "ui_mp/popupstyle.inc"
#include "ui_mp/cac_stats.inc"
#include "ui/choices_setup_popmenu.menu"
#define IS_ONLINE_GAME ( dvarInt( splitscreen ) == 0 && dvarInt( systemlink ) == 0 )
#define IS_BASICTRAINING_GAME ( dvarInt( xblive_basictraining ) > 0 )
// saving popup for CAC ONLY - for a lack of better place
#define LOCAL_SAVING \
"wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait; wait;"
menuDef
{
SYSTEM_POPUP_SETUP_VIS( saving_popup, exec LOCAL_SAVING" "LOCAL_SAVING" closemenu saving_popup";, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MENU_SAVING", 1 )
SYSTEM_POPUP_SPINNER( 1 )
}
#define LOCAL_ACCEPT_ACTION( pclass, pclass_s ) \
if ( IS_ONLINE_GAME && !IS_BASICTRAINING_GAME ) \
{ \
setDvarFromLocString( dvarString( ui_custom_name ), pclass ); \
} \
execNow "equipDefaultClass ( dvarString( ui_custom_name ) ) class_custom"pclass_s; \
execNow "updategamerprofile"; \
play CHOICE_FOCUS_SOUND; \
close "popup_cac_defaultclasswarning"pclass_s; \
close "popup_cac_template";
#define LOCAL_CANCEL_ACTION( pclass_s ) \
play CHOICE_FOCUS_SOUND; \
close "popup_cac_defaultclasswarning"pclass_s;
// reset to default class confirmation popup menu
#define RESET_WARNING_POPUP( pclass, pclass_s ) \
menuDef \
{ \
SYSTEM_POPUP_SETUP_VIS( "popup_cac_defaultclasswarning"pclass_s, setfocus "popup_cac_defaultclasswarning"pclass_s"_2", ;, 1 ) \
\
SYSTEM_POPUP_TITLE_VIS( "@MENU_RESET_TO_DEFAULT", 1 ) \
SYSTEM_POPUP_SUBTITLE_VIS( "@MENU_CUSTOM_CLASS_RESET_WARNING", 1 ) \
\
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_YES", LOCAL_ACCEPT_ACTION( pclass, pclass_s ), 1, ; ) \
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_NO", LOCAL_CANCEL_ACTION( pclass_s ), 1, name "popup_cac_defaultclasswarning"pclass_s"_2" ) \
}
RESET_WARNING_POPUP( "@CLASS_CLASS1", "_smg" )
RESET_WARNING_POPUP( "@CLASS_CLASS2", "_cqb" )
RESET_WARNING_POPUP( "@CLASS_CLASS3", "_assault" )
RESET_WARNING_POPUP( "@CLASS_CLASS4", "_lmg" )
RESET_WARNING_POPUP( "@CLASS_CLASS5", "_sniper" )
menuDef
{
SYSTEM_POPUP_SETUP_VIS( copyClassConfirmation, setfocus copyClassConfirmation_2;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( getCopyClassConfirmationText( dvarInt("ui_custom_class_highlighted"), dvarInt("ui_classToReplace") ), 1 )
#define COPY_CLASS_ACTION \
execNow copyClass (dvarInt("ui_custom_class_highlighted")) (dvarInt("ui_classToReplace")); \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_YES", COPY_CLASS_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL", close self;, 1, name copyClassConfirmation_2 )
}
menuDef
{
SYSTEM_POPUP_SETUP_VIS( copyCustomGametypeClassConfirmation, setfocus copyCustomGametypeClassConfirmation_2;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( getCopyCustomGametypeClassConfirmationText( dvarInt("ui_custom_gametype_class_highlighted"), dvarInt("ui_customGametypeClassToReplace") ), 1 )
#define COPY_CUSTOM_CLASS_ACTION \
execNow copyCustomGametypeClass (dvarInt("ui_custom_gametype_class_highlighted")) (dvarInt("ui_customGametypeClassToReplace")); \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_YES", COPY_CUSTOM_CLASS_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL", close self;, 1, name copyCustomGametypeClassConfirmation_2 )
}
#ifdef XENON
#define SELECT_ICON "ui_button_xenon_3d_a_32x32"
#endif
#ifdef PS3
#define SELECT_ICON "ui_button_ps3_x_32x32"
#endif
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 5
// Copy Class Popup
menuDef
{
SYSTEM_POPUP_SETUP_VIS( copyClassPopup, ;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( GetCopyClassDialogTitle( dvarInt("ui_custom_class_highlighted") ), 1 )
itemDef
{
name custom_class_list
type ITEM_TYPE_LISTBOX
feeder FEEDER_CUSTOM_CLASSES
rect CHOICE_X_START CHOICE_Y_START CHOICE_SIZE_X (CHOICE_SIZE_Y*6) CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN
elementwidth CHOICE_SIZE_X
elementheight CHOICE_SIZE_Y
elementtype LISTBOX_TEXT
textstyle ITEM_TEXTSTYLE_NORMAL
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalignx CHOICE_SIZE_Y
textaligny 0
forecolor 1 1 1 1
focusColor 1 1 1 1
disableColor 1 1 1 1
selectBorder 0.8 0.95 1 0
outlinecolor 1 1 1 1
elementBackgroundColor NEW_FRAME_BUTTON_BG_COLOR
selectIcon SELECT_ICON
elementHighlightColor NEW_FRAME_BUTTON_TEXT_HIGHLIGHT_COLOR
#ifdef PC
modal
usepaging
#else //#ifdef PC
noscrollbars
#endif //#ifdef PC
noBlinkingHighlight
visible 1
onfocus
{
play CHOICE_FOCUS_SOUND;
}
onListboxSelectionChange
{
play CHOICE_FOCUS_SOUND;
}
doubleclick
{
execNow set ui_classToReplace (getFeederData("selection"));
open copyClassConfirmation;
close self;
}
}
SYSTEM_POPUP_BACK_BUTTON
}
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 5
// Copy Custom Gametype Class Popup
menuDef
{
SYSTEM_POPUP_SETUP_VIS( copyCustomGametypeClassPopup, ;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( GetCopyCustomGametypeClassDialogTitle( dvarInt("ui_custom_gametype_class_highlighted") ), 1 )
itemDef
{
name custom_class_list
type ITEM_TYPE_LISTBOX
feeder FEEDER_CUSTOM_GAMETYPE_CLASSES
rect CHOICE_X_START CHOICE_Y_START CHOICE_SIZE_X (CHOICE_SIZE_Y*6) CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN
elementwidth CHOICE_SIZE_X
elementheight CHOICE_SIZE_Y
elementtype LISTBOX_TEXT
textstyle ITEM_TEXTSTYLE_NORMAL
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
textalignx CHOICE_SIZE_Y
textaligny 0
forecolor 1 1 1 1
focusColor 1 1 1 1
disableColor 1 1 1 1
selectBorder 0.8 0.95 1 0
outlinecolor 1 1 1 1
elementBackgroundColor NEW_FRAME_BUTTON_BG_COLOR
selectIcon SELECT_ICON
elementHighlightColor NEW_FRAME_BUTTON_TEXT_HIGHLIGHT_COLOR
#ifdef PC
modal
usepaging
#else //#ifdef PC
noscrollbars
#endif //#ifdef PC
noBlinkingHighlight
visible 1
onfocus
{
play CHOICE_FOCUS_SOUND;
}
onListboxSelectionChange
{
play CHOICE_FOCUS_SOUND;
}
doubleclick
{
execNow set ui_customGametypeClassToReplace (getFeederData("selection"));
open copyCustomGametypeClassConfirmation;
close self;
}
}
SYSTEM_POPUP_BACK_BUTTON
}
#ifdef PC
#undef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND "uin_navigation_over"
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 3
#define RENAME_ACTION \
exec "setNewCustomName"; close self;
menuDef
{
SYSTEM_POPUP_SETUP_VIS( "pc_rename", exec "getOldCustomName"; setFocus nameEntry;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MPUI_RENAME_CLASS", 1 )
itemDef
{
name nameEntry
TYPE ITEM_TYPE_UPREDITFIELD
text "@MENU_NAME1"
dvar "ui_custom_newname"
rect CHOICE_RECT( 1 )
textaligny 2
maxchars 15
maxpaintchars 15
textalign ITEM_ALIGN_MIDDLE_LEFT
textfont UI_FONT_NORMAL
textscale TEXTSIZE_DEFAULT
forecolor .9 .9 .9 1
style WINDOW_STYLE_FILLED
backcolor 0 0 0 .3
visible 1
mouseenter { show keyBindStatus; play CHOICE_FOCUS_SOUND; }
mouseexit { hide keyBindStatus; setfocus ok_button; }
accept { if ( dvarString( ui_custom_newname ) != "" ) { RENAME_ACTION } }
}
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_OK", RENAME_ACTION, ( dvarString( ui_custom_newname ) != "" ), ; )
FRAME_CHOICE_DBUTTON_FOCUS_VIS_EX( 2, "@MENU_OK", ;, ;, ( dvarString( ui_custom_newname ) == "" ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MENU_CANCEL", close self; setDvar ui_custom_newname "";, 1, ; )
}
#endif
#undef POPUP_BUTTON_COUNT
#define POPUP_BUTTON_COUNT 2
menuDef
{
SYSTEM_POPUP_SETUP_VIS( clearAttachmentNotification, focusFirst;, ;, 1 )
SYSTEM_POPUP_TITLE_VIS( "@MPUI_CAC_ATTACHMENTS_CLEARED", 1 )
#define CLEAR_ATTACHMENTS_ACTION \
execNow clearAllAttachmentsForItem (dvarString( ui_custom_name )) (STAT_CAC_PRIMARY); \
if ( !dvarBool("buyingAndEquippingProItem") ) \
{ \
execnow equipclasscurrentitem (dvarString( ui_custom_name )); \
} \
else \
{ \
execnow equipclassitem (dvarString( ui_custom_name )) (GetCurrentItemIndex() + 1); \
execnow buildItemListForSlotName (dvarString( selected_loadout_slot )); \
} \
setDvar buyingAndEquippingProItem "0";
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MENU_OK", CLEAR_ATTACHMENTS_ACTION; close self; execnow ui_animate menu_cac_custom * CloseDropDownList 0;, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MENU_CANCEL", close self;, 1, ; )
}
// Redefinitions for MEDIUM_POPUP_SETUP popups
#undef POPUP_WIDTH
#define POPUP_WIDTH MEDIUM_POPUP_WIDTH
#undef POPUP_HEIGHT
#define POPUP_HEIGHT MEDIUM_POPUP_HEIGHT
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X CONFIRM_PURCHASE_SIZE_X
#undef CHOICE_Y_START
#define CHOICE_Y_START POPUP_Y_START_TOP
#undef PLAYER_INFO_ALIGN
#define PLAYER_INFO_ALIGN // Purposely set to nothing. The popup setup macro sets the alignment. If items within it set their own aligment, they end up offset incorrectly.
#undef PLAYER_INFO_X_START
#define PLAYER_INFO_X_START( frameWidth ) ( frameWidth - PLAYER_INFO_WIDTH - PLAYER_INFO_PAD )
#undef PLAYER_INFO_Y_START
#define PLAYER_INFO_Y_START( frameHeight ) ( PLAYER_INFO_PAD * 2 )
#undef BG_BACKCOLOR
#define BG_BACKCOLOR POPUP_BACKCOLOR
// Redefinitions for MEDIUM_POPUP_SETUP popups
#define PURCHASE_CONFIRMATION_RIGHT_X ( MEDIUM_POPUP_WIDTH / 2 )
#define PURCHASE_INFO_WIDTH ( ( MEDIUM_POPUP_WIDTH / 2 ) - POPUP_SIDE_PAD )
#define CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, itemDesc, balanceHeader, balanceAfter, visArg ) \
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 1 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, locString( "@MENU_POINTS", itemCost ), TEXTSIZE_LARGE, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, NEW_FRAME_GREEN_RGB 1, visArg, ; ) \ /* Cost */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 2 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, "@" + itemName, TEXTSIZE_LARGE, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, NEW_FRAME_GREEN_RGB 1, visArg, ; ) \ /* Name */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 4 ) PURCHASE_INFO_WIDTH 200, 0 0, "@" + itemDesc, TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_TOP_LEFT, MEDIUM_POPUP_GRAY, visArg, autowrapped; ) \ /* Description */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 7 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, "@MPUI_YOUR_BANK", TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, MEDIUM_POPUP_GRAY, visArg, ; ) \ /* Currency Available Header */
PREPROC_TEXT_DRAW_VIS_EX( (MEDIUM_POPUP_WIDTH-75) CHOICE_Y( 7 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, locString( "@MENU_POINTS", GetStatByName( "CODPOINTS" ) ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, visArg, ; ) \ /* Currency Available */
PREPROC_TEXT_DRAW_VIS_EX( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 8 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, balanceHeader, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, MEDIUM_POPUP_GRAY, visArg, ; ) \ /* Balance After Purchase Header */
PREPROC_TEXT_DRAW_VIS_EX( (MEDIUM_POPUP_WIDTH-75) CHOICE_Y( 8 ) PURCHASE_INFO_WIDTH CHOICE_SIZE_Y, 0 0, balanceAfter, TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_TOP_LEFT, 1 1 1 1, visArg, ; ) /* Balance After Purchase */
#define PURCHASE_CONFIRMATION_ITEM_INFO( itemName, itemCost, itemDesc ) \
CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, itemDesc, "@MPUI_BALANCE_AFTER_PURCHASE", locString( "@MENU_POINTS", GetStatByName( "CODPOINTS" ) - itemCost ), 1 )
#define PURCHASE_CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, itemDesc, visArg ) \
CONFIRMATION_ITEM_INFO_VIS( itemName, itemCost, itemDesc, "@MPUI_BALANCE_AFTER_PURCHASE", locString( "@MENU_POINTS", GetStatByName( "CODPOINTS" ) - itemCost ), visArg )
#define IS_TWO_ATTACHMENT_PERK_EQUIPPED \
( ( STAT_CAC_SPECIALTY2 == getItemIndex( "PERKS_PROFESSIONAL" ) ) || ( STAT_CAC_SPECIALTY2 == getItemIndex( "PERKS_PROFESSIONAL_PRO" ) ) )
#define TWO_ATTACHMENTS_EQUIPPED \
( GetItemNumAttachmentsEquipped( dvarString( ui_custom_name ), STAT_CAC_PRIMARY ) > 1 || GetItemNumAttachmentsEquipped( dvarString( ui_custom_name ), STAT_CAC_SECONDARY ) > 1 )
#define TWO_ATTACHMENT_PERK_NOT_HIGHLIGHTED \
( GetCurrentItemIndex() != getItemIndex( "PERKS_PROFESSIONAL" ) && GetCurrentItemIndex() != getItemIndex( "PERKS_PROFESSIONAL_PRO" ) )
#define PERK_2_EQUIP_ACTION \
if( TWO_ATTACHMENTS_EQUIPPED && IS_TWO_ATTACHMENT_PERK_EQUIPPED && TWO_ATTACHMENT_PERK_NOT_HIGHLIGHTED ) \
{ \
setDvar buyingAndEquippingProItem "0"; \
execNow openMenu clearAttachmentNotification; \
execnow set ui_closeAfterPurchase 0; \
} \
else \
{ \
execnow equipclasscurrentitem (dvarString( ui_custom_name )); \
execnow set ui_closeAfterPurchase 1; \
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseConfirmation", setfocus "PurchaseConfirmation_3";, ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetCurrentItemName(), GetCurrentItemCost(), GetItemDesc( GetCurrentItemIndex() ) )
#define BUY_ACTION \
execnow purchasecurrentitem; \
if ( dvarString( ui_inside_popup ) == "select_weapon" ) \
{ \
execnow buildItemListForSlotNameAndGroup (dvarString(selected_loadout_slot)) (dvarString(selected_group)); \
} \
elseif ( dvarString( ui_inside_popup ) == "equipment_head" ) \
{ \
execnow buildItemListForSlotName (dvarString( selected_loadout_slot )); \
} \
close self;
#define BUY_AND_EQUIP_ACTION \
execnow purchasecurrentitem; \
if ( dvarString( ui_inside_popup ) == "specialties_2" ) \
{ \
PERK_2_EQUIP_ACTION \
} \
else \
{ \
execnow equipclasscurrentitem (dvarString( ui_custom_name )); \
execnow set ui_closeAfterPurchase 1; \
} \
if ( dvarString( ui_inside_popup ) == "select_weapon" ) \
{ \
execnow buildItemListForSlotNameAndGroup (dvarString(selected_loadout_slot)) (dvarString(selected_group)); \
execnow set ui_closeAfterPurchase 1; \
} \
elseif ( dvarString( ui_inside_popup ) == "equipment_head" ) \
{ \
execnow buildItemListForSlotName (dvarString( selected_loadout_slot )); \
} \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self, 1, name PurchaseConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseKillstreakConfirmation", setfocus "PurchaseKillstreakConfirmation_3";, ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetCurrentItemName(), GetCurrentItemCost(), GetItemDesc( GetCurrentItemIndex() ) )
#define BUY_KILLSTREAK_ACTION \
execnow purchasecurrentitem; \
close self;
#define BUY_AND_EQUIP_KILLSTREAK_ACTION \
execnow purchasecurrentitem; \
execnow equipGlobalItemInSlotSorted 3 killstreak 1; \
execnow set ui_closeAfterPurchase 1; \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_KILLSTREAK_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_KILLSTREAK_ACTION, ( GetNumSortedItemsEquipped() < 3 ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self, ( GetNumSortedItemsEquipped() == 3 ), name PurchaseKillstreakConfirmation_3 )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self, ( GetNumSortedItemsEquipped() < 3 ), name PurchaseKillstreakConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseProConfirmation", setfocus "PurchaseProConfirmation_3", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetItemName( GetCurrentItemIndex() + 1 ), GetItemCost( GetCurrentItemIndex() + 1 ), GetItemDesc( GetCurrentItemIndex() + 1 ) )
#define BUY_PRO_ACTION \
execnow purchasecurrentproitem; \
execnow buildItemListForSlotName (dvarString( selected_loadout_slot )); \
close self;
#define BUY_AND_EQUIP_PRO_ACTION \
execnow purchasecurrentproitem; \
if ( dvarString( ui_inside_popup ) == "specialties_2" && TWO_ATTACHMENTS_EQUIPPED && IS_TWO_ATTACHMENT_PERK_EQUIPPED && TWO_ATTACHMENT_PERK_NOT_HIGHLIGHTED ) \
{ \
setDvar buyingAndEquippingProItem "1"; \
execNow openMenu clearAttachmentNotification; \
execnow set ui_closeAfterPurchase 0; \
} \
else \
{ \
execnow equipclassitem (dvarString( ui_custom_name )) (GetCurrentItemIndex() + 1); \
execnow set ui_closeAfterPurchase 1; \
execnow buildItemListForSlotName (dvarString( selected_loadout_slot )); \
} \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_PRO_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_PRO_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self, 1, name PurchaseProConfirmation_3 )
}
#define GET_SLOT_STAT \
( Select( dvarString( selected_loadout_slot ) == "primary", STAT_CAC_PRIMARY, STAT_CAC_SECONDARY ) )
#define SELECTING_PRIMARY \
( dvarString( selected_loadout_slot ) == "primary" )
#define CAN_EQUIP_TWO_ATTACHMENTS \
( ( SELECTING_PRIMARY ) && ( isItemEquipped( getitemindex("PERKS_PROFESSIONAL"), dvarString( ui_custom_name ) ) || isItemEquipped( getitemindex("PERKS_PROFESSIONAL_PRO"), dvarString( ui_custom_name ) ) ) )
#define NUM_EQUIPPED_ATTACHMENTS \
GetItemNumAttachmentsEquipped( dvarString( ui_custom_name ), GET_SLOT_STAT )
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseAttachmentConfirmation", setfocus "PurchaseAttachmentConfirmation_3", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetCurrentItemAttachmentName(), GetCurrentItemAttachmentCost(), GetAttachmentDesc( GetItemAttachment( GetCurrentItemIndex(), GetCurrentItemAttachmentNum() ) ) )
#define BUY_ATTACHMENT_ACTION \
execnow purchasecurrentitemattachment; \
close self;
#define BUY_ATTACHMENT_AND_EQUIP_ACTION \
execnow purchasecurrentitemattachment; \
if( ( NUM_EQUIPPED_ATTACHMENTS < 1 ) || ( NUM_EQUIPPED_ATTACHMENTS == 1 && CAN_EQUIP_TWO_ATTACHMENTS ) ) \
{ \
execnow equipclasscurrentattachment ( dvarString( ui_custom_name ) ); \
} \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_ATTACHMENT_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_ATTACHMENT_AND_EQUIP_ACTION, ( ( NUM_EQUIPPED_ATTACHMENTS == 0 ) || ( NUM_EQUIPPED_ATTACHMENTS == 1 && CAN_EQUIP_TWO_ATTACHMENTS ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self, ( NUM_EQUIPPED_ATTACHMENTS == 2 || ( ( NUM_EQUIPPED_ATTACHMENTS == 1 ) && !CAN_EQUIP_TWO_ATTACHMENTS ) ), name PurchaseAttachmentConfirmation_3 )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self, ( ( NUM_EQUIPPED_ATTACHMENTS == 0 ) || ( NUM_EQUIPPED_ATTACHMENTS == 1 && CAN_EQUIP_TWO_ATTACHMENTS ) ), name PurchaseAttachmentConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseOptionConfirmation", setfocus "PurchaseOptionConfirmation_3", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetWeaponOptionName( GetCurrentItemOption() ), GetWeaponOptionCost( GetCurrentItemOption() ), GetWeaponOptionName( GetCurrentItemOption() ) )
#define BUY_OPTION_ACTION \
execnow purchasecurrentitemoption; \
close self;
#define BUY_OPTION_AND_EQUIP_ACTION \
execnow purchasecurrentitemoption; \
execnow equipclasscurrentoption ( dvarString( ui_custom_name ) ) ( dvarString( ui_option_name ) ); \
execnow set ui_closeAfterPurchase 1; \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_OPTION_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_OPTION_AND_EQUIP_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseOptionConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseContractConfirmation", setfocus "PurchaseContractConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetContractName( GetCurrentContractIndex() ), GetContractCost( GetCurrentContractIndex() ), GetContractDesc( GetCurrentContractIndex() ) )
#define BUY_CONTRACT_ACTION \
execnow activatecontract ( GetCurrentContractIndex() ) ( dvarint( ui_activeContract ) ); \
close self; \
execnow ui_animate menu_xboxlive_contracts anim_controller CloseDropDownList 0;
#define DEACTIVATE_AND_BUY_CONTRACT_ACTION \
execnow activatecontract ( GetCurrentContractIndex() ) ( dvarint( ui_activeContract ) ); \
close self; \
execnow ui_animate menu_xboxlive_contracts anim_controller CloseDropDownList 0;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_CONTRACT_ACTION, ( !IsContractInProgress( GetIndexForActiveContract( dvarInt( ui_activeContract ) ) ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_DEACTIVATE_AND_BUY_CAPS", DEACTIVATE_AND_BUY_CONTRACT_ACTION, ( IsContractInProgress( GetIndexForActiveContract( dvarInt( ui_activeContract ) ) ) ), ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseContractConfirmation_2 )
PREPROC_TEXT_DRAW_VIS_EX( CHOICE_X( 3 ) CHOICE_Y( 3 ) CHOICE_SIZE_X CHOICE_SIZE_Y, 0 0, "@MPUI_REPLACE_CONTRACT_WARNING", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, NEW_FRAME_ORANGE_RGB 1, when( IsContractInProgress( GetIndexForActiveContract( dvarInt( ui_activeContract ) ) ) );, autowrapped )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseWeaponOptionConfirmation", setfocus "PurchaseWeaponOptionConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO_VIS( GetItemName( dvarInt( weaponOptionIndex ) ), GetWeaponOptionCost( GetItemOptionByName( dvarString( weaponOptionRef ) ) ), GetItemDesc( dvarInt( weaponOptionIndex ) ), 1 )
#define BUY_WEAPON_OPTION_ACTION( optionRef ) \
execnow PurchaseWeaponOption optionRef; \
close self;
#define BUY_AND_EQUIP_WEAPON_OPTION_ACTION( optionRef ) \
execnow PurchaseWeaponOption optionRef; \
close self; \
execnow toggleWeaponOption (dvarString( ui_custom_name )) optionRef;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_WEAPON_OPTION_ACTION( ( dvarString( weaponOptionRef ) ) ), 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_WEAPON_OPTION_ACTION( ( dvarString( weaponOptionRef ) ) ), 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self, 1, name PurchaseWeaponOptionConfirmation_2 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseEmblemLayerConfirmation", setfocus "PurchaseEmblemLayerConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( ( locString( "MENU_EMBLEM_LAYER_CAPS", emblemSelectedLayer() + 1 ) ) , emblemLayerCost( emblemSelectedLayer() ), "" )
#define BUY_EMBLEM_LAYER_ACTION \
execnow emblempurchaselayer; \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_EMBLEM_LAYER_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseEmblemLayerConfirmation_2 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseClanTagFeatureConfirmation", setfocus "PurchaseClanTagFeatureConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( "MPUI_CLANTAG_" + GetClanTagFeatureName( GetCurrentClanTagFeature() ), GetClanTagFeatureCost( GetCurrentClanTagFeature() ), "MPUI_CLANTAG_" + GetClanTagFeatureName( GetCurrentClanTagFeature() ) + "_DESC" )
#define BUY_CLAN_TAG_FEATURE_ACTION \
execnow PurchaseClanTagFeature ( GetCurrentClanTagFeature() ); \
close self;
#define BUY_AND_EQUIP_CLAN_TAG_FEATURE_ACTION \
execnow PurchaseClanTagFeature ( GetCurrentClanTagFeature() ); \
execNow statwriteddl clanTagStats selectedFeature ( GetCurrentClanTagFeature() ); \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_CLAN_TAG_FEATURE_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_CLAN_TAG_FEATURE_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseClanTagFeatureConfirmation_2 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseCurrentWeaponOptionConfirmation", setfocus "PurchaseCurrentWeaponOptionConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( GetWeaponOptionName( GetCurrentItemOption() ), GetWeaponOptionCost( GetCurrentItemOption() ), GetWeaponOptionName( GetCurrentItemOption() ) )
#define BUY_CURRENT_WEAPON_OPTION_ACTION \
execnow purchasecurrentitemoption; \
close self;
#define BUY_AND_EQUIP_CURRENT_WEAPON_OPTION_ACTION \
execnow purchasecurrentitemoption; \
execnow "equipclasscurrentoption ( dvarString( ui_custom_name ) ) ( dvarString( ui_optiongroup_name ) )"; \
execnow set ui_closeAfterPurchase 1; \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_CURRENT_WEAPON_OPTION_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_EQUIP_CAPS", BUY_AND_EQUIP_CURRENT_WEAPON_OPTION_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseCurrentWeaponOptionConfirmation_2 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseEmblemIconConfirmation", setfocus "PurchaseEmblemIconConfirmation_3", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( emblemIconName( localvarint( emblem_selected_icon_id ) ), emblemIconCost( localvarint( emblem_selected_icon_id ) ), "" )
#define BUY_EMBLEM_ICON_ACTION \
execnow emblempurchaseicon ( localvarint( emblem_selected_icon_id ) ); \
close self;
#define BUY_SELECT_EMBLEM_ICON_ACTION \
execnow emblempurchaseicon ( localvarint( emblem_selected_icon_id ) ); \
close self; \
execNow emblemClear; \
execNow emblemIcon ( localvarint( emblem_selected_icon_id ) ); \
close emblem_icon_select; \
openimmediate emblem_edit;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_EMBLEM_ICON_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_SELECT_CAPS", BUY_SELECT_EMBLEM_ICON_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseEmblemIconConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseEmblemBackgroundConfirmation", setfocus "PurchaseEmblemBackgroundConfirmation_3", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( emblemBackgroundName( localvarint( bg_hi_index ) ), emblemBackgroundCost( localvarint( bg_hi_index ) ), "" )
PREPROC_SHADER_DRAW( (PURCHASE_CONFIRMATION_RIGHT_X) CHOICE_Y( 4 ) 185 40, emblemBackgroundMaterial( localvarint( bg_hi_index ) ), 1 1 1 1 )
#define BUY_EMBLEM_BACKGROUND_ACTION \
execnow emblempurchasebackgroundbyindex ( localvarint( bg_hi_index ) ); \
close self;
#define BUY_SELECT_EMBLEM_BACKGROUND_ACTION \
execnow emblempurchasebackgroundbyindex ( localvarint( bg_hi_index ) ); \
execnow emblemselectbackground ( localvarint( bg_hi_index ) ); \
close self; \
close emblem_bg_select; \
openimmediate emblem_edit;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_EMBLEM_BACKGROUND_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_BUY_AND_SELECT_CAPS", BUY_SELECT_EMBLEM_BACKGROUND_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 3, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseEmblemBackgroundConfirmation_3 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PurchaseAttachmentPointConfirmation", setfocus "PurchaseAttachmentPointConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
#define SELECTED_ATTACHMENT_POINT_NAME \
tablelookup( "mp/attachmentTable.csv", 4, dvarString( "selected_attachment_point" ), 3 )
#define SELECTED_ATTACHMENT_POINT_COST \
tablelookup( "mp/attachmentTable.csv", 4, dvarString( "selected_attachment_point" ), 12 )
#define SELECTED_ATTACHMENT_POINT_DESC \
tablelookup( "mp/attachmentTable.csv", 4, dvarString( "selected_attachment_point" ), 7 )
PURCHASE_CONFIRMATION_ITEM_INFO( SELECTED_ATTACHMENT_POINT_NAME, SELECTED_ATTACHMENT_POINT_COST, SELECTED_ATTACHMENT_POINT_DESC )
#define IS_PRIMARY ( dvarString( "selected_loadout_slot" ) == "primary" )
#define PURCHASE_ATTACH_POINT_ACTION \
execnow "purchaseitemattachmentpoint" (Select( IS_PRIMARY, STAT_CAC_PRIMARY, STAT_CAC_SECONDARY )) (dvarString( "selected_attachment_point" )); \
close self;
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", PURCHASE_ATTACH_POINT_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self;, 1, name PurchaseAttachmentPointConfirmation_2 )
}
menuDef
{
MEDIUM_POPUP_SETUP_VIS( "PrestigeLBPurchaseConfirmation", setfocus "PrestigeLBPurchaseConfirmation_2", ;, POPUP_GLOW_GREEN, 1, 1 )
MEDIUM_POPUP_TITLE_VIS( "@MENU_CONFIRM_PURCHASE_CAPS", 1 )
PLAYER_INFO_VIS( MEDIUM_POPUP_WIDTH, MEDIUM_POPUP_HEIGHT, 1 )
PURCHASE_CONFIRMATION_ITEM_INFO( "MPUI_PRESTIGE_LEADERBOARDS_CAPS", GetItemCost(GetItemIndex("FEATURE_PRESTIGE_LB")), "" )
#define BUY_PRESTIGE_LB_ACTION \
execNow purchaseItem (getItemIndex("FEATURE_PRESTIGE_LB")); \
execnow "uploadstats"; \
close self; \
openImmediate menu_playercards_lb_prestige
FRAME_CHOICE_BUTTON_VIS_EX( 1, "@MPUI_BUY_CAPS", BUY_PRESTIGE_LB_ACTION, 1, ; )
FRAME_CHOICE_BUTTON_VIS_EX( 2, "@MPUI_CANCEL_PURCHASE_CAPS", close self, 1, name PrestigeLBPurchaseConfirmation_2 )
}
// Redefinitions for LARGE_POPUP_SETUP popups
#undef POPUP_WIDTH
#define POPUP_WIDTH LARGE_POPUP_WIDTH
#undef POPUP_HEIGHT
#define POPUP_HEIGHT LARGE_POPUP_HEIGHT
#undef CHOICE_SIZE_X
#define CHOICE_SIZE_X (LARGE_POPUP_WIDTH / 3)
// Redefinitions for LARGE_POPUP_SETUP popups
// ====================================================================================================
// reset to default class selection ===================================================================
// ====================================================================================================
#define RESET_DEFAULT_ACTION( ptype ) \
play CHOICE_FOCUS_SOUND; \
open "popup_cac_defaultclasswarning"ptype;
#undef CHOICE_GROUP
#define CHOICE_GROUP "reset_class"
// hackaround to work for PC's floating mouse unfocusing
#undef UI_FOCUSFIRST
#ifdef PC
#define UI_FOCUSFIRST "ui_class"
#else
#define UI_FOCUSFIRST "ui_fake_focus"
#endif
menuDef
{
#define IS_CUSTOM_CLASS_MODE dvarInt( ui_useCustomClassInfo ) == 1
LARGE_POPUP_SETUP_VIS( "popup_cac_template", execnow "set "UI_FOCUSFIRST" class_smg";, ;, POPUP_GLOW_WHITE, 0, 1 )
LARGE_POPUP_TITLE_VIS( dvarString( dvarString( ui_custom_name ) ), when( !IS_CUSTOM_CLASS_MODE && IS_ONLINE_GAME && !IS_BASICTRAINING_GAME ) )
LARGE_POPUP_TITLE_VIS( dvarString( dvarString( offline_custom_name ) ), when( !IS_CUSTOM_CLASS_MODE && ( !IS_ONLINE_GAME || IS_BASICTRAINING_GAME ) ) )
LARGE_POPUP_TITLE_VIS( dvarString( custom_class_name ), when( IS_CUSTOM_CLASS_MODE ) )
LARGE_POPUP_SUBTITLE_VIS( toUpper( dvarstring(ui_menu_selection_title) ), 1 )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 1, "@CLASS_CLASS1", RESET_DEFAULT_ACTION( "_smg" ), setdvar ui_class class_custom_smg; setDvarFromLocString( ui_default_name, "@CLASS_CLASS1" );, ;, 1, ; )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 2, "@CLASS_CLASS2", RESET_DEFAULT_ACTION( "_cqb" ), setdvar ui_class class_custom_cqb; setDvarFromLocString( ui_default_name, "@CLASS_CLASS2" );, ;, 1, ; )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 3, "@CLASS_CLASS3", RESET_DEFAULT_ACTION( "_assault" ), setdvar ui_class class_custom_assault; setDvarFromLocString( ui_default_name, "@CLASS_CLASS3" );, ;, 1, ; )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 4, "@CLASS_CLASS4", RESET_DEFAULT_ACTION( "_lmg" ), setdvar ui_class class_custom_lmg; setDvarFromLocString( ui_default_name, "@CLASS_CLASS4" );, ;, 1, ; )
FRAME_CHOICE_BUTTON_FOCUS_VIS_EX( 5, "@CLASS_CLASS5", RESET_DEFAULT_ACTION( "_sniper" ), setdvar ui_class class_custom_sniper; setDvarFromLocString( ui_default_name, "@CLASS_CLASS5" );, ;, 1, ; )
#undef CAC_WIDTH
#define CAC_WIDTH LARGE_POPUP_WIDTH
#undef CAC_HEIGHT
#define CAC_HEIGHT LARGE_POPUP_HEIGHT
#define COMMON_ITEM_INFO_WIDTH 200
#define COMMON_ITEM_INFO_X (CAC_WIDTH - COMMON_ITEM_INFO_WIDTH - POPUP_SIDE_PAD )
#define COMMON_ITEM_INFO_Y (POPUP_SIDE_PAD*1.5)
// Default class stats
#undef STAT_CAC_PRIMARY_GRENADE
#define STAT_CAC_PRIMARY_GRENADE GetDefaultClassSlot( dvarstring( ui_class ), "primarygrenade" )
#undef STAT_CAC_PRIMARY
#define STAT_CAC_PRIMARY GetDefaultClassSlot( dvarstring( ui_class ), "primary" )
// no default attachments or camo for now
#undef STAT_CAC_PRIMARY_ATTACHMENT
#define STAT_CAC_PRIMARY_ATTACHMENT 0
#undef STAT_CAC_PRIMARY_CAMO
#define STAT_CAC_PRIMARY_CAMO 0
#undef STAT_CAC_SECONDARY
#define STAT_CAC_SECONDARY GetDefaultClassSlot( dvarstring( ui_class ), "secondary" )
// no default attachments or camo for now
#undef STAT_CAC_SECONDARY_ATTACHMENT
#define STAT_CAC_SECONDARY_ATTACHMENT 0
#undef STAT_CAC_SECONDARY_CAMO
#define STAT_CAC_SECONDARY_CAMO 0
#undef STAT_CAC_SPECIALTY1
#define STAT_CAC_SPECIALTY1 GetDefaultClassSlot( dvarstring( ui_class ), "specialty1" )
#undef STAT_CAC_SPECIALTY2
#define STAT_CAC_SPECIALTY2 GetDefaultClassSlot( dvarstring( ui_class ), "specialty2" )
#undef STAT_CAC_SPECIALTY3
#define STAT_CAC_SPECIALTY3 GetDefaultClassSlot( dvarstring( ui_class ), "specialty3" )
#undef STAT_CAC_EQUIPMENT
#define STAT_CAC_EQUIPMENT GetDefaultClassSlot( dvarstring( ui_class ), "equipment" )
#undef STAT_CAC_SPECIAL_GRENADE
#define STAT_CAC_SPECIAL_GRENADE GetDefaultClassSlot( dvarstring( ui_class ), "specialgrenade" )
#undef STAT_CAC_BODY
#define STAT_CAC_BODY GetDefaultClassSlot( dvarstring( ui_class ), "body" )
#undef STAT_CAC_DEATHSTREAK
#define STAT_CAC_DEATHSTREAK GetDefaultClassSlot( dvarstring( ui_class ), "deathstreak" )
#undef STAT_CAC_KILLSTREAK_TIER1
#define STAT_CAC_KILLSTREAK_TIER1 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak1" )
#undef STAT_CAC_KILLSTREAK_TIER2
#define STAT_CAC_KILLSTREAK_TIER2 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak2" )
#undef STAT_CAC_KILLSTREAK_TIER3
#define STAT_CAC_KILLSTREAK_TIER3 GetDefaultClassSlot( dvarstring( ui_class ), "killstreak3" )
#undef FIRST_ATTACHMENT_PRIMARY_WEAPON
#define FIRST_ATTACHMENT_PRIMARY_WEAPON -1
#undef SECOND_ATTACHMENT_PRIMARY_WEAPON
#define SECOND_ATTACHMENT_PRIMARY_WEAPON -1
#include "ui_mp/newframe.inc"
#include "ui_mp/cac_item_info.inc"
LARGE_POPUP_BACK_BUTTON
}