475 lines
13 KiB
PHP
475 lines
13 KiB
PHP
#undef TEXTSIZE_DEFAULT
|
|
#define TEXTSIZE_DEFAULT FONTSCALE_SMALL
|
|
|
|
#undef TEXTSIZE_TITLE
|
|
#define TEXTSIZE_TITLE 0.5
|
|
|
|
#define WIDESCREEN dvarBool("wideScreen")
|
|
|
|
#ifndef CHOICE_GROUP
|
|
#define CHOICE_GROUP ""
|
|
#endif
|
|
|
|
#ifndef CHOICE_HEADERCOLOR
|
|
#define CHOICE_HEADERCOLOR 1 1 1 0.75
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTCOLOR
|
|
#define CHOICE_TEXTCOLOR 1 1 1 1
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTCOLOR_CAPT
|
|
#define CHOICE_TEXTCOLOR_CAPT CHOICE_TEXTCOLOR
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTCOLOR_DISABLED
|
|
#define CHOICE_TEXTCOLOR_DISABLED 1 1 1 0.5
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTSTYLE
|
|
#define CHOICE_TEXTSTYLE 0
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTSIZE
|
|
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
|
|
#endif
|
|
|
|
#ifndef CHOICE_TEXTFONT
|
|
#define CHOICE_TEXTFONT UI_FONT_NORMAL
|
|
#endif
|
|
|
|
#ifndef CHOICE_TITLEFONT
|
|
#define CHOICE_TITLEFONT UI_FONT_NORMAL
|
|
#endif
|
|
|
|
#ifndef CHOICE_FOCUS_SOUND
|
|
#define CHOICE_FOCUS_SOUND "mouse_over"
|
|
#endif
|
|
|
|
#ifndef CHOICE_CLICK_SOUND
|
|
#define CHOICE_CLICK_SOUND "mouse_click"
|
|
#endif
|
|
|
|
#ifndef CHOICE_SEP_BACKGROUND
|
|
#define CHOICE_SEP_BACKGROUND "gradient_fadein"
|
|
#endif
|
|
|
|
#ifndef HIGHLIGHT_SHADER_ART
|
|
#define HIGHLIGHT_SHADER_ART "menu_button_selection_bar"
|
|
#endif
|
|
|
|
#ifndef NEWSTICKER_BACKGROUND
|
|
#define NEWSTICKER_BACKGROUND "shadow_inset"
|
|
#endif
|
|
|
|
#ifndef NEWSTICKER_SPEED
|
|
#define NEWSTICKER_SPEED 20
|
|
#endif
|
|
|
|
#ifndef MENU_BUTTON_TEXTSIZE
|
|
#define MENU_BUTTON_TEXTSIZE (TEXTSIZE_DEFAULT - 0.1)
|
|
#endif
|
|
|
|
#ifndef MENU_BUTTON_TEXTCOLOR
|
|
#define MENU_BUTTON_TEXTCOLOR CHOICE_TEXTCOLOR
|
|
#endif
|
|
|
|
#ifndef MENU_BUTTON_TEXTCOLOR_DISABLED
|
|
#define MENU_BUTTON_TEXTCOLOR_DISABLED 0.6 0.55 0.55 1
|
|
#endif
|
|
|
|
#define ITEM_NEWSTICKER_VIS(textArg, visArg, speedArg) \
|
|
itemDef \
|
|
{ \
|
|
name "ticker_bg" \
|
|
style WINDOW_STYLE_FILLED \
|
|
rect -107 -30 900 16 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
|
|
backColor 0 0 0 0.2 \
|
|
decoration \
|
|
visible visArg \
|
|
} \
|
|
itemDef \
|
|
{ \
|
|
name "ticker2" \
|
|
type ITEM_TYPE_NEWSTICKER \
|
|
style WINDOW_STYLE_FILLED \
|
|
rect -107 -30 900 16 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
backColor 0 0 0 0.3 \
|
|
textFont UI_FONT_SMALL \
|
|
textScale .26 \
|
|
textAlignY 16.5 \
|
|
text textArg \
|
|
background NEWSTICKER_BACKGROUND \
|
|
speed speedArg \
|
|
decoration \
|
|
visible visArg \
|
|
}
|
|
|
|
#define ITEM_BUTTON_BACK(actionArg) \
|
|
ITEM_BUTTON_BACK_VIS(actionArg, 1)
|
|
|
|
#define ITEM_BUTTON_BACK_VIS(actionArg, visArg) \
|
|
itemDef \
|
|
{ \
|
|
name "back" \
|
|
style WINDOW_STYLE_FILLED \
|
|
rect -64 -4 336 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_BOTTOM \
|
|
group "mw2_button" \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
disableColor MENU_BUTTON_TEXTCOLOR_DISABLED \
|
|
background HIGHLIGHT_SHADER_ART \
|
|
type ITEM_TYPE_BUTTON \
|
|
textFont UI_FONT_SMALL \
|
|
textAlign ITEM_ALIGN_TOP_RIGHT \
|
|
textAlignX -60 \
|
|
textScale CHOICE_TEXTSIZE \
|
|
text "@PLATFORM_BACK_CAPS" \
|
|
visible visArg \
|
|
mouseEnter \
|
|
{ \
|
|
play CHOICE_FOCUS_SOUND; \
|
|
} \
|
|
onFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 1; \
|
|
} \
|
|
leaveFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 0; \
|
|
} \
|
|
action \
|
|
{ \
|
|
play CHOICE_CLICK_SOUND; \
|
|
actionArg \
|
|
} \
|
|
}
|
|
|
|
#define ITEM_BUTTON_FRIENDS(posX) \
|
|
MENU_EXEC_KEY("f", open "popup_friends";) \
|
|
itemDef \
|
|
{ \
|
|
name "button_friends" \
|
|
rect (posX) -4 120 20 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_BOTTOM \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
disablecolor MENU_BUTTON_TEXTCOLOR_DISABLED \
|
|
style WINDOW_STYLE_FILLED \
|
|
type ITEM_TYPE_BUTTON \
|
|
textAlign ITEM_ALIGN_CENTER \
|
|
textAlignY 16 \
|
|
textScale MENU_BUTTON_TEXTSIZE \
|
|
textFont 9 \
|
|
text "@PLATFORM_FRIENDS_CAPS" \
|
|
visible 1 \
|
|
mouseEnter \
|
|
{ \
|
|
play CHOICE_FOCUS_SOUND; \
|
|
} \
|
|
onFocus \
|
|
{ \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarFloat ui_popupYPos 0; \
|
|
setItemColor self backColor 0 0 0 1; \
|
|
setLocalVarString ui_hint_text "@MPUI_DESC_FRIENDS"; \
|
|
} \
|
|
leaveFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 0; \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarString ui_hint_text "@NULL_EMPTY"; \
|
|
} \
|
|
action \
|
|
{ \
|
|
play CHOICE_CLICK_SOUND; \
|
|
open "popup_friends"; \
|
|
} \
|
|
}
|
|
|
|
#define MENU_ON_OPEN(onOpenArg) \
|
|
onOpen \
|
|
{ \
|
|
onOpenArg \
|
|
}
|
|
|
|
#define MENU_ON_ESC(onESCArg) \
|
|
onESC \
|
|
{ \
|
|
onESCArg \
|
|
}
|
|
|
|
#define MENU_ON_CLOSE(onCloseArg) \
|
|
onClose \
|
|
{ \
|
|
onCloseArg \
|
|
}
|
|
|
|
#define MENU_EXEC_KEY(keyArg, execArg) \
|
|
execKey keyArg\
|
|
{ \
|
|
play CHOICE_CLICK_SOUND; \
|
|
execArg \
|
|
}
|
|
|
|
#define MENU_EXEC_KEYINT(keyIntArg, execArg) \
|
|
execKeyInt keyIntArg \
|
|
{ \
|
|
play CHOICE_CLICK_SOUND; \
|
|
execArg \
|
|
}
|
|
|
|
#define MENU_BACKGROUND_FRAME_DROP_SHADOW(posX, posY, width, height, imageArg) \
|
|
itemDef \
|
|
{ \
|
|
rect posX posY width height HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_TOP \
|
|
style WINDOW_STYLE_SHADER \
|
|
foreColor 0 0 0 1 \
|
|
background imageArg \
|
|
textScale 0.55 \
|
|
decoration \
|
|
visible 1 \
|
|
}
|
|
|
|
#define MENU_BACKGROUND_FRAME \
|
|
itemDef \
|
|
{ \
|
|
rect 0 28 640 356 4 1 \
|
|
style WINDOW_STYLE_SHADER \
|
|
foreColor 1 1 1 0.15 \
|
|
background "white" \
|
|
decoration \
|
|
textScale 0.55 \
|
|
visible 1 \
|
|
} \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(-32, -4, 32, 32, "drop_shadow_tl") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(0, -4, 640, 32, "drop_shadow_t") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(640, -4, 32, 32, "drop_shadow_tr") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(640, 28, 32, 356, "drop_shadow_r") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(640, 384, 32, 32, "drop_shadow_br") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(0, 384, 640, 32, "drop_shadow_b") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(-32, 384, 32, 32, "drop_shadow_bl") \
|
|
MENU_BACKGROUND_FRAME_DROP_SHADOW(-32, 28, 32, 356, "drop_shadow_l")
|
|
|
|
#define MENU_BACKGROUND_PANEL_RIGHT_WIDTH 292
|
|
#define MENU_BACKGROUND_PANEL_RIGHT_HEIGHT 356
|
|
|
|
#define MENU_BACKGROUND_PANEL_RIGHT \
|
|
itemDef \
|
|
{ \
|
|
rect (0 - MENU_BACKGROUND_PANEL_RIGHT_WIDTH) 28 MENU_BACKGROUND_PANEL_RIGHT_WIDTH MENU_BACKGROUND_PANEL_RIGHT_HEIGHT HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP \
|
|
style WINDOW_STYLE_SHADER \
|
|
foreColor 0 0 0 0.7 \
|
|
background "black" \
|
|
decoration \
|
|
textScale 0.55 \
|
|
visible 1 \
|
|
} \
|
|
itemDef \
|
|
{ \
|
|
name "image" \
|
|
rect (0 - (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 10)) 50 (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 20) 127 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP \
|
|
style WINDOW_STYLE_SHADER \
|
|
foreColor 1 1 1 1 \
|
|
decoration \
|
|
textScale 0.55 \
|
|
visible when(localvarstring( "ui_info_icon") != "") \
|
|
exp material ( localvarstring( "ui_info_icon" ) ) \
|
|
} \
|
|
itemDef \
|
|
{ \
|
|
name "longname" \
|
|
rect (0 - (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 10)) 28 (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 20) 22 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
decoration \
|
|
textAlign ITEM_ALIGN_TOP_LEFT \
|
|
textScale CHOICE_TEXTSIZE \
|
|
textFont 9 \
|
|
visible 1 \
|
|
exp text ( "@" + localvarstring( "ui_info_name" ) ) \
|
|
} \
|
|
itemDef \
|
|
{ \
|
|
name "description" \
|
|
rect (0 - (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 10)) 180 (MENU_BACKGROUND_PANEL_RIGHT_WIDTH - 20) 20 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP \
|
|
foreColor 1 1 1 0.65 \
|
|
decoration \
|
|
autoWrapped \
|
|
textAlign ITEM_ALIGN_TOP_LEFT \
|
|
textScale CHOICE_TEXTSIZE \
|
|
textFont UI_FONT_SMALL \
|
|
visible 1 \
|
|
exp text ( "@" + localvarstring( "ui_info_desc" ) ) \
|
|
}
|
|
|
|
#define MENU_ITEM_TITLE(posX) \
|
|
itemDef \
|
|
{ \
|
|
rect 0 4 272 28 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
decoration \
|
|
textAlign ITEM_ALIGN_TOP_RIGHT \
|
|
textAlignX -60 \
|
|
textScale 0.5 \
|
|
textFont 9 \
|
|
text MENU_TITLE \
|
|
visible 1 \
|
|
exp rect x (posX) \
|
|
}
|
|
|
|
#define MENU_CHOICE_TITLE(textArg, posY) \
|
|
MENU_CHOICE_TITLE_VIS(textArg, posY, 1)
|
|
|
|
#define MENU_CHOICE_TITLE_VIS(textArg, posY, visArg) \
|
|
MENU_CHOICE_TITLE_RAW(textArg, posY, TEXTSIZE_TITLE, visArg)
|
|
|
|
#define MENU_CHOICE_TITLE_RAW(textArg, posY, textSize, visArg) \
|
|
itemDef \
|
|
{ \
|
|
rect 0 posY 272 28 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
|
|
foreColor CHOICE_TEXTCOLOR \
|
|
textAlign ITEM_ALIGN_TOP_RIGHT \
|
|
textAlignX -59 \
|
|
textScale textSize \
|
|
textFont 9 \
|
|
decoration \
|
|
autowrapped \
|
|
exp text (textArg) \
|
|
visible visArg \
|
|
}
|
|
|
|
#define MENU_CHOICE_NEWICON_VIS(itemIndex, visArg) \
|
|
MENU_CHOICE_NEWICON_RAW(itemIndex, "specialty_new", visArg)
|
|
|
|
#define MENU_CHOICE_NEWICON_RAW(itemIndex, imageArg, visArg) \
|
|
itemDef \
|
|
{ \
|
|
style WINDOW_STYLE_SHADER \
|
|
rect 236 CHOICE_Y(itemIndex) 40 20 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
|
|
exp material(imageArg) \
|
|
align ITEM_ALIGN_RIGHT \
|
|
visible visArg \
|
|
decoration \
|
|
}
|
|
|
|
#define MENU_CHOICE_BUTTON(itemIndex, buttonName, textArg, actionArg, descArg) \
|
|
MENU_CHOICE_BUTTON_VIS(itemIndex, buttonName, textArg, actionArg, descArg, 1)
|
|
|
|
#define MENU_CHOICE_BUTTON_VIS(itemIndex, buttonName, textArg, actionArg, descArg, visArg) \
|
|
MENU_CHOICE_BUTTON_ADVANCED_VIS(itemIndex, buttonName, textArg, actionArg, ;, ;, descArg, visArg)
|
|
|
|
#define MENU_CHOICE_BUTTON_ADVANCED(itemIndex, buttonName, textArg, actionArg, icon, namex, descArg) \
|
|
MENU_CHOICE_BUTTON_ADVANCED_VIS(itemIndex, buttonName, textArg, actionArg, icon, namex, descArg, 1)
|
|
|
|
#define MENU_CHOICE_BUTTON_ADVANCED_VIS(itemIndex, buttonName, textArg, actionArg, icon, namex, descArg, visArg) \
|
|
MENU_CHOICE_BUTTON_ADVANCED_RAW(itemIndex, buttonName, CHOICE_TEXTCOLOR, textArg, actionArg, icon, namex, descArg, visArg)
|
|
|
|
#define MENU_CHOICE_BUTTON_ADVANCED_RAW(itemIndex, buttonName, forecolorArg, textArg, actionArg, icon, namex, descArg, visArg) \
|
|
itemDef \
|
|
{ \
|
|
name buttonName \
|
|
rect CHOICE_RECT(itemIndex) \
|
|
forecolor forecolorArg \
|
|
style WINDOW_STYLE_FILLED \
|
|
background HIGHLIGHT_SHADER_ART \
|
|
group "mw2_button" \
|
|
type ITEM_TYPE_BUTTON \
|
|
textAlign ITEM_ALIGN_TOP_RIGHT \
|
|
textAlignX -60 \
|
|
textScale CHOICE_TEXTSIZE \
|
|
textFont CHOICE_TEXTFONT \
|
|
text textArg \
|
|
visible visArg \
|
|
mouseEnter \
|
|
{ \
|
|
play CHOICE_FOCUS_SOUND; \
|
|
} \
|
|
onFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 1; \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarFloat ui_popupYPos 0; \
|
|
setLocalVarString ui_hint_text descArg; \
|
|
setLocalVarString ui_info_name namex; \
|
|
setLocalVarString ui_info_desc descArg; \
|
|
setLocalVarString ui_info_icon icon; \
|
|
} \
|
|
leaveFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 0; \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarString ui_hint_text "@NULL_EMPTY"; \
|
|
} \
|
|
action \
|
|
{ \
|
|
play CHOICE_CLICK_SOUND; \
|
|
actionArg \
|
|
} \
|
|
}
|
|
|
|
#define MENU_CHOICE_DBUTTON_VIS(itemIndex, buttonName, textArg, descArg, visArg) \
|
|
itemDef \
|
|
{ \
|
|
name buttonName \
|
|
rect CHOICE_RECT(itemIndex) \
|
|
forecolor CHOICE_TEXTCOLOR_DISABLED \
|
|
style WINDOW_STYLE_FILLED \
|
|
background HIGHLIGHT_SHADER_ART \
|
|
group "mw2_button" \
|
|
type ITEM_TYPE_BUTTON \
|
|
textAlign ITEM_ALIGN_TOP_RIGHT \
|
|
textAlignX -60 \
|
|
textScale CHOICE_TEXTSIZE \
|
|
textFont CHOICE_TEXTFONT \
|
|
text textArg \
|
|
visible visArg \
|
|
mouseEnter \
|
|
{ \
|
|
play CHOICE_FOCUS_SOUND; \
|
|
} \
|
|
onFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 1; \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarFloat ui_popupYPos 0; \
|
|
setLocalVarString ui_hint_text descArg; \
|
|
} \
|
|
leaveFocus \
|
|
{ \
|
|
setItemColor self backColor 0 0 0 0; \
|
|
setLocalVarBool ui_menuAButton 1; \
|
|
setLocalVarString ui_hint_text "@NULL_EMPTY"; \
|
|
} \
|
|
}
|
|
|
|
|
|
#define MENU_CHOICE_HORIZONTAL_LINE(itemIndex) \
|
|
MENU_CHOICE_HORIZONTAL_LINE_VIS(itemIndex, 1)
|
|
|
|
#define MENU_CHOICE_HORIZONTAL_LINE_VIS(itemIndex, visArg) \
|
|
itemDef \
|
|
{ \
|
|
rect HR_RECT(itemIndex) \
|
|
style WINDOW_STYLE_SHADER \
|
|
foreColor 1 1 1 0.65 \
|
|
background CHOICE_SEP_BACKGROUND \
|
|
decoration \
|
|
type ITEM_TYPE_TEXT \
|
|
textScale 0.55 \
|
|
textFont UI_FONT_DEFAULT \
|
|
visible visArg \
|
|
}
|
|
|
|
#define MENU_PARTY_STATUS_STRING \
|
|
itemDef \
|
|
{ \
|
|
rect -272 0 0 18 HORIZONTAL_ALIGN_RIGHT VERTICAL_ALIGN_TOP \
|
|
style WINDOW_STYLE_FILLED \
|
|
foreColor 1 1 1 0.65 \
|
|
background "white" \
|
|
textFont UI_FONT_SMALL \
|
|
textAlign ITEM_ALIGN_TOP_LEFT \
|
|
textAlignX 20 \
|
|
textScale CHOICE_TEXTSIZE \
|
|
dvar "party_statusString" \
|
|
visible when (inLobby()) \
|
|
}
|