204 lines
6 KiB
PHP
204 lines
6 KiB
PHP
|
// Must be included AFTER all the #defines in the menu, AND before the actual usage of any macros in this file
|
||
|
|
||
|
|
||
|
// generic shader draw
|
||
|
#define SHADER_DRAW( px, py, pw, ph, pshader, pcolor, pborder, pbordersize, pbordercolor ) \
|
||
|
itemDef { \
|
||
|
style WINDOW_STYLE_SHADER \
|
||
|
exp rect X( px ) \
|
||
|
exp rect Y( py ) \
|
||
|
exp rect W( pw ) \
|
||
|
exp rect H( ph ) \
|
||
|
forecolor pcolor \
|
||
|
exp material( pshader ); \
|
||
|
border pborder \
|
||
|
bordersize pbordersize \
|
||
|
bordercolor pbordercolor \
|
||
|
visible 1 decoration }
|
||
|
|
||
|
// generic text draw
|
||
|
#define TEXT_DRAW( px, py, pw, ph, ptext, psize, palign, pcolor ) \
|
||
|
itemDef { \
|
||
|
exp rect X( px ) \
|
||
|
exp rect Y( py ) \
|
||
|
exp rect W( pw ) \
|
||
|
exp rect H( ph ) \
|
||
|
textstyle ITEM_TEXTSTYLE_SHADOWED \
|
||
|
textalign palign \
|
||
|
textscale psize \
|
||
|
forecolor pcolor \
|
||
|
exp text(ptext); \
|
||
|
visible 1 decoration }
|
||
|
|
||
|
// single perforation texture
|
||
|
#define PERFORATION( px, py, pw, ph, px2, py2, px3, py3 ) \
|
||
|
itemDef { \
|
||
|
style WINDOW_STYLE_SHADER \
|
||
|
exp rect X((px)+(px2)) \
|
||
|
exp rect Y((py)+(py2)) \
|
||
|
exp rect W(pw) \
|
||
|
exp rect H(ph) \
|
||
|
origin px3 py3 \
|
||
|
forecolor 1 1 1 1 \
|
||
|
exp material( "ui_perforation" ); \
|
||
|
visible 1 decoration }
|
||
|
|
||
|
// art bar with perforation texture on both ends
|
||
|
#define PERFORATIONBAR( px, py, pw, ph, px2, py2 ) \
|
||
|
PREPROC_PERFORATION( px, py, (ph)*4, ph, px2, py2, 0, 0 ) \
|
||
|
PREPROC_PERFORATION( (px)+(pw)-(ph)*4, py, -4*(ph), ph, px2, py2, 0, 0 )
|
||
|
|
||
|
// ------------------ preprocessing function definitions ------------------
|
||
|
|
||
|
#ifndef BUTTON_HL_OFFSET
|
||
|
#define BUTTON_HL_OFFSET -26 -19
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_A_OFFSET
|
||
|
#define BUTTON_A_OFFSET -20 -3
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_TEXTCOLOR
|
||
|
#define BUTTON_TEXTCOLOR 0.6 0.6 0.6 1
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_LOCKEDCOLOR
|
||
|
#define BUTTON_LOCKEDCOLOR 0.25 0.25 0.25 1
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_TEXTSIZE
|
||
|
#define BUTTON_TEXTSIZE TEXTSIZE_DEFAULT
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_SHADER
|
||
|
#define BUTTON_SHADER "white"
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_SHADERCOLOR
|
||
|
#define BUTTON_SHADERCOLOR 1 1 1 0
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_SHADER_OFFSET
|
||
|
#define BUTTON_SHADER_OFFSET 0 0
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_SHADERSIZE
|
||
|
#define BUTTON_SHADERSIZE 200 20
|
||
|
#endif
|
||
|
|
||
|
#ifndef BUTTON_DESCCOLOR
|
||
|
#define BUTTON_DESCCOLOR 0.6 0.6 0.6 1
|
||
|
#endif
|
||
|
|
||
|
#define BUTTON_DESC_RAW( pnum, plock, porigin, psize, ptext ) \
|
||
|
itemDef{ \
|
||
|
group "button_hide" \
|
||
|
name "description"plock"_choice"#pnum \
|
||
|
type ITEM_TYPE_BUTTON \
|
||
|
origin porigin \
|
||
|
textfont UI_FONT_NORMAL \
|
||
|
textstyle ITEM_TEXTSTYLE_SHADOWED \
|
||
|
exp text( ptext ); \
|
||
|
textscale BUTTON_TEXTSIZE \
|
||
|
forecolor BUTTON_DESCCOLOR \
|
||
|
visible 1
|
||
|
|
||
|
#define BUTTON_LOCKED_DESC( pnum, porigin, psize, ptext ) \
|
||
|
BUTTON_DESC_RAW( pnum, "2", porigin, psize, ptext )
|
||
|
|
||
|
#define BUTTON_UNLOCKED_DESC( pnum, porigin, psize, ptext ) \
|
||
|
BUTTON_DESC_RAW( pnum, "1", porigin, psize, ptext )
|
||
|
|
||
|
// singular button macro
|
||
|
#define BUTTON( pnum, porigin, phighlight_size, ptext, paction ) \
|
||
|
BUTTON_RAW( pnum, porigin, phighlight_size, ptext, ;, ;, paction, 1 )
|
||
|
|
||
|
#define BUTTON_RAW( pnum, porigin, phighlight_size, ptext, ponfocus, pleavefocus, paction, p_vis ) \
|
||
|
itemDef{ \
|
||
|
type ITEM_TYPE_BUTTON \
|
||
|
origin porigin \
|
||
|
textfont UI_FONT_NORMAL \
|
||
|
textstyle ITEM_TEXTSTYLE_SHADOWED \
|
||
|
exp text( ptext ); \
|
||
|
textscale BUTTON_TEXTSIZE \
|
||
|
forecolor 1 1 1 0.5 \
|
||
|
visible when( p_vis ); \
|
||
|
onFocus{ \
|
||
|
play "mouse_over"; \
|
||
|
hide "button_hide" \
|
||
|
show "description1_choice"#pnum; \
|
||
|
show "description2_choice"#pnum; \
|
||
|
show "highlight_choice"#pnum; \
|
||
|
show "a_button_choice"#pnum; \
|
||
|
ponfocus } \
|
||
|
leaveFocus{ \
|
||
|
hide "description1_choice"#pnum; \
|
||
|
hide "description2_choice"#pnum; \
|
||
|
hide "highlight_choice"#pnum; \
|
||
|
hide "a_button_choice"#pnum; \
|
||
|
pleavefocus } \
|
||
|
action{ \
|
||
|
play "mouse_click"; \
|
||
|
paction }} \
|
||
|
itemDef { \
|
||
|
style WINDOW_STYLE_SHADER \
|
||
|
rect porigin BUTTON_SHADERSIZE 0 0 \
|
||
|
origin BUTTON_SHADER_OFFSET \
|
||
|
exp material( BUTTON_SHADER ) \
|
||
|
forecolor BUTTON_SHADERCOLOR \
|
||
|
visible 1 \
|
||
|
decoration } \
|
||
|
itemDef { \
|
||
|
group "button_hide" \
|
||
|
name "highlight_choice"#pnum \
|
||
|
style WINDOW_STYLE_SHADER \
|
||
|
rect porigin phighlight_size 0 0 \
|
||
|
origin BUTTON_HL_OFFSET \
|
||
|
exp material( BUTTON_HL_SHADER ) \
|
||
|
forecolor 0.2 0.25 0.35 0.25 \
|
||
|
border 1 \
|
||
|
bordersize 1 \
|
||
|
bordercolor 0.8 0.95 1 0.4 \
|
||
|
visible 1 \
|
||
|
decoration } \
|
||
|
itemDef { \
|
||
|
group "button_hide" \
|
||
|
name "a_button_choice"#pnum \
|
||
|
text "@XBOXLIVE_SELECTBUTTON" \
|
||
|
textfont UI_FONT_NORMAL \
|
||
|
textscale 0.27 \
|
||
|
rect porigin 20 20 0 0 \
|
||
|
origin BUTTON_A_OFFSET \
|
||
|
forecolor 0 0 0 0.5 \
|
||
|
visible 1 \
|
||
|
decoration }
|
||
|
|
||
|
// full button that show/hides highlight, a button, description and gray out if locked
|
||
|
#define BUTTON_FULL( pnum, porigin, phighlight_size, ptext, paction, pvis ) \
|
||
|
itemDef{ \
|
||
|
type ITEM_TYPE_BUTTON \
|
||
|
origin porigin \
|
||
|
textfont UI_FONT_NORMAL \
|
||
|
textstyle ITEM_TEXTSTYLE_SHADOWED \
|
||
|
exp text( ptext ); \
|
||
|
textscale BUTTON_TEXTSIZE \
|
||
|
forecolor 0.25 0.25 0.25 1 \
|
||
|
visible when( !( pvis ) ); \
|
||
|
decoration } \
|
||
|
itemDef{ \
|
||
|
type ITEM_TYPE_BUTTON \
|
||
|
origin porigin \
|
||
|
textfont UI_FONT_NORMAL \
|
||
|
textstyle ITEM_TEXTSTYLE_SHADOWED \
|
||
|
exp text( "" ); \
|
||
|
visible when( !( pvis ) ); \
|
||
|
onFocus{ \
|
||
|
play "mouse_over"; \
|
||
|
SINGULAR_HIDEALL \
|
||
|
show "description2_choice"#pnum; \
|
||
|
show "highlight_choice"#pnum; \
|
||
|
hide "description_choice"#pnum; } \
|
||
|
leaveFocus{ \
|
||
|
hide "description2_choice"#pnum; \
|
||
|
hide "highlight_choice"#pnum; } } \
|
||
|
BUTTON_RAW( pnum, porigin, phighlight_size, ptext, paction, pvis )
|