iw4x-rawfiles/iw4x/iw4x_00/ui_mp/main.inc

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()) \
}