709 lines
47 KiB
Text
709 lines
47 KiB
Text
//======================================
|
|
// End of Game Summary & Unlocks
|
|
// EOG
|
|
//======================================
|
|
|
|
#include "ui/menudef.h"
|
|
#include "ui_mp/common_macro.inc"
|
|
#include "ui_mp/menustyle.inc"
|
|
#include "ui/choices_setup_common.menu"
|
|
|
|
{
|
|
// ANIMATION SPEEDS
|
|
#define POPUP_MOVE_SPEED 400 //milliseconds
|
|
#define PROGRESS_BAR_SPEED 1000 //milliseconds
|
|
#define ANIMATE_DISTANCE 400 //units
|
|
|
|
// top bar position/size
|
|
#define WIDTH_TOPBAR 540
|
|
#define HEIGHT_TOPBAR 34
|
|
#define ORIGIN_TOPBAR_X 0 //(-(WIDTH_TOPBAR/2))
|
|
#define ORIGIN_TOPBAR_Y 0 //80
|
|
#define ORIGIN_TOPBAR ORIGIN_TOPBAR_X ORIGIN_TOPBAR_Y
|
|
#define RECT_TOPBAR ORIGIN_TOPBAR WIDTH_TOPBAR HEIGHT_TOPBAR
|
|
#define RECT_TOPBAR_ALIGNED RECT_TOPBAR HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
|
|
// main frame position/size
|
|
#define WIDTH_MAINFRAME WIDTH_TOPBAR
|
|
#define HEIGHT_MAINFRAME 300
|
|
#define ORIGIN_MAINFRAME_X ORIGIN_TOPBAR_X
|
|
#define ORIGIN_MAINFRAME_Y (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+6)
|
|
#define ORIGIN_MAINFRAME ORIGIN_MAINFRAME_X ORIGIN_MAINFRAME_Y
|
|
#define RECT_MAINFRAME ORIGIN_MAINFRAME WIDTH_MAINFRAME HEIGHT_MAINFRAME
|
|
#define RECT_MAINFRAME_ALIGNED RECT_MAINFRAME HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
|
|
// Rank frame position/size
|
|
#define ORIGIN_RANK_FRAME_X 256
|
|
#define ORIGIN_RANK_FRAME_Y (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+6)
|
|
#define ORIGIN_RANK_FRAME ORIGIN_RANK_FRAME_X ORIGIN_RANK_FRAME_Y
|
|
#define WIDTH_RANK_FRAME WIDTH_TOPBAR - ORIGIN_RANK_FRAME_X
|
|
#define HEIGHT_RANK_FRAME 300
|
|
#define RECT_RANK_FRAME ORIGIN_RANK_FRAME WIDTH_RANK_FRAME HEIGHT_RANK_FRAME
|
|
#define RECT_RANK_FRAME_ALIGNED RECT_RANK_FRAME HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
|
|
//Next Rank position/size
|
|
#define WIDTH_NEXT_RANK_FRAME (WIDTH_RANK_FRAME-148)
|
|
#define HEIGHT_NEXT_RANK_FRAME (HEIGHT_RANK_FRAME-179)
|
|
#define ORIGIN_NEXT_RANK_FRAME_X (ORIGIN_RANK_FRAME_X+WIDTH_NEXT_RANK_FRAME)
|
|
#define ORIGIN_NEXT_RANK_FRAME_Y ORIGIN_RANK_FRAME_Y
|
|
#define ORIGIN_NEXT_RANK_FRAME ORIGIN_NEXT_RANK_FRAME_X ORIGIN_RANK_FRAME_Y
|
|
|
|
|
|
// summary content positioning
|
|
#define ORIGIN_XP_SLOT1 14 162
|
|
#define ORIGIN_XP_SLOT2 14 178//186
|
|
#define ORIGIN_XP_SLOT3 14 194//210
|
|
#define ORIGIN_XP_SLOT4 14 (210+5)//238
|
|
|
|
// Nemesis content positioning
|
|
#define ORIGIN_NEMISIS_SLOT1 14 256//9 238
|
|
#define ORIGIN_NEMISIS_SLOT2 14 281
|
|
#define ORIGIN_NEMISIS_SLOT3 14 297
|
|
//#define ORIGIN_NEMISIS_SLOT4 14 238
|
|
|
|
// player content positioning
|
|
#define ORIGIN_PLAYER_SLOT1 14 (34+10)
|
|
#define ORIGIN_PLAYER_SLOT2 14 (48+10)
|
|
#define ORIGIN_PLAYER_SLOT3 14 (64+10)
|
|
#define ORIGIN_PLAYER_SLOT4 14 (80+10)
|
|
#define ORIGIN_PLAYER_SLOT5 14 (98+10)
|
|
#define ORIGIN_PLAYER_SLOT6 14 (116+10)
|
|
#define ORIGIN_PLAYER_SLOT7 14 (145+10)
|
|
#define ORIGIN_PLAYER_SLOT8 14 (175+10)
|
|
#define ORIGIN_PLAYER_SLOT9 14 (205+10)
|
|
|
|
// colors/border
|
|
#define EOG_BASE_COLOR 0.25 0.25 0.27 1
|
|
#define EOG_BG_COLOR 0.1 0.1 0.12 0.85
|
|
#define EOG_SHINE_COLOR 0.9 0.9 0.9 0.45
|
|
#define EOG_BORDER_SIZE 1
|
|
#define EOG_BORDER_COLOR 0.35 0.35 0.37 1
|
|
#define EOG_BORDER WINDOW_BORDER_RAISED
|
|
#define EOG_TEXT_COLOR 0.7 0.7 0.72 1
|
|
#define EOG_TEXT_COLOR_LOSE 1.0 0.0 0.0 1
|
|
#define EOG_TEXT_COLOR_WIN 0.0 1.0 0.0 1
|
|
#define EOG_TITLE_COLOR COLOR_TITLE
|
|
#define EOG_INNER_COLOR 0 0 0 0.3
|
|
|
|
#define TITLE_BG_COLOR_OFF 1 1 1 0.075
|
|
#define TITLE_BG_COLOR_ON 1 0.8 0.4 0.6 //0.95 0.80 0.3 0.6
|
|
|
|
#define ZERO_TO_ONE milliseconds()-dvarInt(ui_time_marker)
|
|
#define UNIT_GROWTH sin( sin( min( ZERO_TO_ONE, POPUP_MOVE_SPEED )*(1.5707/POPUP_MOVE_SPEED) )*1.5707 )
|
|
|
|
#define FRAME_ANIMATE( offset ) \
|
|
offset-offset*UNIT_GROWTH
|
|
|
|
#define PC_NEXT_BUTTON( prect1, prect2, visArg )\
|
|
FRAMING_VIS( prect1, visArg )\
|
|
FRAMING_VIS( prect2, !(visArg) )\
|
|
PREPROC_TEXT_DRAW( prect1, 0 0, exp text("@MENU_GOTO_NEXT"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, 1 1 1 0.15 textfont UI_FONT_OBJECTIVE visible when( visArg ); )\
|
|
PREPROC_TEXT_DRAW( prect2, 0 -2, exp text("@MENU_GOTO_NEXT"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, 1 1 1 0.15 textfont UI_FONT_OBJECTIVE visible when( !(visArg) ); )\
|
|
PREPROC_TEXT_DRAW( prect1, 0 0, exp text("@MENU_GOTO_NEXT"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, COLOR_TITLE textfont UI_FONT_OBJECTIVE visible when( visArg ); name highlighted_next )\
|
|
PREPROC_TEXT_DRAW( prect2, 0 -2, exp text("@MENU_GOTO_NEXT"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, COLOR_TITLE textfont UI_FONT_OBJECTIVE visible when( !(visArg) ); name highlighted_next )\
|
|
itemDef { \
|
|
type ITEM_TYPE_BUTTON \
|
|
rect prect1 0 0\
|
|
text ""\
|
|
textfont UI_FONT_NORMAL \
|
|
textAlign ITEM_ALIGN_MIDDLE_CENTER \
|
|
visible when( visArg );\
|
|
onfocus { show highlighted_next; }\
|
|
leavefocus { hide highlighted_next; }\
|
|
mouseEnter { play "mouse_over"; }\
|
|
action { play "mouse_click"; close self; } }\
|
|
itemDef { \
|
|
type ITEM_TYPE_BUTTON \
|
|
rect prect2 0 0\
|
|
text ""\
|
|
textfont UI_FONT_NORMAL \
|
|
textAlign ITEM_ALIGN_MIDDLE_CENTER \
|
|
visible when( !(visArg) );\
|
|
onfocus { show highlighted_next; }\
|
|
leavefocus { hide highlighted_next; }\
|
|
mouseEnter { play "mouse_over"; }\
|
|
action { play "mouse_click"; close self; }\
|
|
}
|
|
|
|
menuDef
|
|
{
|
|
name "popup_summary"
|
|
rect (-(WIDTH_TOPBAR/2)) HEIGHT_TOPBAR WIDTH_TOPBAR (HEIGHT_TOPBAR+HEIGHT_MAINFRAME) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
focusColor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
onOpen
|
|
{
|
|
open "popup_summary_body"; // open child popup page
|
|
play "mp_ingame_summary";
|
|
exec "setdvartotime ui_time_marker"; // animation start marker
|
|
#ifdef XENON
|
|
setdvar invite_visible "0";
|
|
#endif//#ifdef XENON
|
|
}
|
|
onESC
|
|
{
|
|
close self;
|
|
}
|
|
onClose
|
|
{ ; }
|
|
|
|
// Fullscreen darkened backdrop
|
|
PREPROC_SHADER_DRAW( -800 -800 2000 2000, 0 0, "white", 0 0 0 0.6, 0, 0, 0 0 0 0 )
|
|
|
|
// ==================== TOP BAR ===================
|
|
// Top bar frame
|
|
#define FRAMING( prect ) \
|
|
FRAMING_VIS( prect, 1 )
|
|
|
|
#define FRAMING_VIS( prect, visArg ) \
|
|
PREPROC_SHADER_DRAW( prect, 0 0, "white", EOG_BASE_COLOR, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 visible when(visArg) )\
|
|
PREPROC_SHADER_DRAW( prect, 0 0, "white", EOG_BG_COLOR, EOG_BORDER, EOG_BORDER_SIZE, EOG_BORDER_COLOR visible when(visArg) )\
|
|
PREPROC_SHADER_DRAW( prect, 0 0, "line_horizontal", EOG_SHINE_COLOR, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 visible when(visArg) )
|
|
|
|
|
|
#define FRAMING_NEW( px, py, pw, ph ) \
|
|
FRAMING_NEW_VIS( px, py, pw, ph, 1 )
|
|
|
|
#define FRAMING_NEW_VIS( px, py, pw, ph, visArg ) \
|
|
PREPROC_GRADIENT_DRAW_ALIGNED_VIS( px, py, pw, ph, 0, 0, 0 0, "menu_white_line_faded", 0.1 0.1 0.1 0.9, visArg )
|
|
//PREPROC_SHADER_DRAW( prect, 0 0, "white", EOG_BASE_COLOR, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 visible when(visArg) )\
|
|
//PREPROC_SHADER_DRAW( prect, 0 0, "white", EOG_BG_COLOR, EOG_BORDER, EOG_BORDER_SIZE, EOG_BORDER_COLOR visible when(visArg) )\
|
|
//PREPROC_SHADER_DRAW( prect, 0 0, "line_horizontal", EOG_SHINE_COLOR, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 visible when(visArg) )
|
|
|
|
FRAMING( RECT_TOPBAR )
|
|
PREPROC_GRADIENT_DRAW_ALIGNED_VIS( ORIGIN_TOPBAR_X, ORIGIN_TOPBAR_Y, WIDTH_TOPBAR, HEIGHT_TOPBAR, 0, 0, 0 0, "menu_white_line_faded", 0.1 0.1 0.1 0.9, 1 )
|
|
//FRAMING_NEW( ORIGIN_TOPBAR_X, ORIGIN_TOPBAR_Y, WIDTH_TOPBAR, HEIGHT_TOPBAR )
|
|
|
|
// Top bar title
|
|
PREPROC_TEXT_DRAW( RECT_TOPBAR, 0 0, exp text("@MPUI_GAME_SUMMARY"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, EOG_TITLE_COLOR visible when( dvarString(ui_lobbypopup_text) != "promotion" ); )
|
|
PREPROC_TEXT_DRAW( RECT_TOPBAR, 0 0, exp text("@RANK_PROMOTED"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, EOG_TITLE_COLOR visible when( dvarString(ui_lobbypopup_text) == "promotion" ); )
|
|
}
|
|
|
|
menuDef
|
|
{
|
|
name "popup_summary_body"
|
|
exp rect X (-(WIDTH_TOPBAR/2))
|
|
#ifdef PC
|
|
exp rect Y (HEIGHT_TOPBAR+FRAME_ANIMATE(ANIMATE_DISTANCE))
|
|
#else
|
|
exp rect Y (HEIGHT_TOPBAR)
|
|
#endif
|
|
rect 0 0 WIDTH_TOPBAR (HEIGHT_TOPBAR+HEIGHT_MAINFRAME+HEIGHT_TOPBAR) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
focusColor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
onOpen { ; }
|
|
execkeyint BUTTON_A { close self; }
|
|
|
|
#ifdef XENON
|
|
execkeyint BUTTON_Y { showGamerCard nemesis; }
|
|
#endif//#ifdef XENON
|
|
onESC
|
|
{
|
|
close self;
|
|
}
|
|
onClose
|
|
{
|
|
close "popup_summary";
|
|
#ifdef XENON
|
|
setdvar invite_visible "1";
|
|
#endif//#ifdef XENON
|
|
}
|
|
|
|
// ==================== SUMMARY FRAME ====================
|
|
|
|
// Summary frame
|
|
FRAMING( RECT_MAINFRAME )
|
|
//FRAMING_NEW( ORIGIN_MAINFRAME_X, ORIGIN_MAINFRAME_Y, WIDTH_MAINFRAME, HEIGHT_MAINFRAME )
|
|
|
|
FRAMING( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6 )
|
|
PREPROC_GRADIENT_DRAW_ALIGNED_VIS( ORIGIN_TOPBAR_X, (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR), WIDTH_TOPBAR, 6, 0, 0, 0 0, "menu_white_line_faded", 0.1 0.1 0.1 0.9, 1 )
|
|
//FRAMING_NEW( ORIGIN_TOPBAR_X, (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR), WIDTH_TOPBAR, 6 )
|
|
PREPROC_SHADER_DRAW( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6, 0 0, "white", 1 1 1 0.15, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 )
|
|
|
|
#define ALIGNED_IN_X (ORIGIN_RANK_FRAME_X+WIDTH_NEXT_RANK_FRAME-78)
|
|
#define ALIGNED_IN_Y 8
|
|
#define ALIGNED_IN_X_NEXT (ORIGIN_RANK_FRAME_X+WIDTH_NEXT_RANK_FRAME+78)
|
|
#define ALIGNED_IN_X_XP 12
|
|
#define ALIGNED_IN_Y_XP 180
|
|
#define ALIGNED_IN_X_KILLSTREAK 14
|
|
#define ALIGNED_IN_Y_KILLSTREAK (108+10)
|
|
#define ALIGNED_IN_X_PLAYER_STATS (WIDTH_RANK_FRAME-60)
|
|
|
|
#define BAR_FIXED 253*((stat(2301)-int(tablelookup( "mp/ranktable.csv", 0, string(stat(252)), 2)))/int(tablelookup("mp/ranktable.csv",0,stat(252),3)))
|
|
#define ANIMATE_BAR min( BAR_FIXED, BAR_FIXED*((milliseconds()-dvarInt(ui_time_marker))/PROGRESS_BAR_SPEED) )
|
|
|
|
#define REQUIRED_XP int(stat(2301)-int(tablelookup( "mp/ranktable.csv", 0, string(stat(252)), 2)))
|
|
#define ANIMATE_NUM int(min( REQUIRED_XP, REQUIRED_XP*((milliseconds()-dvarInt(ui_time_marker))/PROGRESS_BAR_SPEED) ))
|
|
#define REQUIRED_XP_STRING string(int(tablelookup( "mp/ranktable.csv", 0, string(stat(252)), 3 ))-ANIMATE_NUM) //locString( "@MPUI_X_SLASH_Y", ANIMATE_NUM, int(tablelookup( "mp/ranktable.csv", 0, string(stat(252)), 3 )) )
|
|
|
|
|
|
PREPROC_SHADER_DRAW( ORIGIN_RANK_FRAME WIDTH_NEXT_RANK_FRAME HEIGHT_NEXT_RANK_FRAME, 6 7, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_NEXT_RANK_FRAME WIDTH_NEXT_RANK_FRAME HEIGHT_NEXT_RANK_FRAME, 6 7, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
|
|
// rank
|
|
PREPROC_TEXT_DRAW( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X-45) (ALIGNED_IN_Y+20), text "@MPUI_RANK_PRE", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 56 56, (ALIGNED_IN_X-10) (ALIGNED_IN_Y+23), tablelookup( "mp/rankIconTable.csv", 0, stat(252), stat(2326)+1 ), 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X-45) (ALIGNED_IN_Y+100), exp text( "@"+tablelookup( "mp/ranktable.csv", 0, stat(252), 5 ) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X-45) (ALIGNED_IN_Y+115), exp text(locString( "@MPUI_LEVEL_N", int(tablelookup("mp/ranktable.csv",0,stat(252),14)))), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
|
|
// next rank
|
|
/* rank icon */
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 56 56, (ALIGNED_IN_X_NEXT-30) (ALIGNED_IN_Y+23), tablelookup( "mp/rankIconTable.csv", 0, stat(252)+1, stat(2326)+1 ), 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( CAN_RANK_UP && PRESTIGE_NEXT==0 ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 56 56, (ALIGNED_IN_X_NEXT-30) (ALIGNED_IN_Y+23), tablelookup( "mp/rankIconTable.csv", 0, 0, stat(2326)+2 ), 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( CAN_RANK_UP && PRESTIGE_NEXT ); )
|
|
/* rank label */
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+20), exp text( "@MPUI_NEXT_RANK_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
/* rank level */
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+115), exp text( locString( "@MPUI_LEVEL_N", int(tablelookup("mp/ranktable.csv",0,stat(252)+1,14)))), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( stat(252) < MAX_RANK ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+115), exp text( locString( "@MPUI_LEVEL_N", 1 )), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( CAN_RANK_UP && PRESTIGE_NEXT ) )
|
|
/* rank name */
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+100), exp text( "@"+tablelookup( "mp/ranktable.csv", 0, string(stat(252)+1), 5 ) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( CAN_RANK_UP && PRESTIGE_NEXT==0 ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+100), exp text( "@MPUI_PRESTIGE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( CAN_RANK_UP && PRESTIGE_NEXT ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, (ALIGNED_IN_X_NEXT-60) (ALIGNED_IN_Y+100), exp text( "@MPUI_NONE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( CAN_RANK_UP==0 ); )
|
|
|
|
// xp gained
|
|
//PREPROC_SHADER_DRAW( ORIGIN_RANK_FRAME (WIDTH_RANK_FRAME-14) 28, 8 206, "white", 1 0 0 0.075, 0, 0, 0 0 0 0 )
|
|
PREPROC_SHADER_DRAW( ORIGIN_RANK_FRAME (WIDTH_RANK_FRAME-12) (HEIGHT_RANK_FRAME-136), 6 130, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT1, exp text( "@MPUI_SCORE_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( !dvarBool( xblive_privatematch ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT2, exp text( "@MPUI_CHALLENGES_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( !dvarBool( xblive_privatematch ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT3, exp text( "@MPUI_MATCHBONUS_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( !dvarBool( xblive_privatematch ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT4, exp text( "@MPUI_TOTALXP_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW visible when( !dvarBool( xblive_privatematch ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT1, exp text( dvarString( ps_s ) + " " + locString( "@MPUI_XP_PRE" ) ), TEXTSIZE_SMALL, ((WIDTH_RANK_FRAME)-30), -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( ( dvarString( ps_s ) != "" ) && ( !dvarBool( xblive_privatematch ) ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT2, exp text( dvarString( ps_c ) + " " + locString( "@MPUI_XP_PRE" ) ), TEXTSIZE_SMALL, ((WIDTH_RANK_FRAME)-30), -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( ( dvarString( ps_c ) != "" ) && ( !dvarBool( xblive_privatematch ) ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT3, exp text( dvarString( ps_m ) + " " + locString( "@MPUI_XP_PRE" ) ), TEXTSIZE_SMALL, ((WIDTH_RANK_FRAME)-30), -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( ( dvarString( ps_m ) != "" ) && ( !dvarBool( xblive_privatematch ) ) ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ORIGIN_XP_SLOT4, exp text( dvarString( ps_x ) ), TEXTSIZE_SMALL, ((WIDTH_RANK_FRAME)-30), -10, ITEM_ALIGN_RIGHT, COLOR_INFO_YELLOW visible when( !dvarBool( xblive_privatematch ) ) )
|
|
|
|
//Player stats
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT1, exp text( dvarString( "ps_n" ) ), TEXTSIZE_SMALL, 0, -15, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT2, exp text( "@MPUI_KILLS_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT2, exp text( dvarString( ps_k ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT3, exp text( "@MPUI_DEATHS_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT3, exp text( dvarString( ps_d ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT4, exp text( "@MPUI_SPREAD_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT4, exp text( "+" + dvarString( ps_kds ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( dvarInt( ps_kds ) > 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT4, exp text( dvarString( ps_kds ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( dvarInt( ps_kds ) <= 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT5, exp text( "@MPUI_HEADSHOTS_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT5, exp text( dvarString( ps_h ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT6, exp text( "@MPUI_STREAK_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT6, exp text( dvarString( ps_st ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 24 24, ALIGNED_IN_X_KILLSTREAK ALIGNED_IN_Y_KILLSTREAK, "hud_icon_spyplane", 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( dvarInt( ps_r ) > 0 ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT7, exp text( "@MPUI_KILLSTREAK_RECON" ), TEXTSIZE_SMALL, 26, -21, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_r ) > 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT7, exp text( locString( "@MPUI_KILLSTREAK_CALLED", dvarInt( ps_r ) ) ), TEXTSIZE_SMALL, 26, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_r ) > 0 ) )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 24 24, ALIGNED_IN_X_KILLSTREAK (ALIGNED_IN_Y_KILLSTREAK+30), "hud_icon_artillery", 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( dvarInt( ps_ac ) > 0 ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT8, exp text( "@MPUI_KILLSTREAK_ARTILLERY" ), TEXTSIZE_SMALL, 26, -21, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_ac ) > 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT8, exp text( locString( "@MPUI_KILLSTREAK_CALLED_AND_KILLS", dvarInt( ps_ac ), dvarInt( ps_ak ) ) ), TEXTSIZE_SMALL, 26, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_ac ) > 0 ) )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 24 24, ALIGNED_IN_X_KILLSTREAK (ALIGNED_IN_Y_KILLSTREAK+60), "compass_objpoint_dogs", 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( dvarInt( ps_dc ) > 0 ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT9, exp text( "@MPUI_KILLSTREAK_DOGS" ), TEXTSIZE_SMALL, 26, -21, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_dc ) > 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_PLAYER_SLOT9, exp text( locString( "@MPUI_KILLSTREAK_CALLED_AND_KILLS", dvarInt( ps_dc ), dvarInt( ps_dk ) ) ), TEXTSIZE_SMALL, 26, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( dvarInt( ps_dc ) > 0 ) )
|
|
|
|
|
|
//Nemesis
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-WIDTH_RANK_FRAME+8) 28, 8 (206+20), "white", 1 1 1 0.075, 0, 0, 0 0 0 0 )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-WIDTH_RANK_FRAME+6) (HEIGHT_RANK_FRAME-12), 6 6, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 20 20, (ALIGNED_IN_X_KILLSTREAK-5) (ALIGNED_IN_Y_KILLSTREAK+101+10), tablelookup( "mp/rankIconTable.csv", 0, dvarInt( ns_r ), dvarInt( ns_ri ) + 1 ), 1 1 1 1, 0, 2, 0.6 0.55 0.45 1 visible when( dvarInt( ns_r ) > 0 ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT1, exp text( "@MPUI_NEMESIS_TITLE" ), TEXTSIZE_SMALL, 0, -30, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW )
|
|
#ifdef XENON
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT1, exp text( "@XBOXLIVE_GAMERCARD" ), TEXTSIZE_SMALL, 70, -30, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW visible when( dvarString( ns_id ) != "" ) )
|
|
#endif//#ifdef XENON
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT1, exp text( dvarString( ns_n ) ), TEXTSIZE_SMALL, 20, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT2, exp text( "@MPUI_KILLS_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT2, exp text( dvarString( ns_k ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT3, exp text( "@MPUI_KILLED_BY_PRE" ), TEXTSIZE_SMALL, 0, -10, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 0 0, ORIGIN_NEMISIS_SLOT3, exp text( dvarString( ns_d ) ), TEXTSIZE_SMALL, ALIGNED_IN_X_PLAYER_STATS, -10, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR )
|
|
|
|
/* xp required*/
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, (ALIGNED_IN_X_XP+258) (ALIGNED_IN_Y_XP+78), exp text( REQUIRED_XP_STRING ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, EOG_TEXT_COLOR visible when( ( CAN_RANK_UP ) && ( !dvarBool( xblive_privatematch ) ) ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_RANK_FRAME 0 0, ALIGNED_IN_X_XP (ALIGNED_IN_Y_XP+78), exp text( "@MPUI_XP_NEEDED" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR visible when( ( CAN_RANK_UP ) && ( !dvarBool( xblive_privatematch ) ) ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_RANK_FRAME 255 14 , (ALIGNED_IN_X_XP) (ALIGNED_IN_Y_XP+82), "white", 0.2 0.2 0.2 0.8, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR visible when( ( CAN_RANK_UP ) && ( !dvarBool( xblive_privatematch ) ) ); )
|
|
/* xp filling bar*/
|
|
PREPROC_SHADER_DRAW_ADV( (ORIGIN_RANK_FRAME_X+ALIGNED_IN_X_XP+2), (ORIGIN_RANK_FRAME_Y+ALIGNED_IN_Y_XP+84), ANIMATE_BAR, 12, "white", 1 0.9 0.5 0.6, 0, 1, 1 1 1 1 visible when( ( CAN_RANK_UP ) && ( !dvarBool( xblive_privatematch ) ) ); )
|
|
|
|
#ifdef PC
|
|
// @param: prect1, prect2, visArg :: visArg->prect1||prect2
|
|
PC_NEXT_BUTTON( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+6+HEIGHT_MAINFRAME) WIDTH_TOPBAR HEIGHT_TOPBAR, 0 0 0 0, 1 )
|
|
#endif
|
|
}
|
|
|
|
#define VIS_WEAPON dvarInt(player_unlockweapons)!=0
|
|
#define VIS_PERKS dvarInt(player_unlockperks)!=0
|
|
|
|
menuDef
|
|
{
|
|
name "popup_unlock"
|
|
rect (-(WIDTH_TOPBAR/2)) 68 WIDTH_TOPBAR (HEIGHT_TOPBAR+HEIGHT_MAINFRAME) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
focusColor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
onOpen
|
|
{
|
|
play "mp_ingame_summary";
|
|
exec "setdvartotime ui_time_marker"; // animation start marker
|
|
#ifdef CONSOLE
|
|
execnow "set ui_keep_unlock_open 0";
|
|
#else // #ifdef CONSOLE
|
|
setdvar ui_keep_unlock_open "0";
|
|
#endif // #else // #ifdef CONSOLE
|
|
uiScript openMenuOnDvar player_unlock_page "1" popup_unlock_page1; // unlock page 1 only
|
|
uiScript openMenuOnDvar player_unlock_page "2" popup_unlock_page2; // unlock page 2 only
|
|
uiScript openMenuOnDvar player_unlock_page "3" popup_unlock_page1; // both pages visible
|
|
|
|
#ifdef PC
|
|
hide highlighted_next;
|
|
#endif
|
|
|
|
uiScript closeMenuOnDvar ui_keep_unlock_open "0" popup_unlock;
|
|
}
|
|
onESC { close self; }
|
|
execkeyint BUTTON_A { close self; }
|
|
onClose
|
|
{
|
|
open popup_summary; // when last child page closes this parent topbar, we continue to game summary menu
|
|
}
|
|
|
|
// Fullscreen darkened backdrop
|
|
PREPROC_SHADER_DRAW( -800 -800 2000 2000, 0 0, "white", 0 0 0 0.6, 0, 0, 0 0 0 0 )
|
|
|
|
// ==================== TOP BAR ===================
|
|
|
|
FRAMING( RECT_TOPBAR )
|
|
PREPROC_GRADIENT_DRAW_ALIGNED_VIS( ORIGIN_TOPBAR_X, ORIGIN_TOPBAR_Y, WIDTH_TOPBAR, HEIGHT_TOPBAR, 0, 0, 0 0, "menu_white_line_faded", 0.1 0.1 0.1 0.9, 1 )
|
|
//FRAMING_NEW( ORIGIN_TOPBAR_X, ORIGIN_TOPBAR_Y, WIDTH_TOPBAR, HEIGHT_TOPBAR )
|
|
|
|
// Top bar perforations
|
|
//PREPROC_PERFORATION( (ORIGIN_TOPBAR_X+2), (ORIGIN_TOPBAR_Y+2), 64, 16, 0, 0, 0, 0 )
|
|
//PREPROC_PERFORATION( (ORIGIN_TOPBAR_X+2), (ORIGIN_TOPBAR_Y+2), 64, 16, 0, 16, 0, 0 )
|
|
//PREPROC_PERFORATION( (ORIGIN_TOPBAR_X+WIDTH_TOPBAR-64), (ORIGIN_TOPBAR_Y+2), -64, 16, 0, 0, 0, 0 )
|
|
//PREPROC_PERFORATION( (ORIGIN_TOPBAR_X+WIDTH_TOPBAR-64), (ORIGIN_TOPBAR_Y+2), -64, 16, 0, 16, 0, 0 )
|
|
// Top bar title
|
|
PREPROC_TEXT_DRAW( RECT_TOPBAR, 0 0, exp text("@MPUI_UNLOCKED"), TEXTSIZE_DEFAULT, 0, 1, ITEM_ALIGN_MIDDLE_CENTER, EOG_TITLE_COLOR )
|
|
}
|
|
|
|
menuDef
|
|
{
|
|
name "popup_unlock_page1"
|
|
exp rect X (-(WIDTH_TOPBAR/2))
|
|
#ifdef PC
|
|
exp rect Y (68+FRAME_ANIMATE(ANIMATE_DISTANCE))
|
|
#else
|
|
exp rect Y (68)
|
|
#endif
|
|
rect 0 0 WIDTH_TOPBAR (HEIGHT_TOPBAR+HEIGHT_MAINFRAME+HEIGHT_TOPBAR) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
focusColor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
#ifdef CONSOLE
|
|
onOpen { execnow "set ui_keep_unlock_open 1"; }
|
|
#else // #ifdef CONSOLE
|
|
onOpen { setdvar ui_keep_unlock_open "1"; }
|
|
#endif // #else // #ifdef CONSOLE
|
|
onClose { uiScript openMenuOnDvar player_unlock_page "3" popup_unlock_page2; uiScript closeMenuOnDvar player_unlock_page "1" popup_unlock;}
|
|
execkeyint BUTTON_A { close self; }
|
|
onESC { close self; }
|
|
|
|
/*with weap*/ FRAMING_VIS( ORIGIN_MAINFRAME WIDTH_MAINFRAME 250/*300*/, VIS_WEAPON )
|
|
//FRAMING_NEW_VIS( ORIGIN_MAINFRAME_X, ORIGIN_MAINFRAME_Y, WIDTH_MAINFRAME, HEIGHT_MAINFRAME, when( VIS_WEAPON ) )
|
|
/*without weap*/ FRAMING_VIS( ORIGIN_MAINFRAME WIDTH_MAINFRAME 93, !(VIS_WEAPON) )
|
|
//FRAMING_NEW_VIS( ORIGIN_MAINFRAME_X, ORIGIN_MAINFRAME_Y, WIDTH_MAINFRAME, 93, when( !(VIS_WEAPON) ) )
|
|
FRAMING( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6 )
|
|
//FRAMING_NEW( ORIGIN_TOPBAR_X, (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR), WIDTH_TOPBAR, 6 )
|
|
PREPROC_SHADER_DRAW( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6, 0 0, "white", 1 0 0 0.1, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 )
|
|
|
|
// inner frames
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-12) 81, 6 6, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-12) 140, 6 93, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR visible when(VIS_WEAPON); )
|
|
|
|
// camo title shade
|
|
//PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 38, 10 8, "white", TITLE_BG_COLOR_OFF, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockcamo0a) == "" ); )
|
|
//PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 38, 10 8, "white", TITLE_BG_COLOR_ON, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockcamo0a) != "" ); )
|
|
|
|
// attachment title shade
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 38, 10 8, "white", TITLE_BG_COLOR_OFF, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockattachment0a) == "" ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 38, 10 8, "white", TITLE_BG_COLOR_ON, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockattachment0a) != "" ); )
|
|
|
|
// weapon title shade
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 28, 10 95, "white", TITLE_BG_COLOR_OFF, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockweapon0) == "" && VIS_WEAPON ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 28, 10 95, "white", TITLE_BG_COLOR_ON, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockweapon0) != "" &&VIS_WEAPON ); )
|
|
|
|
// weapon & camo & attachment title text
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 80 20, 10 116, exp text( "@MPUI_WEAPON_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, 1 1 0.8 0.9 visible when(VIS_WEAPON); )
|
|
//PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 80 20, 10 34, exp text( "@MPUI_CAMO_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, 1 1 0.8 0.9 visible when( dvarString(player_unlockcamo0a) != "" ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 80 20, 10 34, exp text( "@MPUI_ATTACHMENT_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, 1 1 0.8 0.9 visible when( dvarString(player_unlockattachment0a) != "" ); )
|
|
|
|
// weapon display ( max 2 slots unlocked at once )
|
|
#define WEAPON_SLOT_WIDTH 250//236//216
|
|
#define WEAPON_SLOT_HEIGHT 100
|
|
|
|
#define WEAPON_SLOT1_X 20//25//50//90//50//12
|
|
#define WEAPON_SLOT2_X (WEAPON_SLOT_WIDTH+(6)+WEAPON_SLOT1_X)
|
|
#define WEAPON_SLOT_Y (HEIGHT_TOPBAR+134)
|
|
|
|
#define WEAPON_NAME( pref ) \
|
|
"@"+tablelookup("mp/statstable.csv",4,pref,3)
|
|
|
|
#define WEAPON_IMAGE( pref ) \
|
|
tablelookup("mp/statstable.csv",4,pref,6)
|
|
|
|
#define WEAPON_GROUP( pref ) \
|
|
tablelookup("mp/statstable.csv",4,pref,2)
|
|
|
|
#define WEAPON_DESC( pref ) \
|
|
"@"+tablelookup("mp/statstable.csv",4,pref,7)
|
|
|
|
// individual unlocked weapon
|
|
#define WEAPON_SLOT_SET( px, py, pw, ph, pref, visArg )\
|
|
/*name*//*PREPROC_SHADER_DRAW( (px+82) (py-20) -20 80, 0 0, "button_highlight_end", EOG_BASE_COLOR, 0, 0, 0 0 0 0 visArg )*/ \
|
|
/*name*//*PREPROC_SHADER_DRAW( (px+102) (py-20) (pw-102) 80, 0 0, "white", EOG_BASE_COLOR, 0, 0, 0 0 0 0 visArg )*/ \
|
|
/*name*//*PREPROC_SHADER_DRAW( (px+88) (py-18) -20 80, 0 0, "button_highlight_end", 0 0 0 0.45, 0, 0, 0 0 0 0 visArg )*/ \
|
|
/*name*//*PREPROC_SHADER_DRAW( (px+108) (py-18) (pw-108) 80, 0 0, "white", 0 0 0 0.45, 0, 0, 0 0 0 0 visArg )*/ \
|
|
PREPROC_SHADER_DRAW( px py pw ph, 0 0, "white", EOG_BASE_COLOR, 0, 0, 0 0 0 0 visArg ) \
|
|
PREPROC_SHADER_DRAW( px py pw (ph/2), 0 0, "gradient_bottom", 1 1 1 0.5, 0, 0, 0 0 0 0 visArg ) \
|
|
PREPROC_SHADER_DRAW( px (py+(ph/2)) pw (ph/2), 0 0, "gradient_top", 1 1 1 0.5, 0, 0, 0 0 0 0 visArg ) \
|
|
PREPROC_TEXT_DRAW_EXP( px py (pw-4) 20, 0 0, exp text(WEAPON_NAME(pref)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, COLOR_INFO_YELLOW visArg ) \
|
|
PREPROC_TEXT_DRAW_EXP( (px+4) (py+20) (pw-6) 20, 0 0, exp text(WEAPON_DESC(pref)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, 1 1 1 0.6 autowrapped visArg ) \
|
|
PREPROC_SHADER_DRAW( (px+110) (py+42) 120 60, 0 0, WEAPON_IMAGE( pref ), 1 1 1 1, 0, 0, 0 0 0 0 visible when( pref != "" && WEAPON_GROUP( pref ) != "weapon_pistol" && WEAPON_GROUP( pref ) != "weapon_grenade" && VIS_WEAPON ); ) \
|
|
PREPROC_SHADER_DRAW( (px+170) (py+42) 60 60, 0 0, WEAPON_IMAGE( pref ), 1 1 1 1, 0, 0, 0 0 0 0 visible when( pref != "" && ( WEAPON_GROUP( pref ) == "weapon_pistol" || WEAPON_GROUP( pref ) == "weapon_grenade" ) && VIS_WEAPON ); ) \
|
|
PREPROC_SHADER_DRAW( (px+2) (py+98) (-(pw-6)) 18, 0 -18, "gradient_fadein", 0 0 0 0.45, 0, 0, 0 0 0 0 visArg ) \
|
|
PREPROC_TEXT_DRAW_EXP( (px+4) (py+98) (pw-6) 20, 0 -1, exp text("@"+tablelookup("mp/attributesTable.csv",0,WEAPON_GROUP(pref),1)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR autowrapped visArg )
|
|
|
|
WEAPON_SLOT_SET( WEAPON_SLOT1_X, WEAPON_SLOT_Y, WEAPON_SLOT_WIDTH, WEAPON_SLOT_HEIGHT, dvarString(player_unlockweapon0), visible when(dvarString(player_unlockweapon0)!="" && VIS_WEAPON ); )
|
|
WEAPON_SLOT_SET( WEAPON_SLOT2_X, WEAPON_SLOT_Y, WEAPON_SLOT_WIDTH, WEAPON_SLOT_HEIGHT, dvarString(player_unlockweapon1), visible when(dvarString(player_unlockweapon1)!="" && VIS_WEAPON ); )
|
|
|
|
// individual unlocked camo/attachment item block
|
|
#define BLOCK_WIDTH 180//108 //114
|
|
|
|
//// camo unlocks =================================================================
|
|
//#define CAMO_SET( px, py, pref_a, pref_b )\
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (BLOCK_WIDTH/3) 36, px py, tablelookup("mp/attachmenttable.csv",4,pref_b,6), 1 1 1 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (BLOCK_WIDTH/3) 36, (px+(BLOCK_WIDTH/3)) py, tablelookup("mp/attachmenttable.csv",4,pref_b,6), 1 1 1 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (BLOCK_WIDTH/3) 36, (px+((BLOCK_WIDTH/3)*2)) py, tablelookup("mp/attachmenttable.csv",4,pref_b,6), 1 1 1 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME BLOCK_WIDTH 36, px py, "gradient_bottom", 1 1 1 0.75, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (BLOCK_WIDTH-6) 16, (px+6) (py+2), "white", 0.15 0.15 0.15 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
// PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME (BLOCK_WIDTH-6) 20, (px+4) (py-1), exp text("@"+tablelookup("mp/statstable.csv",4,pref_a,3)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_RIGHT, COLOR_TITLE visible when( pref_a != "" ); ) \
|
|
// PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME BLOCK_WIDTH 20, (px+4) (py+16), exp text("@"+tablelookup("mp/attachmentTable.csv",4,pref_b,3)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, EOG_TEXT_COLOR visible when( pref_a != "" ); )
|
|
//
|
|
//CAMO_SET( 100, 10, dvarString(player_unlockcamo0a), dvarString(player_unlockcamo0b) )
|
|
//CAMO_SET( 212, 10, dvarString(player_unlockcamo1a), dvarString(player_unlockcamo1b) )
|
|
//CAMO_SET( 324, 10, dvarString(player_unlockcamo2a), dvarString(player_unlockcamo2b) )
|
|
//PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 20 30, 434 10, exp text( "..." ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, COLOR_TITLE visible when(dvarInt(player_unlockcamos)>3); )
|
|
|
|
// attachment unlocks ===========================================================
|
|
#define ATTACHMENT_SET( px, py, pref_a, pref_b )\
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME BLOCK_WIDTH 36, px py, "white", 0.37 0.37 0.4 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME BLOCK_WIDTH 36, px py, "gradient_bottom", 1 1 1 0.625, 0, 0, 0 0 0 0 visible when( pref_a != "" ); ) \
|
|
/*PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (BLOCK_WIDTH-6) 16, (px+6) (py+2), "white", 0.15 0.15 0.15 1, 0, 0, 0 0 0 0 visible when( pref_a != "" ); )*/ \
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME (BLOCK_WIDTH-6) 20, (px+4) (py-1), exp text("@"+tablelookup("mp/statstable.csv",4,pref_a,3)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_RIGHT, COLOR_INFO_YELLOW visible when( pref_a != "" ); ) \
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME BLOCK_WIDTH 20, (px+4) (py+16), exp text("@"+tablelookup("mp/statstable.csv",4,pref_a,3)+"_"+tablelookup("mp/attachmentTable.csv",4,pref_b,7)), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, EOG_TEXT_COLOR visible when( pref_a != "" ); )
|
|
|
|
ATTACHMENT_SET( 110, 10, dvarString(player_unlockattachment0a), dvarString(player_unlockattachment0b) )
|
|
ATTACHMENT_SET( 310, 10, dvarString(player_unlockattachment1a), dvarString(player_unlockattachment1b) )
|
|
ATTACHMENT_SET( 110, 48, dvarString(player_unlockattachment2a), dvarString(player_unlockattachment2b) )
|
|
ATTACHMENT_SET( 310, 48, dvarString(player_unlockattachment3a), dvarString(player_unlockattachment3b) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 20 30, 500 29, exp text( "..." ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, COLOR_TITLE visible when(dvarInt(player_unlockattachments)>4); )
|
|
|
|
//ATTACHMENT_SET( 100, 48, dvarString(player_unlockattachment0a), dvarString(player_unlockattachment0b) )
|
|
//ATTACHMENT_SET( 212, 48, dvarString(player_unlockattachment1a), dvarString(player_unlockattachment1b) )
|
|
//ATTACHMENT_SET( 324, 48, dvarString(player_unlockattachment2a), dvarString(player_unlockattachment2b) )
|
|
//PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 20 30, 434 48, exp text( "..." ), TEXTSIZE_DEFAULT, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, COLOR_TITLE visible when(dvarInt(player_unlockattachments)>3); )
|
|
//ATTACHMENT_SET( 100, 10, dvarString(player_unlockattachment0a), dvarString(player_unlockattachment0b) )
|
|
//ATTACHMENT_SET( 242, 10, dvarString(player_unlockattachment1a), dvarString(player_unlockattachment1b) )
|
|
//ATTACHMENT_SET( 372, 10, dvarString(player_unlockattachment2a), dvarString(player_unlockattachment2b) )
|
|
//ATTACHMENT_SET( 372, 10, dvarString(player_unlockattachment3a), dvarString(player_unlockattachment3b) )
|
|
|
|
#ifdef PC
|
|
// @param: prect1, prect2, visArg :: visArg->prect1||prect2
|
|
PC_NEXT_BUTTON( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+6+HEIGHT_MAINFRAME-50) WIDTH_TOPBAR HEIGHT_TOPBAR, ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+99) WIDTH_TOPBAR HEIGHT_TOPBAR, VIS_WEAPON )
|
|
#endif
|
|
}
|
|
|
|
menuDef
|
|
{
|
|
name "popup_unlock_page2"
|
|
exp rect X (-(WIDTH_TOPBAR/2))
|
|
#ifdef PC
|
|
exp rect Y (68+FRAME_ANIMATE(ANIMATE_DISTANCE))
|
|
#else
|
|
exp rect Y (68)
|
|
#endif
|
|
rect 0 0 WIDTH_TOPBAR (HEIGHT_TOPBAR+HEIGHT_MAINFRAME+HEIGHT_TOPBAR) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
|
|
focusColor COLOR_FOCUSED
|
|
style WINDOW_STYLE_FILLED
|
|
#ifdef CONSOLE
|
|
onOpen { execnow "set ui_keep_unlock_open 1"; }
|
|
#else // #ifdef CONSOLE
|
|
onOpen { setdvar ui_keep_unlock_open "1"; }
|
|
#endif // #else // #ifdef CONSOLE
|
|
execkeyint BUTTON_A { close self; }
|
|
onESC { close self; }
|
|
onClose
|
|
{
|
|
close "popup_unlock"; // last popup page in this set, closing parent topbar
|
|
}
|
|
|
|
// Unlock frame
|
|
/*with perks*/ //FRAMING_VIS( ORIGIN_MAINFRAME WIDTH_MAINFRAME 73, VIS_PERKS )
|
|
/*with perks*/ FRAMING_VIS( ORIGIN_MAINFRAME WIDTH_MAINFRAME 200, VIS_PERKS )
|
|
//FRAMING_NEW_VIS( ORIGIN_MAINFRAME_X, ORIGIN_MAINFRAME_Y, WIDTH_MAINFRAME, HEIGHT_MAINFRAME, when( VIS_PERKS ) )
|
|
|
|
/*without perks*/ FRAMING_VIS( ORIGIN_MAINFRAME WIDTH_MAINFRAME 73, !(VIS_PERKS) )
|
|
//FRAMING_NEW_VIS( ORIGIN_MAINFRAME_X, ORIGIN_MAINFRAME_Y, WIDTH_MAINFRAME, 73, when( !(VIS_PERKS) ) )
|
|
|
|
// color strip
|
|
FRAMING( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6 )
|
|
//FRAMING_NEW( ORIGIN_TOPBAR_X, (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR), WIDTH_TOPBAR, 6 )
|
|
PREPROC_SHADER_DRAW( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_X+HEIGHT_TOPBAR) WIDTH_TOPBAR 6, 0 0, "white", 0 0 1 0.1, EOG_BORDER, EOG_BORDER_SIZE, 0 0 0 0 )
|
|
|
|
// inner frames
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-12) 61, 6 6, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-12-24) 88, 30 73, "white", EOG_INNER_COLOR, WINDOW_BORDER_SUNKEN, 1, EOG_BORDER_COLOR visible when( VIS_PERKS ); )
|
|
//PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-12-28) 88, 34 144, "white", 0 0 1 0.075, 0, 0, EOG_BORDER_COLOR visible when( VIS_PERKS ); )
|
|
|
|
#define LOCAL_FEATURES dvarString(player_unlockfeatures) != 0 || dvarString(player_unlockchallenges) != 0
|
|
#define LOCAL_FEATURES_NOT dvarString(player_unlockfeatures) == 0 && dvarString(player_unlockchallenges) == 0
|
|
|
|
// feature title shade
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 28, 10 9, "white", TITLE_BG_COLOR_OFF, 0, 0, 0 0 0 0 visible when( LOCAL_FEATURES_NOT ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 87 28, 10 9, "white", TITLE_BG_COLOR_ON, 0, 0, 0 0 0 0 visible when( LOCAL_FEATURES ); )
|
|
|
|
// perk title shade
|
|
// PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 63 33, 34 75, "white", TITLE_BG_COLOR_OFF, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockperk0) == "" && VIS_PERKS ); )
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 63 33, 34 75, "white", TITLE_BG_COLOR_ON, 0, 0, 0 0 0 0 visible when( dvarString(player_unlockperk0) != "" && VIS_PERKS ); )
|
|
|
|
// feature & perk title text
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 80 20, 10 30, exp text( "@MPUI_FEATURE_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, 1 1 0.8 0.9 visible when( LOCAL_FEATURES ); )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 80 20, 10 96, exp text( "@MPUI_PERK_PRE" ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_RIGHT, 1 1 0.8 0.9 visible when( VIS_PERKS ); )
|
|
|
|
// ================================== feature display =============================
|
|
|
|
#define LOCAL_FEATURE( ptext, visArg ) \
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 348 38, 104 30, exp text( ptext ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, COLOR_TITLE visible when (visArg ); autowrapped )
|
|
|
|
// challenges merged with features unlock
|
|
#define LOCAL_LOCSTRING0_CH locString("@MPUI_NEW_CHALLENGES") //#define LOCAL_LOCSTRING0_CH dvarInt(player_unlockchallenges) + " New Challenge(s)"
|
|
#define LOCAL_LOCSTRING1_CH LOCAL_LOCSTRING0_CH + ", " + locString("@"+dvarString(player_unlockfeature0))
|
|
#define LOCAL_LOCSTRING2_CH LOCAL_LOCSTRING1_CH + ", " + locString("@"+dvarString(player_unlockfeature1))
|
|
#define LOCAL_LOCSTRING3_CH LOCAL_LOCSTRING2_CH + ", " + locString("@"+dvarString(player_unlockfeature2))
|
|
#define LOCAL_LOCSTRING4_CH LOCAL_LOCSTRING3_CH + ", " + locString("@"+dvarString(player_unlockfeature3))
|
|
|
|
// features unlock, no challenges
|
|
#define LOCAL_LOCSTRING1 locString("@"+dvarString(player_unlockfeature0))
|
|
#define LOCAL_LOCSTRING2 LOCAL_LOCSTRING1 + ", " + locString("@"+dvarString(player_unlockfeature1))
|
|
#define LOCAL_LOCSTRING3 LOCAL_LOCSTRING2 + ", " + locString("@"+dvarString(player_unlockfeature2))
|
|
#define LOCAL_LOCSTRING4 LOCAL_LOCSTRING3 + ", " + locString("@"+dvarString(player_unlockfeature3))
|
|
|
|
// unlock string display conditions
|
|
#define VIS_CH_FEATURE(features) dvarInt(player_unlockchallenges)!=0 && dvarInt(player_unlockfeatures)==features
|
|
#define VIS_FEATURE(features) dvarInt(player_unlockchallenges)==0 && dvarInt(player_unlockfeatures)==features
|
|
|
|
// with challenges
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING0_CH, VIS_CH_FEATURE(0) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING1_CH, VIS_CH_FEATURE(1) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING2_CH, VIS_CH_FEATURE(2) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING3_CH, VIS_CH_FEATURE(3) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING4_CH, VIS_CH_FEATURE(4) )
|
|
// without challenges
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING1, VIS_FEATURE(1) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING2, VIS_FEATURE(2) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING3, VIS_FEATURE(3) )
|
|
LOCAL_FEATURE( LOCAL_LOCSTRING4, VIS_FEATURE(4) )
|
|
|
|
|
|
// ==================== perk map layout ( all perk display elements will hide when no perks unlocked: VIS_PERKS ) ==========================
|
|
#define PERK_SIZE 32 32
|
|
#define PERK_SIZE2 40 40
|
|
|
|
#define MAP_START_X 52//24//60//106 //72
|
|
#define MAP_START_Y 144//78//38
|
|
#define MAP_ORIGIN MAP_START_X MAP_START_Y
|
|
|
|
#define MAP_V_SPACING 28
|
|
#define MAP_H_SPACING 50//46
|
|
#define PERK_NAME( pref_dvar ) \
|
|
"@"+tablelookup("mp/statsTable.csv",4,dvarString(pref_dvar),3)
|
|
|
|
#define PERK_DESC( pref_dvar ) \
|
|
"@"+tablelookup("mp/statsTable.csv",4,dvarString(pref_dvar),7)
|
|
|
|
#define PERK_MAP_ITEM_FIXED( porigin, pref ) \
|
|
PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME PERK_SIZE, porigin, tablelookup("mp/statsTable.csv",4,pref,6), \
|
|
1 1 1 0.6, 0, 0, 0 0 0 0 visible when( pref != "" && VIS_PERKS ); ) \
|
|
|
|
// unlocked perk item 1
|
|
PERK_MAP_ITEM_FIXED( 102 75, dvarString(player_unlockperk0) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 140 20, 140 91, exp text( PERK_NAME(player_unlockperk0) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW autowrapped visible when( VIS_PERKS ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-98) 20, 140 106, exp text( PERK_DESC(player_unlockperk0) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR autowrapped visible when( VIS_PERKS ) )
|
|
|
|
// unlocked perk item 2
|
|
PERK_MAP_ITEM_FIXED( 102 115/*108*/, dvarString(player_unlockperk1) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME 140 20, 140 124, exp text( PERK_NAME(player_unlockperk1) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, COLOR_INFO_YELLOW autowrapped visible when( VIS_PERKS ) )
|
|
PREPROC_TEXT_DRAW_EXP( ORIGIN_MAINFRAME (WIDTH_MAINFRAME-98) 20, 140 138, exp text( PERK_DESC(player_unlockperk1) ), TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_LEFT, EOG_TEXT_COLOR autowrapped visible when( VIS_PERKS ) )
|
|
|
|
#ifdef PC
|
|
// @param: prect1, prect2, visArg :: visArg->prect1||prect2
|
|
PC_NEXT_BUTTON( ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+6+HEIGHT_MAINFRAME-100) WIDTH_TOPBAR HEIGHT_TOPBAR, ORIGIN_TOPBAR_X (ORIGIN_TOPBAR_Y+HEIGHT_TOPBAR+79) WIDTH_TOPBAR HEIGHT_TOPBAR, VIS_PERKS )
|
|
#endif
|
|
|
|
}
|
|
}
|
|
/*
|
|
// row and columns for perk chart
|
|
#define ROW1 MAP_START_Y
|
|
#define ROW2 (ROW1+MAP_V_SPACING)
|
|
#define ROW3 (ROW2+MAP_V_SPACING)
|
|
#define COL1 MAP_START_X
|
|
#define COL2 (COL1+MAP_H_SPACING)
|
|
#define COL3 (COL2+MAP_H_SPACING)
|
|
#define COL4 (COL3+MAP_H_SPACING)
|
|
#define COL5 (COL4+MAP_H_SPACING)
|
|
#define COL6 (COL5+MAP_H_SPACING)
|
|
#define COL7 (COL6+MAP_H_SPACING)
|
|
#define COL8 (COL7+MAP_H_SPACING)
|
|
|
|
// get perk data from weaponinfo
|
|
#include "ui_mp/weaponinfo.menu"
|
|
|
|
// preproc of individual perk items in chart
|
|
/*
|
|
#define PERK_MAP_ITEM( porigin, pref )\
|
|
/*locked PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME PERK_SIZE, porigin, tablelookup("mp/statsTable.csv",4,pref,6), \
|
|
0.125 0.125 0.125 0.5, 0, 0, 0 0 0 0 visible when( stat(int(tablelookup("mp/statsTable.csv",4,pref,1)))==0 && VIS_PERKS ); ) \
|
|
/*unlocked PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME PERK_SIZE, porigin, tablelookup("mp/statsTable.csv",4,pref,6), \
|
|
1 1 1 0.6, 0, 0, 0 0 0 0 visible when( stat(int(tablelookup("mp/statsTable.csv",4,pref,1)))>0 && \
|
|
pref != dvarString(player_unlockperk0) && pref != dvarString(player_unlockperk1) && pref != dvarString(player_unlockperk2) && VIS_PERKS ); ) \
|
|
/*new PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME_X ORIGIN_MAINFRAME_Y PERK_SIZE, porigin, tablelookup("mp/statsTable.csv",4,pref,6), \
|
|
1 1 1 1 exp forecolor A( 0.5+(max( 0+sin(milliseconds()/200), 0-sin(milliseconds()/200) )/2) ), 0, 0, 1 0.9 0.75 0.85 visible when( ( stat(int(tablelookup("mp/statsTable.csv",4,pref,1)))>0 && \
|
|
pref == dvarString(player_unlockperk0) || pref == dvarString(player_unlockperk1) || pref == dvarString(player_unlockperk2) ) && VIS_PERKS ); )
|
|
|
|
//PREPROC_SHADER_DRAW( ORIGIN_MAINFRAME 32 118 , (WIDTH_TOPBAR-38) 9, "white", 1 1 1 0.075, 0, 0, 0 0 0 0 )
|
|
//PREPROC_TEXT_DRAW_EXP( (0) (ROW1+6) 34 20, ORIGIN_MAINFRAME, exp text( "1" ), 0.8, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, 0.8 0.85 0.9 0.1 visible when( VIS_PERKS ); textfont UI_FONT_OBJECTIVE )
|
|
//PREPROC_TEXT_DRAW_EXP( (0) (ROW2+6) 34 20, ORIGIN_MAINFRAME, exp text( "2" ), 0.8, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, 0.8 0.85 0.9 0.1 visible when( VIS_PERKS ); textfont UI_FONT_OBJECTIVE )
|
|
//PREPROC_TEXT_DRAW_EXP( (0) (ROW3+6) 34 20, ORIGIN_MAINFRAME, exp text( "3" ), 0.8, 0, 0, ITEM_ALIGN_MIDDLE_CENTER, 0.8 0.85 0.9 0.1 visible when( VIS_PERKS ); textfont UI_FONT_OBJECTIVE )
|
|
|
|
/*
|
|
// perk 1 group
|
|
PERK_MAP_ITEM( COL1 ROW1 , REF_SPECIALGRENADE_X3 )
|
|
PERK_MAP_ITEM( COL2 ROW1 , REF_BETTY_X2 )
|
|
PERK_MAP_ITEM( COL3 ROW1 , REF_PRIMARYGRENADE_X3 )
|
|
PERK_MAP_ITEM( COL4 ROW1 , REF_EXTRAAMMO )
|
|
PERK_MAP_ITEM( COL5 ROW1 , REF_DETECTEXPLOSIVE )
|
|
PERK_MAP_ITEM( COL6 ROW1 , REF_FLAMETHROWER )
|
|
PERK_MAP_ITEM( COL7 ROW1 , REF_NULL )
|
|
PERK_MAP_ITEM( COL8 ROW1 , REF_NULL )
|
|
|
|
// perk 2 group
|
|
PERK_MAP_ITEM( COL1 ROW2 , REF_BULLETDAMAGE )
|
|
PERK_MAP_ITEM( COL2 ROW2 , REF_ARMORVEST )
|
|
PERK_MAP_ITEM( COL3 ROW2 , REF_FASTRELOAD )
|
|
PERK_MAP_ITEM( COL4 ROW2 , REF_ROF )
|
|
PERK_MAP_ITEM( COL5 ROW2 , REF_TWOPRIMARIES )
|
|
PERK_MAP_ITEM( COL6 ROW2 , REF_GPSJAMMER )
|
|
PERK_MAP_ITEM( COL7 ROW2 , REF_EXPLOSIVEDAMAGE )
|
|
PERK_MAP_ITEM( COL8 ROW2 , REF_ARMORVEST )
|
|
|
|
// perk 3 group
|
|
PERK_MAP_ITEM( COL1 ROW3 , REF_LONGERSPRINT )
|
|
PERK_MAP_ITEM( COL2 ROW3 , REF_BULLETACCURACY )
|
|
PERK_MAP_ITEM( COL3 ROW3 , REF_PISTOLDEATH )
|
|
PERK_MAP_ITEM( COL4 ROW3 , REF_GRENADEPULLDEATH )
|
|
PERK_MAP_ITEM( COL5 ROW3 , REF_BULLETPENETRATION )
|
|
PERK_MAP_ITEM( COL6 ROW3 , REF_HOLDBREATH )
|
|
PERK_MAP_ITEM( COL7 ROW3 , REF_QUIETER )
|
|
PERK_MAP_ITEM( COL8 ROW3 , REF_NULL )
|
|
*/
|
|
|