iw4x-rawfiles/iw4x/iw4x_00/ui/choices_setup_popmenu.menu

407 lines
12 KiB
Plaintext
Raw Normal View History

// Assumes that "choices_setup_common" has already been included
#ifndef CHOICE_POPUP_BORDER_X
#define CHOICE_POPUP_BORDER_X 19
#endif
#ifndef CHOICE_POPUP_BORDER_Y
#define CHOICE_POPUP_BORDER_Y 20
#endif
#ifndef CHOICE_POPUP_TITLE_WIDTH
#define CHOICE_POPUP_TITLE_WIDTH 0
#endif
#ifndef CHOICE_POPUP_TITLE_HEIGHT
#define CHOICE_POPUP_TITLE_HEIGHT 0
#endif
#ifndef CHOICE_POPUP_TITLE_TEXTSIZE
#define CHOICE_POPUP_TITLE_TEXTSIZE TEXTSIZE_DEFAULT
#endif
#ifndef CHOICE_POPUP_SUBTITLE_WIDTH
#define CHOICE_POPUP_SUBTITLE_WIDTH 0
#endif
#ifndef CHOICE_POPUP_SUBTITLE_HEIGHT
#define CHOICE_POPUP_SUBTITLE_HEIGHT 0
#endif
#ifndef CHOICE_POPUP_SUBTITLE_TEXTSIZE
#define CHOICE_POPUP_SUBTITLE_TEXTSIZE TEXTSIZE_SMALL
#endif
#ifndef CENTER_POPUP_ON_CLOSE
#define CENTER_POPUP_ON_CLOSE play "mouse_click";
#endif
#ifndef CHOICE_POPUP_BORDER_WIDTH
#define CHOICE_POPUP_BORDER_WIDTH 2
#endif
#ifndef CHOICE_POPUP_BORDER_COLOR
#define CHOICE_POPUP_BORDER_COLOR 1 1 1 0.5
#endif
#ifndef CHOICE_POPUP_BACKCOLOR
#define CHOICE_POPUP_BACKCOLOR 0.2 0.2 0.22 1 //0.85 //0.1412 0.1412 0.1812 0.75
#endif
#ifndef CHOICE_POPUP_BACKCOLOR_NOALPHA
#define CHOICE_POPUP_BACKCOLOR_NOALPHA 0.1412 0.1412 0.1812
#endif
#undef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND "mouse_submenu_over"
#ifndef CHOICE_POPUP_OFFSET_X
#define CHOICE_POPUP_OFFSET_X 0
#endif
#ifndef CHOICE_POPUP_OFFSET_Y
#define CHOICE_POPUP_OFFSET_Y 0
#endif
#define CHOICE_POPUP_WIDTH ((CHOICE_POPUP_BORDER_X * 2) + ((CHOICE_POPUP_TITLE_WIDTH > CHOICE_SIZE_X) ? CHOICE_POPUP_TITLE_WIDTH : CHOICE_SIZE_X))
#define CHOICE_POPUP_HEIGHT( itemCount ) (CHOICE_POPUP_TITLE_HEIGHT + CHOICE_POPUP_SUBTITLE_HEIGHT + (CHOICE_Y_SPACING * (itemCount) + CHOICE_POPUP_BORDER_Y * 2))
#ifndef POPUP_NOPOS
#undef CHOICE_X_START
#define CHOICE_X_START ((CHOICE_POPUP_WIDTH - CHOICE_SIZE_X) / 2 - 2)
#undef CHOICE_Y_START
#define CHOICE_Y_START (CHOICE_POPUP_TITLE_HEIGHT + CHOICE_POPUP_SUBTITLE_HEIGHT + CHOICE_POPUP_BORDER_Y)
#undef CHOICE_SEP_TOTAL_SPACING
#define CHOICE_SEP_TOTAL_SPACING( itemIndex ) 0
#undef CHOICE_GROUP
#define CHOICE_GROUP "popmenu"
#endif
#define CHOICE_SIDEIMAGE_X 0
#define CHOICE_SIDEIMAGE_Y 0
#define CHOICE_SIDETITLE_X 0
#define CHOICE_SIDETITLE_Y 0
#define CHOICE_SIDETEXT_X 0
#define CHOICE_SIDETEXT_Y 0
#define CHOICE_POPMENU_SETUP( nameArg, itemCount, xArg, yArg, onEscArg ) \
CHOICE_POPMENU_SETUP_ONOPEN( nameArg, itemCount, xArg, yArg, onEscArg, focusfirst )
#define CHOICE_POPMENU_SETUP_ONOPEN( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg ) \
CHOICE_POPMENU_SETUP_ONOPEN_EX( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg, ; )
#define CHOICE_POPMENU_SETUP_ONOPEN_EX( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg, extraArgs ) \
name nameArg \
fullscreen 0 \
rect (xArg + 1) (yArg + 1) CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
backcolor CHOICE_POPUP_BACKCOLOR \
border 1 \
bordersize CHOICE_POPUP_BORDER_WIDTH \
bordercolor CHOICE_POPUP_BORDER_COLOR \
focusColor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
popup \
extraArgs \
onOpen \
{ \
onOpenArg; \
} \
onESC \
{ \
play "mouse_click"; \
close self; \
onEscArg; \
}
#define CHOICE_POPMENU_TITLE( textArg ) \
CHOICE_POPMENU_TITLE_VIS( textArg, 1 )
#define CHOICE_POPMENU_TITLE_VIS( textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect ((CHOICE_POPUP_WIDTH - CHOICE_POPUP_TITLE_WIDTH) / 2) (CHOICE_POPUP_BORDER_Y/2) CHOICE_POPUP_TITLE_WIDTH CHOICE_POPUP_TITLE_HEIGHT CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text(textArg); \
textfont UI_FONT_NORMAL \
textscale CHOICE_POPUP_TITLE_TEXTSIZE \
textAlign ITEM_ALIGN_TOP_CENTER \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
decoration \
}
#define CHOICE_POPMENU_SUBTITLE( textArg ) \
CHOICE_POPMENU_SUBTITLE_VIS( textArg, 1 )
#define CHOICE_POPMENU_SUBTITLE_VIS( textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_POPUP_BORDER_X (CHOICE_POPUP_BORDER_Y + CHOICE_POPUP_TITLE_HEIGHT) (CHOICE_POPUP_WIDTH - (CHOICE_POPUP_BORDER_Y*2)) CHOICE_POPUP_SUBTITLE_HEIGHT CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text(textArg); \
textfont UI_FONT_NORMAL \
textscale CHOICE_POPUP_SUBTITLE_TEXTSIZE \
textAlign ITEM_ALIGN_TOP_LEFT \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
decoration \
autowrapped \
}
#ifdef PC
#define PREPROC_CANCEL_OVERLAY(shadow_visArg,itemCount) \
itemDef { \
type ITEM_TYPE_BUTTON \
rect -600 -800 2000 2000 0 0 \
text "" \
textfont UI_FONT_NORMAL \
visible 1 \
onfocus{ setdvar ui_popup_close_icon "1" } \
leavefocus{ setdvar ui_popup_close_icon "0" } \
action{ close self; } \
}\
itemDef { \
type ITEM_TYPE_BUTTON \
rect -4 -4 CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) 0 0 \
text "" \
textfont UI_FONT_NORMAL \
visible 1 \
action{ ; } \
}\
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect -600 -800 2000 2000 0 0 \
forecolor 0 0 0 0.275 \
exp material( "white" ); \
visible when( shadow_visArg ); \
decoration \
}
#else
#define PREPROC_CANCEL_OVERLAY(shadow_visArg,itemCount) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect -600 -800 2000 2000 0 0 \
forecolor 0 0 0 0.275 \
exp material( "white" ); \
visible when( shadow_visArg ); \
decoration \
}
#endif
#define IMPROVED_POPUP_SETUP( nameArg, itemCount, xArg, yArg, onEscArg, shadow_visArg ) \
IMPROVED_POPUP_SETUP_ONOPEN( nameArg, itemCount, xArg, yArg, onEscArg, focusfirst, shadow_visArg )
#define IMPROVED_POPUP_SETUP_ONOPEN( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg, shadow_visArg ) \
IMPROVED_POPUP_SETUP_RAW( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg, ;, shadow_visArg )
#define IMPROVED_POPUP_SETUP_RAW( nameArg, itemCount, xArg, yArg, onEscArg, onOpenArg, extraArgs, shadow_visArg ) \
name nameArg \
visible 0 \
fullscreen 0 \
rect (xArg+0) (yArg+56) CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
tokenReplacement \
border 1 \
bordersize CHOICE_POPUP_BORDER_WIDTH \
bordercolor 0 0 0 0 \
focusColor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
popup \
extraArgs \
onOpen \
{ \
onOpenArg; \
} \
onESC \
{ \
play "mouse_click"; \
close self; \
onEscArg; \
}\
PREPROC_CANCEL_OVERLAY( shadow_visArg, itemCount ) \
PREPROC_SHADER_DRAW( -4 -4 CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ), 0 0, "white", CHOICE_POPUP_BACKCOLOR, 1, CHOICE_POPUP_BORDER_WIDTH, CHOICE_POPUP_BORDER_COLOR )
//PREPROC_TEXT_DRAW( 0 0 10 10, 0 0, text "x", TEXTSIZE_SMALL, 0, 0, ITEM_ALIGN_MIDDLE_LEFT, CHOICE_POPUP_BORDER_COLOR visible when( dvarInt(ui_popup_close_icon) ); )
//PREPROC_SHADER_DRAW( -4 -4 CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ), 0 0, "white", 0 0 0 0, 1, CHOICE_POPUP_BORDER_WIDTH, 0 0 0 0.8 visible when( dvarInt(ui_popup_close_icon) ); )
#define CENTER_POPUP_SETUP( nameArg, itemCount, onEscArg, shadow_visArg ) \
CENTER_POPUP_SETUP_ONOPEN( nameArg, itemCount, onEscArg, focusfirst, shadow_visArg )
#define CENTER_POPUP_SETUP_ONOPEN( nameArg, itemCount, onEscArg, onOpenArg, shadow_visArg ) \
CENTER_POPUP_SETUP_RAW( nameArg, itemCount, onEscArg, onOpenArg, ;, shadow_visArg )
#ifndef NO_BG_CLOSE
#define CENTER_POPUP_SETUP_RAW( nameArg, itemCount, onEscArg, onOpenArg, extraArgs, shadow_visArg ) \
name nameArg \
fullscreen 0 \
rect (0-(CHOICE_POPUP_WIDTH/2)) (0-(CHOICE_POPUP_HEIGHT( itemCount )/2)) CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
tokenReplacement \
border 1 \
backcolor 0 0 0 0 \
bordersize CHOICE_POPUP_BORDER_WIDTH \
bordercolor CHOICE_POPUP_BORDER_COLOR \
focusColor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
popup \
extraArgs \
onOpen \
{ \
setLocalVarBool ui_centerPopup 1; \
onOpenArg; \
} \
onClose \
{ \
CENTER_POPUP_ON_CLOSE \
setLocalVarBool ui_centerPopup 0; \
} \
onESC \
{ \
setLocalVarBool ui_centerPopup 0; \
close self; \
onEscArg; \
} \
PREPROC_CANCEL_OVERLAY( shadow_visArg, itemCount ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 0 (CHOICE_POPUP_WIDTH-(CHOICE_POPUP_BORDER_WIDTH*2)) (CHOICE_POPUP_HEIGHT( itemCount )-(CHOICE_POPUP_BORDER_WIDTH*2)) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
background "white" \
forecolor CHOICE_POPUP_BACKCOLOR \
visible 1 \
decoration \
}
#else
#define CENTER_POPUP_SETUP_RAW( nameArg, itemCount, onEscArg, onOpenArg, extraArgs, shadow_visArg ) \
name nameArg \
fullscreen 0 \
rect (0-(CHOICE_POPUP_WIDTH/2)) (0-(CHOICE_POPUP_HEIGHT( itemCount )/2)) CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
tokenReplacement \
border 1 \
backcolor 0 0 0 0 \
bordersize CHOICE_POPUP_BORDER_WIDTH \
bordercolor CHOICE_POPUP_BORDER_COLOR \
focusColor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
popup \
extraArgs \
onOpen \
{ \
setLocalVarBool ui_centerPopup 1; \
onOpenArg; \
} \
onClose \
{ \
CENTER_POPUP_ON_CLOSE \
setLocalVarBool ui_centerPopup 0; \
} \
onESC \
{ \
setLocalVarBool ui_centerPopup 0; \
close self; \
onEscArg; \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 0 (CHOICE_POPUP_WIDTH-(CHOICE_POPUP_BORDER_WIDTH*2)) (CHOICE_POPUP_HEIGHT( itemCount )-(CHOICE_POPUP_BORDER_WIDTH*2)) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
background "white" \
forecolor CHOICE_POPUP_BACKCOLOR \
visible 1 \
decoration \
}
#endif
#ifdef PUBLIC_BETA
#define CENTER_POPUP_SETUP_BETA( nameArg, itemCount, onEscArg, onOpenArg, extraArgs, shadow_visArg ) \
name nameArg \
fullscreen 0 \
rect (0-(CHOICE_POPUP_WIDTH/2)) (0-(CHOICE_POPUP_HEIGHT( itemCount )/2)) CHOICE_POPUP_WIDTH CHOICE_POPUP_HEIGHT( itemCount ) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
border 0 \
backcolor 0 0 0 0 \
focusColor COLOR_FOCUSED \
style WINDOW_STYLE_FILLED \
popup \
extraArgs \
onOpen \
{ \
setLocalVarBool ui_centerPopup 1; \
onOpenArg; \
} \
onClose \
{ \
setLocalVarBool ui_centerPopup 0; \
} \
onESC \
{ \
setLocalVarBool ui_centerPopup 0; \
play "mouse_click"; \
close self; \
onEscArg; \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 0 (CHOICE_POPUP_WIDTH-(CHOICE_POPUP_BORDER_WIDTH*2)) (CHOICE_POPUP_HEIGHT( itemCount )-(CHOICE_POPUP_BORDER_WIDTH*2)) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
background "white" \
forecolor CHOICE_POPUP_BACKCOLOR \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 (CHOICE_POPUP_TITLE_HEIGHT/4) CHOICE_POPUP_WIDTH (CHOICE_POPUP_HEIGHT( itemCount )-(CHOICE_POPUP_TITLE_HEIGHT/4)) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
background "white" \
forecolor CHOICE_POPUP_BACKCOLOR \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 0 (CHOICE_POPUP_WIDTH-(CHOICE_POPUP_TITLE_HEIGHT/4)) CHOICE_POPUP_TITLE_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
forecolor 0.1 0.1 0.1 1 \
exp material( "white" ); \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect 0 0 (CHOICE_POPUP_WIDTH-(CHOICE_POPUP_TITLE_HEIGHT/4)) CHOICE_POPUP_TITLE_HEIGHT HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
forecolor 0.9 0.95 1 0.4 \
exp material( "gradient_fadein" ); \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect ((CHOICE_POPUP_WIDTH-0)-(CHOICE_POPUP_TITLE_HEIGHT/4)) 0 (CHOICE_POPUP_TITLE_HEIGHT/4) (CHOICE_POPUP_TITLE_HEIGHT) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
forecolor 0.1 0.1 0.1 1 \
exp material( "button_highlight_end" ); \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect ((CHOICE_POPUP_WIDTH-0)-(CHOICE_POPUP_TITLE_HEIGHT/4)) 0 (CHOICE_POPUP_TITLE_HEIGHT/4) (CHOICE_POPUP_TITLE_HEIGHT) HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_CENTER \
forecolor 0.9 0.95 1 0.4 \
exp material( "button_highlight_end" ); \
visible 1 \
decoration \
}
#endif