122 lines
5.5 KiB
Text
122 lines
5.5 KiB
Text
|
#include "ui/menudef.h"
|
||
|
#include "ui_mp/common_macro.inc"
|
||
|
|
||
|
#define CHOICE_GROUP "select_difficulty"
|
||
|
|
||
|
#include "ui_mp/menustyle.inc"
|
||
|
#include "ui/choices_setup_common.menu"
|
||
|
|
||
|
// no PC background clickable popup close function
|
||
|
#define NO_BG_CLOSE 1
|
||
|
|
||
|
#undef CHOICE_HORIZONTAL_ALIGN
|
||
|
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER
|
||
|
#undef CHOICE_VERTICAL_ALIGN
|
||
|
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_CENTER
|
||
|
|
||
|
#ifdef CONSOLE
|
||
|
#define UPDATE_GAMER_PROFILE exec "updategamerprofile"; scriptMenuResponse "continue";
|
||
|
#else
|
||
|
#define UPDATE_GAMER_PROFILE scriptMenuResponse "continue";
|
||
|
#endif
|
||
|
|
||
|
{
|
||
|
#include "ui_mp/popupstyle.inc"
|
||
|
#include "ui/choices_setup_popmenu.menu"
|
||
|
|
||
|
#undef CHOICE_SIZE_X
|
||
|
#define CHOICE_SIZE_X 320
|
||
|
|
||
|
#define LOCAL_DIFF_CONFIRM( menuName, execArg )\
|
||
|
menuDef{\
|
||
|
CENTER_POPUP_SETUP_ONOPEN( menuName, 5, open select_difficulty;, setfocus "no";, 1 )\
|
||
|
CHOICE_POPMENU_SUBTITLE( "@MENU_DIFFICULTY_WARNING" )\
|
||
|
CHOICE_BUTTON( 4, "@MENU_YES", execnow execArg; UPDATE_GAMER_PROFILE; close self; close select_difficulty; )\
|
||
|
CHOICE_BUTTON_EX( 5, "@MENU_NO", close self; open select_difficulty;, name "no" )\
|
||
|
}
|
||
|
|
||
|
LOCAL_DIFF_CONFIRM( "diff_con_easy", "difficultyeasy" )
|
||
|
LOCAL_DIFF_CONFIRM( "diff_con_regular", "difficultymedium" )
|
||
|
LOCAL_DIFF_CONFIRM( "diff_con_hardened", "difficultyhard" )
|
||
|
LOCAL_DIFF_CONFIRM( "diff_con_veteran", "difficultyfu" )
|
||
|
|
||
|
// custom setting for difficulty selection ===========================================
|
||
|
|
||
|
#undef CHOICE_SIZE_Y
|
||
|
#define CHOICE_SIZE_Y 22
|
||
|
|
||
|
#undef A_BUTTON_SIZE
|
||
|
#define A_BUTTON_SIZE 0.33
|
||
|
|
||
|
#undef CHOICE_POPUP_BORDER_X
|
||
|
#define CHOICE_POPUP_BORDER_X 130
|
||
|
|
||
|
#undef CHOICE_POPUP_TITLE_HEIGHT
|
||
|
#define CHOICE_POPUP_TITLE_HEIGHT 16
|
||
|
|
||
|
#undef CHOICE_X_START
|
||
|
#define CHOICE_X_START 0
|
||
|
|
||
|
#undef CHOICE_TEXTSIZE
|
||
|
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
|
||
|
|
||
|
#undef CHOICE_POPUP_TITLE_TEXTSIZE
|
||
|
#define CHOICE_POPUP_TITLE_TEXTSIZE TEXTSIZE_TITLE
|
||
|
|
||
|
#undef CHOICE_POPUP_SUBTITLE_TEXTSIZE
|
||
|
#define CHOICE_POPUP_SUBTITLE_TEXTSIZE TEXTSIZE_DEFAULT
|
||
|
|
||
|
#ifdef PC
|
||
|
#undef CHOICE_SIZE_X
|
||
|
#define CHOICE_SIZE_X 160
|
||
|
#else
|
||
|
#undef CHOICE_SIZE_X
|
||
|
#define CHOICE_SIZE_X 140
|
||
|
#endif
|
||
|
|
||
|
#define LOCAL_DIFF_DESC_X exp rect X( CHOICE_SIZE_X+16 ); autowrapped exp rect Y( 46 ) exp rect W(216)
|
||
|
|
||
|
#define LOCAL_DIFFICULTY_DESC\
|
||
|
CHOICE_POPMENU_SUBTITLE_VIS( locString( "@MENU_REGULAR_DESC_3" ) + " " + locString( "@MENU_REGULAR_DESC_4" ), when( localVarInt( ui_highlight ) == 2 ); LOCAL_DIFF_DESC_X )\
|
||
|
CHOICE_POPMENU_SUBTITLE_VIS( locString( "@MENU_SKILLED_DESC" ) + " " + locString( "@MENU_SKILLED_DESC_2" ), when( localVarInt( ui_highlight ) == 3 ); LOCAL_DIFF_DESC_X )\
|
||
|
CHOICE_POPMENU_SUBTITLE_VIS( "@MENU_HARDENED_DESC", when( localVarInt( ui_highlight ) == 4 ); LOCAL_DIFF_DESC_X )\
|
||
|
CHOICE_POPMENU_SUBTITLE_VIS( "@MENU_VETERAN_DESC", when( localVarInt( ui_highlight ) == 5 ); LOCAL_DIFF_DESC_X )\
|
||
|
CHOICE_POPMENU_SUBTITLE_VIS( "@MENU_TRY_AGAIN_DESC", when( localVarInt( ui_highlight ) == 7 ); LOCAL_DIFF_DESC_X )
|
||
|
|
||
|
#define LOCAL_ESC_ACTION\
|
||
|
execondvarintvalue recommended_gameskill 0 "difficultyeasy";\
|
||
|
execondvarintvalue recommended_gameskill 1 "difficultymedium";\
|
||
|
execondvarintvalue recommended_gameskill 2 "difficultyhard";\
|
||
|
execondvarintvalue recommended_gameskill 3 "difficultyfu";\
|
||
|
scriptMenuResponse "closed";
|
||
|
|
||
|
menuDef
|
||
|
{
|
||
|
CENTER_POPUP_SETUP_ONOPEN( select_difficulty, 7, LOCAL_ESC_ACTION, setfocus "newgame_regular"; setfocusbydvar "recommended_gameskill", 1 )
|
||
|
onclose{ exec "wait; wait"; scriptMenuResponse "closed"; }
|
||
|
execkeyint BUTTON_START{;}
|
||
|
|
||
|
CHOICE_POPMENU_TITLE( "@MENU_SELECT_DIFFICULTY" )
|
||
|
|
||
|
CHOICE_BUTTON_BG( 2, when( dvarInt(recommended_gameskill)!=0 ); forecolor 1 0 0 0.25 )
|
||
|
CHOICE_BUTTON_BG( 3, when( dvarInt(recommended_gameskill)!=1 ); forecolor 1 0 0 0.25 )
|
||
|
CHOICE_BUTTON_BG( 4, when( dvarInt(recommended_gameskill)!=2 ); forecolor 1 0 0 0.25 )
|
||
|
CHOICE_BUTTON_BG( 5, when( dvarInt(recommended_gameskill)!=3 ); forecolor 1 0 0 0.25 )
|
||
|
|
||
|
CHOICE_BUTTON_FOCUS_VIS_EX( 2, "@MENU_RECRUIT", execnow "difficultyeasy"; UPDATE_GAMER_PROFILE; close self;, ;, ;, when( dvarInt(recommended_gameskill)==0 );, dvartest "recommended_gameskill"; focusdvar { "0" } )
|
||
|
CHOICE_BUTTON_FOCUS_VIS( 2, "@MENU_RECRUIT", open "diff_con_easy";, ;, ;, when( dvarInt(recommended_gameskill)!=0 ); )
|
||
|
|
||
|
CHOICE_BUTTON_FOCUS_VIS_EX( 3, "@MENU_REGULAR", execnow "difficultymedium"; UPDATE_GAMER_PROFILE; close self;, ;, ;, when( dvarInt(recommended_gameskill)==1 );, dvartest "recommended_gameskill"; focusdvar { "1" } )
|
||
|
CHOICE_BUTTON_FOCUS_VIS( 3, "@MENU_REGULAR", open "diff_con_regular";, ;, ;, when( dvarInt(recommended_gameskill)!=1 ); )
|
||
|
|
||
|
CHOICE_BUTTON_FOCUS_VIS_EX( 4, "@MENU_HARDENED", execnow "difficultyhard"; UPDATE_GAMER_PROFILE; close self;, ;, ;, when( dvarInt(recommended_gameskill)==2 );, dvartest "recommended_gameskill"; focusdvar { "2" } )
|
||
|
CHOICE_BUTTON_FOCUS_VIS( 4, "@MENU_HARDENED", open "diff_con_hardened";, ;, ;, when( dvarInt(recommended_gameskill)!=2 ); )
|
||
|
|
||
|
CHOICE_BUTTON_FOCUS_VIS_EX( 5, "@MENU_VETERAN", execnow "difficultyfu"; UPDATE_GAMER_PROFILE; close self;, ;, ;, when( dvarInt(recommended_gameskill)==3 );, dvartest "recommended_gameskill"; focusdvar { "3" } )
|
||
|
CHOICE_BUTTON_FOCUS_VIS( 5, "@MENU_VETERAN", open "diff_con_veteran";, ;, ;, when( dvarInt(recommended_gameskill)!=3 ); )
|
||
|
|
||
|
CHOICE_BUTTON_FOCUS( 7, "@MENU_TRY_AGAIN", scriptMenuResponse "tryagain"; close self;, ;, ; )
|
||
|
|
||
|
LOCAL_DIFFICULTY_DESC
|
||
|
}
|
||
|
}
|