Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!SetPlayerIgnoreRadiusDamage( true );
player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime )
self StopShellShock();
self FreezeControls( true );
player_fake_death()
{
level notify ("fake_death");
self notify ("fake_death");
//self TakeAllWeapons();
self AllowStand( false );
self AllowCrouch( false );
self AllowProne( true );
self.ignoreme = true;
self EnableInvulnerability();
wait( 1 );
self FreezeControls( true );
}
init_standard_zombie_anims
init_standard_zombie_anims()
{
// deaths
level.scr_anim["zombie"]["death1"] = %ai_zombie_death_v1;
level.scr_anim["zombie"]["death2"] = %ai_zombie_death_v2;
level.scr_anim["zombie"]["death3"] = %ai_zombie_crawl_death_v1;
level.scr_anim["zombie"]["death4"] = %ai_zombie_crawl_death_v2;
level.scr_anim["zomboss1"]["death1"] = %hamerwalk;
level.scr_anim["zomboss1"]["death2"] = %hamerwalk;
level.scr_anim["zomboss1"]["death3"] = %hamerwalk;
level.scr_anim["zomboss1"]["death4"] = %hamerwalk;
level.scr_anim["genu"]["death1"] = %hamerwalk;
level.scr_anim["genu"]["death2"] = %hamerwalk;
level.scr_anim["genu"]["death3"] = %hamerwalk;
level.scr_anim["genu"]["death4"] = %hamerwalk;
// run cycles
level.scr_anim["zomboss1"]["walk1"] = %hamerwalk;
level.scr_anim["zomboss1"]["walk2"] = %hamerwalk;
level.scr_anim["zomboss1"]["walk3"] = %hamerwalk;
level.scr_anim["zomboss1"]["walk4"] = %hamerwalk;
level.scr_anim["genu"]["walk1"] = %hamerwalk;
level.scr_anim["genu"]["walk2"] = %hamerwalk;
level.scr_anim["genu"]["walk3"] = %hamerwalk;
level.scr_anim["genu"]["walk4"] = %hamerwalk;
level.scr_anim["zomboss1"]["run1"] = %hamerwalk;
level.scr_anim["zomboss1"]["run2"] = %hamerwalk;
level.scr_anim["zomboss1"]["run3"] = %hamerwalk;
level.scr_anim["zomboss1"]["run4"] = %hamerwalk;
level.scr_anim["zomboss1"]["run5"] = %hamerwalk;
level.scr_anim["zomboss1"]["run6"] = %hamerwalk;
level.scr_anim["genu"]["run1"] = %hamerwalk;
level.scr_anim["genu"]["run2"] = %hamerwalk;
level.scr_anim["genu"]["run3"] = %hamerwalk;
level.scr_anim["genu"]["run4"] = %hamerwalk;
level.scr_anim["genu"]["run5"] = %hamerwalk;
level.scr_anim["genu"]["run6"] = %hamerwalk;
level.scr_anim["genu"]["sprint1"] = %hamerwalk;
level.scr_anim["genu"]["sprint2"] = %hamerwalk;
level.scr_anim["genu"]["sprint3"] = %hamerwalk;
level.scr_anim["genu"]["sprint4"] = %hamerwalk;
level.scr_anim["zombie"]["walk1"] = %ai_zombie_walk_v1;
level.scr_anim["zombie"]["walk2"] = %ai_zombie_walk_v2;
level.scr_anim["zombie"]["walk3"] = %ai_zombie_walk_v3;
level.scr_anim["zombie"]["walk4"] = %ai_zombie_walk_v4;
level.scr_anim["zombie"]["run1"] = %ai_zombie_walk_fast_v1;
level.scr_anim["zombie"]["run2"] = %ai_zombie_walk_fast_v2;
level.scr_anim["zombie"]["run3"] = %ai_zombie_walk_fast_v3;
level.scr_anim["zombie"]["run4"] = %ai_zombie_run_v2;
level.scr_anim["zombie"]["run5"] = %ai_zombie_run_v4;
level.scr_anim["zombie"]["run6"] = %ai_zombie_run_v3;
//level.scr_anim["zombie"]["run4"] = %ai_zombie_run_v1;
//level.scr_anim["zombie"]["run6"] = %ai_zombie_run_v4;
level.scr_anim["zombie"]["sprint1"] = %ai_zombie_sprint_v1;
level.scr_anim["zombie"]["sprint2"] = %ai_zombie_sprint_v2;
level.scr_anim["zombie"]["sprint3"] = %ai_zombie_sprint_v1;
level.scr_anim["zombie"]["sprint4"] = %ai_zombie_sprint_v2;
//level.scr_anim["zombie"]["sprint3"] = %ai_zombie_sprint_v3;
//level.scr_anim["zombie"]["sprint3"] = %ai_zombie_sprint_v4;
//level.scr_anim["zombie"]["sprint4"] = %ai_zombie_sprint_v5;
// run cycles in prone
level.scr_anim["zombie"]["crawl1"] = %ai_zombie_crawl;
level.scr_anim["zombie"]["crawl2"] = %ai_zombie_crawl_v1;
level.scr_anim["zombie"]["crawl3"] = %ai_zombie_crawl_v2;
level.scr_anim["zombie"]["crawl4"] = %ai_zombie_crawl_v3;
level.scr_anim["zombie"]["crawl5"] = %ai_zombie_crawl_v4;
level.scr_anim["zombie"]["crawl6"] = %ai_zombie_crawl_v5;
level.scr_anim["zombie"]["crawl_hand_1"] = %ai_zombie_walk_on_hands_a;
level.scr_anim["zombie"]["crawl_hand_2"] = %ai_zombie_walk_on_hands_b;
level.scr_anim["zombie"]["crawl_sprint1"] = %ai_zombie_crawl_sprint;
level.scr_anim["zombie"]["crawl_sprint2"] = %ai_zombie_crawl_sprint_1;
level.scr_anim["zombie"]["crawl_sprint3"] = %ai_zombie_crawl_sprint_2;
if( !isDefined( level._zombie_melee ) )
{
level._zombie_melee = [];
}
if( !isDefined( level._zombie_walk_melee ) )
{
level._zombie_walk_melee = [];
}
if( !isDefined( level._zombie_run_melee ) )
{
level._zombie_run_melee = [];
}
level._zombie_melee["genu"] = [];
level._zombie_walk_melee["genu"] = [];
level._zombie_run_melee["genu"] = [];
level._zombie_melee["zomboss1"] = [];
level._zombie_walk_melee["zomboss1"] = [];
level._zombie_run_melee["zomboss1"] = [];
level._zombie_melee["zombie"] = [];
level._zombie_walk_melee["zombie"] = [];
level._zombie_run_melee["zombie"] = [];
level._zombie_melee["genu"][0] = %hamerwalk;
level._zombie_melee["genu"][1] = %hamerwalk;
level._zombie_melee["genu"][2] = %hamerwalk;
level._zombie_melee["genu"][3] = %hamerwalk;
level._zombie_melee["genu"][4] = %hamerwalk;
level._zombie_melee["genu"][5] = %hamerwalk;
level._zombie_melee["genu"][6] = %hamerwalk;
level._zombie_melee["zomboss1"][0] = %hamerwalk;
level._zombie_melee["zomboss1"][1] = %hamerwalk;
level._zombie_melee["zomboss1"][2] = %hamerwalk;
level._zombie_melee["zomboss1"][3] = %hamerwalk;
level._zombie_melee["zomboss1"][4] = %hamerwalk;
level._zombie_melee["zomboss1"][5] = %hamerwalk;
level._zombie_melee["zomboss1"][6] = %hamerwalk;
level._zombie_melee["zombie"][0] = %ai_zombie_attack_forward_v1;
level._zombie_melee["zombie"][1] = %ai_zombie_attack_forward_v2;
level._zombie_melee["zombie"][2] = %ai_zombie_attack_v1;
level._zombie_melee["zombie"][3] = %ai_zombie_attack_v2;
level._zombie_melee["zombie"][4] = %ai_zombie_attack_v1;
level._zombie_melee["zombie"][5] = %ai_zombie_attack_v4;
level._zombie_melee["zombie"][6] = %ai_zombie_attack_v6;
level._zombie_run_melee["zombie"][0] = %ai_zombie_run_attack_v1;
level._zombie_run_melee["zombie"][1] = %ai_zombie_run_attack_v2;
level._zombie_run_melee["zombie"][2] = %ai_zombie_run_attack_v3;
level.scr_anim["zombie"]["walk5"] = %ai_zombie_walk_v6;
level.scr_anim["zombie"]["walk6"] = %ai_zombie_walk_v7;
level.scr_anim["zombie"]["walk7"] = %ai_zombie_walk_v8;
level.scr_anim["zombie"]["walk8"] = %ai_zombie_walk_v9;
if( isDefined( level.zombie_anim_override ) )
{
[[ level.zombie_anim_override ]]();
}
level._zombie_walk_melee["genu"][0] = %hamerwalk;
level._zombie_walk_melee["genu"][1] = %hamerwalk;
level._zombie_walk_melee["genu"][2] = %hamerwalk;
level._zombie_walk_melee["genu"][3] = %hamerwalk;
level._zombie_walk_melee["zomboss1"][0] = %hamerwalk;
level._zombie_walk_melee["zomboss1"][1] = %hamerwalk;
level._zombie_walk_melee["zomboss1"][2] = %hamerwalk;
level._zombie_walk_melee["zomboss1"][3] = %hamerwalk;
level._zombie_walk_melee["zombie"][0] = %ai_zombie_walk_attack_v1;
level._zombie_walk_melee["zombie"][1] = %ai_zombie_walk_attack_v2;
level._zombie_walk_melee["zombie"][2] = %ai_zombie_walk_attack_v3;
level._zombie_walk_melee["zombie"][3] = %ai_zombie_walk_attack_v4;
// melee in crawl
if( !isDefined( level._zombie_melee_crawl ) )
{
level._zombie_melee_crawl = [];
}
level._zombie_melee_crawl["zombie"] = [];
level._zombie_melee_crawl["zombie"][0] = %ai_zombie_attack_crawl;
level._zombie_melee_crawl["zombie"][1] = %ai_zombie_attack_crawl_lunge;
if( !isDefined( level._zombie_stumpy_melee ) )
{
level._zombie_stumpy_melee = [];
}
level._zombie_stumpy_melee["zombie"] = [];
level._zombie_stumpy_melee["zombie"][0] = %ai_zombie_walk_on_hands_shot_a;
level._zombie_stumpy_melee["zombie"][1] = %ai_zombie_walk_on_hands_shot_b;
//level._zombie_melee_crawl["zombie"][2] = %ai_zombie_crawl_attack_A;
// tesla deaths
if( !isDefined( level._zombie_tesla_death ) )
{
level._zombie_tesla_death = [];
}
level._zombie_tesla_death["zombie"] = [];
level._zombie_tesla_death["zombie"][0] = %ai_zombie_tesla_death_a;
level._zombie_tesla_death["zombie"][1] = %ai_zombie_tesla_death_b;
level._zombie_tesla_death["zombie"][2] = %ai_zombie_tesla_death_c;
level._zombie_tesla_death["zombie"][3] = %ai_zombie_tesla_death_d;
level._zombie_tesla_death["zombie"][4] = %ai_zombie_tesla_death_e;
if( !isDefined( level._zombie_tesla_crawl_death ) )
{
level._zombie_tesla_crawl_death = [];
}
level._zombie_tesla_crawl_death["zombie"] = [];
level._zombie_tesla_crawl_death["zombie"][0] = %ai_zombie_tesla_crawl_death_a;
level._zombie_tesla_crawl_death["zombie"][1] = %ai_zombie_tesla_crawl_death_b;
// deaths
if( !isDefined( level._zombie_deaths ) )
{
level._zombie_deaths = [];
}
level._zombie_deaths["zombie"] = [];
level._zombie_deaths["zombie"][0] = %ch_dazed_a_death;
level._zombie_deaths["zombie"][1] = %ch_dazed_b_death;
level._zombie_deaths["zombie"][2] = %ch_dazed_c_death;
level._zombie_deaths["zombie"][3] = %ch_dazed_d_death;
level._zombie_deaths["genu"] = [];
level._zombie_deaths["genu"][0] = %hamerwalk;
level._zombie_deaths["genu"][1] = %hamerwalk;
level._zombie_deaths["genu"][2] = %hamerwalk;
level._zombie_deaths["genu"][3] = %hamerwalk;
level._zombie_deaths["zomboss1"] = [];
level._zombie_deaths["zomboss1"][0] = %hamerwalk;
level._zombie_deaths["zomboss1"][1] = %hamerwalk;
level._zombie_deaths["zomboss1"][2] = %hamerwalk;
level._zombie_deaths["zomboss1"][3] = %hamerwalk;
/*
ground crawl
*/
if( !isDefined( level._zombie_rise_anims ) )
{
level._zombie_rise_anims = [];
}
// set up the arrays
level._zombie_rise_anims["zombie"] = [];
//level._zombie_rise_anims["zombie"][1]["walk"][0] = %ai_zombie_traverse_ground_v1_crawl;
level._zombie_rise_anims["zombie"][1]["walk"][0] = %ai_zombie_traverse_ground_v1_walk;
//level._zombie_rise_anims["zombie"][1]["run"][0] = %ai_zombie_traverse_ground_v1_crawlfast;
level._zombie_rise_anims["zombie"][1]["run"][0] = %ai_zombie_traverse_ground_v1_run;
level._zombie_rise_anims["zombie"][1]["sprint"][0] = %ai_zombie_traverse_ground_climbout_fast;
//level._zombie_rise_anims["zombie"][2]["walk"][0] = %ai_zombie_traverse_ground_v2_walk; //!broken
level._zombie_rise_anims["zombie"][2]["walk"][0] = %ai_zombie_traverse_ground_v2_walk_altA;
//level._zombie_rise_anims["zombie"][2]["walk"][2] = %ai_zombie_traverse_ground_v2_walk_altB;//!broken
// ground crawl death
if( !isDefined( level._zombie_rise_death_anims ) )
{
level._zombie_rise_death_anims = [];
}
level._zombie_rise_death_anims["zombie"] = [];
level._zombie_rise_death_anims["zombie"][1]["in"][0] = %ai_zombie_traverse_ground_v1_deathinside;
level._zombie_rise_death_anims["zombie"][1]["in"][1] = %ai_zombie_traverse_ground_v1_deathinside_alt;
level._zombie_rise_death_anims["zombie"][1]["out"][0] = %ai_zombie_traverse_ground_v1_deathoutside;
level._zombie_rise_death_anims["zombie"][1]["out"][1] = %ai_zombie_traverse_ground_v1_deathoutside_alt;
level._zombie_rise_death_anims["zombie"][2]["in"][0] = %ai_zombie_traverse_ground_v2_death_low;
level._zombie_rise_death_anims["zombie"][2]["in"][1] = %ai_zombie_traverse_ground_v2_death_low_alt;
level._zombie_rise_death_anims["zombie"][2]["out"][0] = %ai_zombie_traverse_ground_v2_death_high;
level._zombie_rise_death_anims["zombie"][2]["out"][1] = %ai_zombie_traverse_ground_v2_death_high_alt;
//taunts
if( !isDefined( level._zombie_run_taunt ) )
{
level._zombie_run_taunt = [];
}
if( !isDefined( level._zombie_board_taunt ) )
{
level._zombie_board_taunt = [];
}
level._zombie_run_taunt["zombie"] = [];
level._zombie_board_taunt["zombie"] = [];
//level._zombie_taunt["zombie"][0] = %ai_zombie_taunts_1;
//level._zombie_taunt["zombie"][1] = %ai_zombie_taunts_4;
//level._zombie_taunt["zombie"][2] = %ai_zombie_taunts_5b;
//level._zombie_taunt["zombie"][3] = %ai_zombie_taunts_5c;
//level._zombie_taunt["zombie"][4] = %ai_zombie_taunts_5d;
//level._zombie_taunt["zombie"][5] = %ai_zombie_taunts_5e;
//level._zombie_taunt["zombie"][6] = %ai_zombie_taunts_5f;
//level._zombie_taunt["zombie"][7] = %ai_zombie_taunts_7;
//level._zombie_taunt["zombie"][8] = %ai_zombie_taunts_9;
//level._zombie_taunt["zombie"][8] = %ai_zombie_taunts_11;
//level._zombie_taunt["zombie"][8] = %ai_zombie_taunts_12;
level._zombie_board_taunt["zombie"][0] = %ai_zombie_taunts_4;
level._zombie_board_taunt["zombie"][1] = %ai_zombie_taunts_7;
level._zombie_board_taunt["zombie"][2] = %ai_zombie_taunts_9;
level._zombie_board_taunt["zombie"][3] = %ai_zombie_taunts_5b;
level._zombie_board_taunt["zombie"][4] = %ai_zombie_taunts_5c;
level._zombie_board_taunt["zombie"][5] = %ai_zombie_taunts_5d;
level._zombie_board_taunt["zombie"][6] = %ai_zombie_taunts_5e;
level._zombie_board_taunt["zombie"][7] = %ai_zombie_taunts_5f;
}
self maps\_zombiemode_spawner:zombie_spawn_init("zomboss1");
self maps\_zombiemode_spawner_boss::zombie_think();
self maps\_zombiemode_spawner_boss::zombie_setup_attack_properties();
self maps\_zombiemode_spawner_boss::find_flesh();
i just downloaded the latest demo(its the first time i download this map) and the game crashes when i launch the mod , any help on that? i really want to try this map it looks really cool .
ps i downloaded TM4 and i got the same issue so it wasnt a t4m error.
pss im running the steam version but with an uncut patch to play zombies because i live in germany.
//#define ENABLE_BUTTON_BG 1 // enables button background image
#define ENABLE_SEPARATOR 1 // enables separator bars
#define ENABLE_TITLE_BG 1 // enables menu title background graphics
/*
#ifndef CHOICE_SIZE_X
#error "CHOICE_SIZE_X undefined"
#endif
#ifndef CHOICE_SIZE_Y
#error "CHOICE_SIZE_Y undefined"
#endif
*/
#ifndef CHOICE_SIZE_X
#define CHOICE_SIZE_X 150
#endif
#ifndef CHOICE_SIZE_Y
#define CHOICE_SIZE_Y 22
#endif
#ifndef CHOICE_SIDEITEM_SIZE_X
#define CHOICE_SIDEITEM_SIZE_X 64
#endif
#ifndef CHOICE_SIDEITEM_SPACING
#define CHOICE_SIDEITEM_SPACING 16
#endif
#ifndef CHOICE_GROUP
#define CHOICE_GROUP ""
#endif
#ifndef CHOICE_X_START
#define CHOICE_X_START 1 // +=right -=left how far left and right ...
#endif
#ifndef CHOICE_X_SPACING
#define CHOICE_X_SPACING 25 //25 is min // Allmods SPACING from left to right between buttons
#endif
#ifndef CHOICE_Y_START
#define CHOICE_Y_START -40// +=up -=down// up down all buttions
#endif
#ifndef CHOICE_Y_SPACING
#define CHOICE_Y_SPACING 20
#endif
#ifndef CHOICE_Y_COUNT
#define CHOICE_Y_COUNT 20
#endif
#ifndef CHOICE_TEXT_OFFSET_X
#define CHOICE_TEXT_OFFSET_X 22
#endif
#ifndef SECTION_TEXT_OFFSET_X
#define SECTION_TEXT_OFFSET_X 0
#endif
#ifndef CHOICE_ACCEPT_ALIGN_X
#define CHOICE_ACCEPT_ALIGN_X 6
#endif
#ifndef CHOICE_ACCEPT_ALIGN_Y
#define CHOICE_ACCEPT_ALIGN_Y 2
#endif
#ifndef NEW_X_OFFSET
#define NEW_X_OFFSET 0
#endif
#ifndef NEW_Y_OFFSET
#define NEW_Y_OFFSET 0
#endif
#ifndef TITLE_Y_OFFSET
#define TITLE_Y_OFFSET 0
#endif
#ifndef TITLE_X_OFFSET
#define TITLE_X_OFFSET 0
#endif
#ifndef CHOICE_FOCUS_SOUND
#define CHOICE_FOCUS_SOUND ""
#endif
#ifndef CHOICE_ACTION_SOUND
#define CHOICE_ACTION_SOUND "mouse_click"
#endif
#ifndef CHOICE_TEXTSIZE
#define CHOICE_TEXTSIZE TEXTSIZE_DEFAULT
#endif
#ifndef CHOICE_TEXTFONT
#define CHOICE_TEXTFONT UI_FONT_NORMAL
#endif
#ifndef CHOICE_HEADERCOLOR
#define CHOICE_HEADERCOLOR 0 0 0 0
#endif
#ifndef CHOICE_TEXTCOLOR
#define CHOICE_TEXTCOLOR 0 0 0 0//1 1 1 1
#endif
#ifndef CHOICE_TEXTCOLOR_CAPT
#define CHOICE_TEXTCOLOR_CAPT CHOICE_TEXTCOLOR
#endif
#ifndef CHOICE_TEXTSTYLE
#define CHOICE_TEXTSTYLE 0
#endif
#ifndef CHOICE_TEXTALIGN
#define CHOICE_TEXTALIGN ITEM_ALIGN_MIDDLE_LEFT
#endif
#ifndef ALT_HINT_X_OFFSET
#define ALT_HINT_X_OFFSET -16
#endif
#ifndef SECTION_X_OFFSET
#define SECTION_X_OFFSET 0
#endif
#ifndef SECTION_Y_OFFSET
#define SECTION_Y_OFFSET 0
#endif
#ifndef CHOICE_TEXTCOLOR_DISABLED
#define CHOICE_TEXTCOLOR_DISABLED 0 0 0 0
#endif
#ifndef CHOICE_TEXTCOLOR_SELECTABLE
#define CHOICE_TEXTCOLOR_SELECTABLE 0 0 0 0
#endif
#ifndef CHOICE_SEP_WIDTH
#define CHOICE_SEP_WIDTH 130
#endif
#ifndef CHOICE_SEP_OFFSET_X
#define CHOICE_SEP_OFFSET_X 0
#endif
#ifndef CHOICE_SEP_OFFSET_Y
#define CHOICE_SEP_OFFSET_Y 0
#endif
#ifndef CHOICE_DVAR_WIDTH_OFFSET
#define CHOICE_DVAR_WIDTH_OFFSET 120
#endif
#ifndef CHOICE_DVAR_TEXTALIGN
#define CHOICE_DVAR_TEXTALIGN ITEM_ALIGN_MIDDLE_LEFT //ITEM_ALIGN_MIDDLE_RIGHT
#endif
#ifndef CHOICE_DVAR_OFFSET_X
#define CHOICE_DVAR_OFFSET_X (0 - CHOICE_TEXT_OFFSET_X)
#endif
#ifndef CHOICE_SEP_BACKGROUND
#define CHOICE_SEP_BACKGROUND "menu_button_backing"
#endif
#ifndef HIGHLIGHT_SHADER_ART
#define HIGHLIGHT_SHADER_ART "button_highlight_end"
#endif
#ifndef ALTERNATE_HINT_SHADER
#define ALTERNATE_HINT_SHADER "alternate_hint"
#endif
#ifndef ALTERNATE_HINT_COLOR
#define ALTERNATE_HINT_COLOR 0 0 0 0 //0.55 0.95 0.55 0.9//0 1 0 0.35//0.75 .75 0.8 1
#endif
#ifndef HIGHLIGHT_COLOR
#define HIGHLIGHT_COLOR 0 0 0 0
#endif
#ifndef HIGHLIGHT_BORDER_COLOR
#define HIGHLIGHT_BORDER_COLOR 0 0 0 0
#endif
#ifndef CHOICE_HORIZONTAL_ALIGN
#define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_DEFAULT
#endif
#ifndef CHOICE_VERTICAL_ALIGN
#define CHOICE_VERTICAL_ALIGN VERTICAL_ALIGN_DEFAULT
#endif
#ifndef HIGHLIGHT_BORDER
#define HIGHLIGHT_BORDER WINDOW_BORDER_RAISED
#endif
#ifndef HIGHLIGHT_SHADER
#define HIGHLIGHT_SHADER "menu_button_backing_highlight"
#endif
#ifndef A_BUTTON_SIZE
#define A_BUTTON_SIZE 0.4//0.33
#endif
#ifndef A_BUTTON_OFFSET_X
#define A_BUTTON_OFFSET_X 0//(0-4)
#endif
#ifndef A_BUTTON_FONT
#define A_BUTTON_FONT UI_FONT_NORMAL
#endif
#ifndef A_BUTTON_OFFSET_Y
#define A_BUTTON_OFFSET_Y 0
#endif
#ifdef PS3
#define A_BUTTON_BG_COLOR 0 0 0 0
#else
#define A_BUTTON_BG_COLOR 0 0 0 0
#endif
#define A_BUTTON_TEXTSTYLE ITEM_TEXTSTYLE_NORMAL
#ifndef A_BUTTON_COLOR
#define A_BUTTON_COLOR 0 0 0 0
#endif
#ifndef BUTTON_BG_COLOR
#define BUTTON_BG_COLOR .0 .0 .0 .0//0 0 0 0.5
#endif
// ------------ splitscreen ----------------
// -----------------------------------------
#if !defined( CHOICE_SEP_1 ) || !defined( CHOICE_SEP_SPACING )
#define CHOICE_SEP_TOTAL_SPACING( itemIndex ) 0
#elif !defined( CHOICE_SEP_2 )
#define CHOICE_SEP_TOTAL_SPACING( itemIndex ) ((itemIndex <= CHOICE_SEP_1) ? 0 : CHOICE_SEP_SPACING )
#elif !defined( CHOICE_SEP_3 )
#define CHOICE_SEP_TOTAL_SPACING( itemIndex ) ((itemIndex <= CHOICE_SEP_1) ? 0 : ( (itemIndex <= CHOICE_SEP_2) ? CHOICE_SEP_SPACING : CHOICE_SEP_SPACING * 2 ) )
#else
#define CHOICE_SEP_TOTAL_SPACING( itemIndex ) ((itemIndex <= CHOICE_SEP_1) ? 0 : ( (itemIndex <= CHOICE_SEP_2) ? CHOICE_SEP_SPACING : ( (itemIndex <= CHOICE_SEP_3) ? CHOICE_SEP_SPACING * 2 : CHOICE_SEP_SPACING * 3) ) )
#endif
#define CHOICE_ROW( itemIndex ) ((itemIndex - 1) % CHOICE_Y_COUNT)
#define CHOICE_COL( itemIndex ) ((itemIndex - 1 - ((itemIndex - 1) % CHOICE_Y_COUNT)) / CHOICE_Y_COUNT)
#ifdef PC
#ifndef CHOICE_Y_OFFSET
#define CHOICE_Y_OFFSET 40
#endif
#else
#define CHOICE_Y_OFFSET 0
#endif
#define CHOICE_X( itemIndex ) (CHOICE_X_START + CHOICE_X_SPACING * CHOICE_COL( itemIndex ))
#define CHOICE_Y( itemIndex ) (CHOICE_Y_START + CHOICE_Y_OFFSET + CHOICE_Y_SPACING * CHOICE_ROW( itemIndex ) + CHOICE_SEP_TOTAL_SPACING( itemIndex ))
#define CHOICE_ORIGIN( itemIndex ) CHOICE_X( itemIndex ) CHOICE_Y( itemIndex )
#define CHOICE_RECT( itemIndex ) CHOICE_ORIGIN( itemIndex ) CHOICE_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN
#define FOOTNOTE_RECT( x, y ) x y 240 60 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN
// ======================================================================================================================================
// ======================================================================================================================================
// ======================================================================================================================================
#define CHOICE_HIGHLIGHT( itemIndex, vis ) \
CHOICE_HIGHLIGHT_CUSTOM( itemIndex, HIGHLIGHT_COLOR, HIGHLIGHT_BORDER_COLOR, vis )
#define UI_EDGE( porigin, palign, poffset_x, poffset_y, pcolor ) \
UI_EDGE_RAW( porigin, palign, 5, 20, poffset_x, poffset_y, pcolor )
#define UI_EDGE_REVERSE( porigin, palign, poffset_x, poffset_y, pcolor ) \
UI_EDGE_RAW( porigin, palign, -5, 20, poffset_x, poffset_y, pcolor )
#define UI_EDGE_RAW( porigin, palign, pw, ph, poffset_x, poffset_y, pcolor ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect porigin pw ph palign \
origin poffset_x poffset_y \
background HIGHLIGHT_SHADER_ART \
forecolor pcolor \
visible 1; \
decoration \
} \
#define CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_BUTTON_BG_RAW( itemIndex, "menu_button_backing", BUTTON_BG_COLOR, visArg )
#define CHOICE_BUTTON_BG_RAW( itemIndex, bgimage, foreColorArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X-(CHOICE_SIZE_Y/4)) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp material( bgimage ); \
forecolor foreColorArg \
visible visArg; \
decoration \
}
#define CHOICE_HIGHLIGHT_CUSTOM( itemIndex, foreColorArg, borderColorArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X-(CHOICE_SIZE_Y/4)) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
background "menu_button_backing_highlight" \
forecolor 0 0 0 0 \
border HIGHLIGHT_BORDER \
bordersize 2 \
bordercolor borderColorArg \
visible when( localVarInt( ui_highlight ) == itemIndex && localVarString( ui_choicegroup ) == CHOICE_GROUP && visArg ); \
decoration \
} \
CHOICE_ACCEPT_HINT( itemIndex, visArg )
#define CHOICE_HIGHLIGHT_CUSTOM_NOICON( itemIndex, foreColorArg, borderColorArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X-(CHOICE_SIZE_Y/4)) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
background "menu_button_backing_highlight" \
forecolor foreColorArg \
border HIGHLIGHT_BORDER \
bordersize 2 \
bordercolor borderColorArg \
visible when( localVarInt( ui_highlight ) == itemIndex && localVarString( ui_choicegroup ) == CHOICE_GROUP && visArg ); \
decoration \
} \
// used for custom highlights for itemDefs that are special and can not use itemIndex or complie with the strict alignment of this macro set
#define CHOICE_HIGHLIGHT_CUSTOM_2( px, py, pw, ph, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (px+(ph/4)) py (-(pw-(ph/4))) ph CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
background HIGHLIGHT_SHADER \
forecolor BUTTON_BG_COLOR \
visible 1 \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (px+(ph/4)) py (-(pw-(ph/4))) ph CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
background HIGHLIGHT_SHADER \
forecolor HIGHLIGHT_COLOR \
visible visArg \
decoration \
}
//CHOICE_TEXT_OFFSET_X
#if defined( CONSOLE ) && !defined( SPLITSCREEN )
#define CHOICE_ACCEPT_HINT( itemIndex, vis ) \
itemDef \
{ \
rect CHOICE_RECT( itemIndex ) \
origin A_BUTTON_OFFSET_X A_BUTTON_OFFSET_Y \
text "@PLATFORM_UI_SELECTBUTTON" \
textfont A_BUTTON_FONT \
textscale A_BUTTON_SIZE \
textstyle A_BUTTON_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX 0\
textAlignY -1\
forecolor 1 1 1 1 \
visible when( localVarInt( ui_highlight ) == itemIndex && localVarString( ui_choicegroup ) == CHOICE_GROUP && vis ); \
decoration \
}
#else // #if defined( CONSOLE ) && !defined( SPLITSCREEN )
#define CHOICE_ACCEPT_HINT( itemIndex, vis )
#endif // #else // #if defined( CONSOLE ) && !defined( SPLITSCREEN )
#ifdef CONSOLE
#define TITLE_STRIP \
/* title bar */ \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect -5 40 640 25 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN \
background "menu_lobby_title_back" \
forecolor 0.2137 0.2346 0.2398 0.75 \
/*forecolor COLOR_TITLEBAR*/ \
visible 1 \
decoration \
} \
/* bottom white strip */ \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect -107 65 854 1 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN \
background "menu_white_line_faded" \
forecolor 0.20 0.216 0.22 1 \
visible 1 \
decoration \
}
#define OVERLAY_TITLE_STRIP \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect -107 66 500 27 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN \
background "gradient" \
forecolor COLOR_TITLEBAR \
visible 1 \
decoration \
}
#else // #ifdef CONSOLE
#define TITLE_STRIP
#define OVERLAY_TITLE_STRIP
#endif // #else // #ifdef CONSOLE
#define CHOICE_MENU_TITLE_SS( titleArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 5 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textalignx -14 \
textfont UI_FONT_NORMAL \
textscale TEXTSIZE_DEFAULT \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
visible 1 \
decoration \
}
#define CHOICE_MENU_TITLE_NO_STRIP( titleArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 5 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textfont UI_FONT_NORMAL \
textscale TEXTSIZE_TITLE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
textaligny TITLE_Y_OFFSET \
textalignx TITLE_X_OFFSET \
visible 1 \
decoration \
}
#define CHOICE_MENU_TITLE( titleArg ) \
/* white bar backing */ \
TITLE_STRIP \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 5 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textfont UI_FONT_OBJECTIVE \
textscale TEXTSIZE_TITLE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
textaligny TITLE_Y_OFFSET \
textalignx TITLE_X_OFFSET \
visible 1 \
decoration \
}
#define CHOICE_MENU_TITLE_VIS( titleArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 5 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
text titleArg \
textfont UI_FONT_NORMAL \
textscale TEXTSIZE_TITLE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
visible when( visArg ) \
decoration \
}
#define CHOICE_OVERLAY_TITLE( titleArg ) \
CHOICE_OVERLAY_TITLE_VIS( titleArg, 1 )
#define CHOICE_OVERLAY_TITLE_VIS( titleArg, visArg ) \
/* black bar backing */ \
/*OVERLAY_TITLE_STRIP*/ \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 32 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textfont UI_FONT_NORMAL \
textscale TEXTSIZE_TITLE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
textaligny TITLE_Y_OFFSET \
textalignx TITLE_X_OFFSET \
visible visArg \
decoration \
}
#define CHOICE_OVERLAY_SUB_TITLE( titleArg ) \
CHOICE_OVERLAY_SUB_TITLE_VIS( titleArg, 1 )
#ifdef PC
#define CHOICE_OVERLAY_SUB_TITLE_VIS( titleArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 58 300 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
textaligny TITLE_Y_OFFSET \
textalignx TITLE_X_OFFSET \
visible visArg \
autowrapped\
decoration \
}
#else
#define CHOICE_OVERLAY_SUB_TITLE_VIS( titleArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect 22 58 100 100 HORIZONTAL_ALIGN_LEFT VERTICAL_ALIGN_TOP \
origin ORIGIN_TITLE \
forecolor COLOR_TITLE \
exp text( titleArg ) \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textalign ITEM_ALIGN_TOP_LEFT \
textaligny TITLE_Y_OFFSET \
textalignx TITLE_X_OFFSET \
visible visArg \
decoration \
}
#endif
#define CHOICE_SECTION_TITLE( itemIndex, titleArg ) \
CHOICE_SECTION_TITLE_VIS( itemIndex, titleArg, 1 )
#define CHOICE_SECTION_TITLE_VIS( itemIndex, titleArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (SECTION_X_OFFSET+0) (SECTION_Y_OFFSET+3) 245 1 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
origin CHOICE_ORIGIN( itemIndex ) \
background "menu_white_line_faded" \
forecolor 0 0 0 0 \
visible visArg \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (SECTION_X_OFFSET+0) (SECTION_Y_OFFSET+4) 245 17 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
origin CHOICE_ORIGIN( itemIndex ) \
background "menu_black_line" \
forecolor 0 0 0 0 \
visible visArg \
decoration \
} \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (SECTION_X_OFFSET+0) (SECTION_Y_OFFSET+21) 245 1 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
origin CHOICE_ORIGIN( itemIndex ) \
background "menu_white_line_faded" \
forecolor 0 0 0 0 \
visible visArg \
decoration \
} \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect (SECTION_X_OFFSET+0) (SECTION_Y_OFFSET-1) 245 24 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
origin CHOICE_ORIGIN( itemIndex ) \
forecolor 0 0 0 0 \
exp text( titleArg );\
textstyle ITEM_TEXTSTYLE_SHADOWED \
textfont UI_FONT_OBJECTIVE \
textscale TEXTSIZE_DEFAULT \
textstyle CHOICE_TEXTSTYLE \
textAlign ITEM_ALIGN_MIDDLE_CENTER \
textAlignX SECTION_TEXT_OFFSET_X \
visible visArg \
decoration \
}
#define CHOICE_SEPARATOR( afterItemIndex ) \
CHOICE_SEPARATOR_VIS( afterItemIndex, when( ENABLE_SEPARATOR ) )
#define CHOICE_SEPARATOR_VIS( afterItemIndex, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (CHOICE_SEP_OFFSET_X) (CHOICE_Y_SPACING + CHOICE_SEP_SPACING / 2 + CHOICE_SEP_OFFSET_Y ) CHOICE_SEP_WIDTH 1 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
origin CHOICE_ORIGIN( afterItemIndex ) \
background CHOICE_SEP_BACKGROUND \
forecolor 0 0 0 0 \
visible visArg \
decoration \
}
#define CHOICE_BUTTON( itemIndex, textArg, actionArg ) \
CHOICE_BUTTON_VIS( itemIndex, textArg, actionArg, 1 )
#define CHOICE_BUTTON_NOHI( itemIndex, textArg, actionArg ) \
CHOICE_BUTTON_VIS_NOHI( itemIndex, textArg, actionArg, 1 )
#define CHOICE_BUTTON_VIS( itemIndex, textArg, actionArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
CHOICE_BUTTON_VIS_NOHI( itemIndex, textArg, actionArg, visArg )
#define CHOICE_BUTTON_VIS_ADV( itemIndex, textArg, actionArg, visArg, vis ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, vis ) \
CHOICE_BUTTON_VIS_NOHI( itemIndex, textArg, actionArg, visArg )
#define CHOICE_BUTTON_VIS_NOHI( itemIndex, textArg, actionArg, visArg ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, ;, ;, visArg )
#define CHOICE_BUTTON_FOCUS( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg ) \
CHOICE_BUTTON_FOCUS_VIS( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, 1 )
#define CHOICE_BUTTON_FOCUS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, 1 )
#define CHOICE_BUTTON_FOCUS_VIS( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg )
#define CHOICE_BUTTON_FOCUS_VIS_NOICON( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT_CUSTOM_NOICON( itemIndex, HIGHLIGHT_COLOR, HIGHLIGHT_BORDER_COLOR, 1 ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_NOICON( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg )
#define CHOICE_BUTTON_FOCUS_VIS_NOHI_NOICON( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg )
#define CHOICE_BUTTON_FOCUS_VIS_ADV( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, vis ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, vis ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg )
#define CHOICE_BUTTON_FOCUS_VIS_NOHI( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, ; )
#define CHOICE_BUTTON_EX( itemIndex, textArg, actionArg, extraArgs ) \
CHOICE_BUTTON_BG( itemIndex, 1 ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, ;, ;, 1, extraArgs )
#define CHOICE_BUTTON_NOHI_EX( itemIndex, textArg, actionArg, extraArgs ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, ;, ;, 1, extraArgs )
#define CHOICE_BUTTON_EX_ADV( itemIndex, textArg, actionArg, extraArgs, visArg ) \
CHOICE_BUTTON_BG( itemIndex, 1 ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, ;, ;, visArg, extraArgs )
#define CHOICE_BUTTON_FOCUS_VIS_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, extraArgs ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, extraArgs )
#define CHOICE_BUTTON_FOCUS_VIS_EX_ADV( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, extraArgs, vis ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, vis ) \
CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, extraArgs )
#define CHOICE_BUTTON_FOCUS_VIS_NOHI_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, visArg, extraArgs ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
extraArgs \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, onFocusArg, leaveFocusArg ) \
} \
#define CHOICE_BUTTON_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_BUTTON_FOCUS_COLOR_VIS_NOHI_EX( itemIndex, textArg, ;, ;, ;, colorArg, visArg, ; ) \
#define CHOICE_BUTTON_FOCUS_COLOR_VIS_NOHI_EX( itemIndex, textArg, actionArg, onFocusArg, leaveFocusArg, colorArg, visArg, extraArgs ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor colorArg \
visible visArg \
extraArgs \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, onFocusArg, leaveFocusArg ) \
} \
#define CHOICE_DBUTTON_VIS( itemIndex, textArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
} \
#define CHOICE_DBUTTON_NO_BG_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
} \
#define STATUS_AREA( textArg, xArg, yArg, visArg ) \
itemDef { \
name description_status \
type ITEM_TYPE_TEXT \
rect 10 0 210 36 CHOICE_HORIZONTAL_ALIGN VERTICAL_ALIGN_TOP \
origin xArg yArg \
text textArg \
textfont CHOICE_TEXTFONT \
textscale TEXTSIZE_SMALL \
textaligny 16 \
forecolor COLOR_DESC_TEXT \
visible visArg \
autowrapped \
decoration \
}
#define CHOICE_DVARENUMLIST( itemIndex, textArg, dvarArg, dvarListArg, actionArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_DVARENUM, dvarEnumList dvarListArg, actionArg, 1 )
#define CHOICE_DVARENUMLIST_VIS( itemIndex, textArg, dvarArg, dvarListArg, actionArg, visArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_DVARENUM, dvarEnumList dvarListArg, actionArg, visArg )
#define CHOICE_DVARSTRINGLIST( itemIndex, textArg, dvarArg, strListArg, actionArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_MULTI, dvarStrList strListArg, actionArg, 1 )
#define CHOICE_DVARSTRINGLIST_VIS( itemIndex, textArg, dvarArg, strListArg, actionArg, visArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_MULTI, dvarStrList strListArg, actionArg, visArg )
#define CHOICE_DVARFLOATLIST( itemIndex, textArg, dvarArg, strListArg, actionArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_MULTI, dvarFloatList strListArg, actionArg, 1 )
#define CHOICE_DVARFLOATLIST_VIS( itemIndex, textArg, dvarArg, strListArg, actionArg, visArg ) \
CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_MULTI, dvarFloatList strListArg, actionArg, visArg )
#define CHOICE_DVARFLOATLIST_FOCUS_VIS( itemIndex, textArg, dvarArg, strListArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_DVARLIST_FOCUS_VIS( itemIndex, textArg, dvarArg, ITEM_TYPE_MULTI, dvarFloatList strListArg, actionArg, onFocusArg, leaveFocusArg, visArg )
#define CHOICE_DVARLIST_VIS( itemIndex, textArg, dvarArg, listTypeArg, listArg, actionArg, visArg ) \
CHOICE_DVARLIST_FOCUS_VIS( itemIndex, textArg, dvarArg, listTypeArg, listArg, actionArg, ;, ;, visArg )
#define CHOICE_DVARLIST_FOCUS_VIS( itemIndex, textArg, dvarArg, listTypeArg, listArg, actionArg, onFocusArg, leaveFocusArg, visArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type listTypeArg \
dvar dvarArg \
listArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign CHOICE_DVAR_TEXTALIGN \
textalignx CHOICE_DVAR_OFFSET_X \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg ; \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, onFocusArg, leaveFocusArg ) \
}
#define CHOICE_DDVAR_VIS( itemIndex, textArg, dvarArg, visArg ) \
CHOICE_BUTTON_BG_RAW( itemIndex, "menu_button_backing", BUTTON_BG_COLOR, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
exp text( textArg ); \
rect CHOICE_RECT( itemIndex ) \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
} \
itemDef \
{ \
type ITEM_TYPE_TEXT \
dvar dvarArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textAlign CHOICE_DVAR_TEXTALIGN \
textAlignX CHOICE_DVAR_OFFSET_X \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
}
#define CHOICE_DDVARALTTEXT_VIS( itemIndex, textArg, textArg1, visArg ) \
CHOICE_BUTTON_BG_RAW( itemIndex, "menu_button_backing", BUTTON_BG_COLOR, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
exp text( textArg ); \
rect CHOICE_RECT( itemIndex ) \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
} \
itemDef \
{ \
type ITEM_TYPE_TEXT \
exp text( textArg1 ) \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textAlign CHOICE_DVAR_TEXTALIGN \
textAlignX CHOICE_DVAR_OFFSET_X \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
}
#define CHOICE_STATUS_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textalign ITEM_ALIGN_MIDDLE_RIGHT \
textalignx (0 - CHOICE_TEXT_OFFSET_X) \
textscale CHOICE_TEXTSIZE \
style WINDOW_STYLE_FILLED \
forecolor colorArg \
visible visArg ; \
decoration \
}
#define CHOICE_NEWICON_VIS( itemIndex, imageArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (CHOICE_X( itemIndex ) + CHOICE_SIZE_X + NEW_X_OFFSET ) (CHOICE_Y( itemIndex )+2+NEW_Y_OFFSET) (CHOICE_SIZE_Y*2) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp material( imageArg ) \
visible visArg ; \
decoration \
}
#define CHOICE_COLLECTIBLEICON_VIS( itemIndex, imageArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (CHOICE_X( itemIndex ) - CHOICE_SIZE_Y ) CHOICE_Y( itemIndex ) CHOICE_SIZE_Y CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp material( imageArg ) \
visible visArg ; \
decoration \
}
#define CHOICE_LOCKEDICON_VIS( itemIndex, imageArg, visArg ) \
itemDef \
{ \
style WINDOW_STYLE_SHADER \
rect (CHOICE_X( itemIndex ) + CHOICE_SIZE_X + NEW_X_OFFSET ) (CHOICE_Y( itemIndex )+2+NEW_Y_OFFSET) 12 12 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp material( imageArg ) \
visible visArg ; \
decoration \
}
#define CHOICE_LEFTITEM_VIS( itemIndex, textArg, colorArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect (CHOICE_X( itemIndex ) - CHOICE_SIDEITEM_SIZE_X - CHOICE_SIDEITEM_SPACING) CHOICE_Y( itemIndex ) CHOICE_SIDEITEM_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text( textArg ); \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor colorArg \
visible visArg ; \
decoration \
}
#define CHOICE_DLEFTBUTTON_VIS( itemIndex, textArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect (CHOICE_X( itemIndex ) - CHOICE_SIDEITEM_SIZE_X - CHOICE_SIDEITEM_SPACING) CHOICE_Y( itemIndex ) CHOICE_SIDEITEM_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
textAlign ITEM_ALIGN_MIDDLE_LEFT \
forecolor CHOICE_TEXTCOLOR_DISABLED \
visible visArg \
decoration \
} \
#define CHOICE_LEFTITEM2_VIS( itemIndex, textArg, colorArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect (CHOICE_X( itemIndex ) - CHOICE_SIDEITEM_SIZE_X - CHOICE_SIDEITEM_SPACING - 45) CHOICE_Y( itemIndex ) CHOICE_SIDEITEM_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text( textArg ); \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor colorArg \
visible visArg ; \
decoration \
}
#define CHOICE_RIGHTITEM_VIS( itemIndex, textArg, colorArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect (CHOICE_X( itemIndex ) + CHOICE_SIDEITEM_SIZE_X + CHOICE_SIDEITEM_SPACING) CHOICE_Y( itemIndex ) CHOICE_SIDEITEM_SIZE_X CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
exp text( textArg ); \
textalign ITEM_ALIGN_MIDDLE_RIGHT \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor colorArg \
visible visArg ; \
decoration \
}
#define CHOICE_DVAREDIT_NUMERIC( itemIndex, textArg, dvarArg, max_chars, actionArg ) \
CHOICE_DVAREDIT_NUMERIC_VIS( itemIndex, textArg, dvarArg, max_chars, actionArg, 1 )
#define CHOICE_DVAREDIT_NUMERIC_VIS( itemIndex, textArg, dvarArg, max_chars, actionArg, visArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_NUMERICFIELD \
text " " \
dvar dvarArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+8) /*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
maxChars max_chars \
CHOICE_SCRIPTS_ACTION( itemIndex, actionArg ) \
}
#define CHOICE_DVAREDIT( itemIndex, textArg, dvarArg, actionArg ) \
CHOICE_DVAREDIT_VIS( itemIndex, textArg, dvarArg, 31, 18, actionArg, 1 )
#define CHOICE_DVAREDIT_VIS( itemIndex, textArg, dvarArg, max_chars, max_paintchars, actionArg, visArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_EDITFIELD \
text " " \
dvar dvarArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+8) /*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
maxChars max_chars \
maxpaintchars max_paintchars \
CHOICE_SCRIPTS_ACTION( itemIndex, actionArg ) \
}
#define CHOICE_DVARSLIDER( itemIndex, textArg, dvarArg, defaultArg, minArg, maxArg, actionArg ) \
CHOICE_DVARSLIDER_VIS( itemIndex, textArg, dvarArg, defaultArg, minArg, maxArg, actionArg, 1 )
#define CHOICE_DVARSLIDER_VIS( itemIndex, textArg, dvarArg, defaultArg, minArg, maxArg, actionArg, visArg ) \
CHOICE_DVARSLIDER_VIS_EX( itemIndex, textArg, dvarArg, defaultArg, minArg, maxArg, actionArg, ;, 1 )
#define CHOICE_DVARSLIDER_VIS_EX( itemIndex, textArg, dvarArg, defaultArg, minArg, maxArg, actionArg, extraArg, visArg ) \
CHOICE_CAPTION( itemIndex, textArg ) \
itemDef \
{ \
type ITEM_TYPE_SLIDER \
dvarfloat dvarArg defaultArg minArg maxArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20) /*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
extraArg \
CHOICE_SCRIPTS_ACTION( itemIndex, actionArg ) \
}
#define CHOICE_DVARYESNO( itemIndex, textArg, dvarArg, actionArg ) \
CHOICE_DVARYESNO_VIS( itemIndex, textArg, dvarArg, actionArg, 1 )
#define CHOICE_DVARYESNO_VIS( itemIndex, textArg, dvarArg, actionArg, visArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_YESNO \
dvar dvarArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+CHOICE_DVAR_WIDTH_OFFSET) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20)/*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
CHOICE_SCRIPTS_ACTION( itemIndex, actionArg ) \
}
#define CHOICE_BIND( itemIndex, textArg, cmdArg, actionArg ) \
CHOICE_BIND_VIS( itemIndex, textArg, cmdArg, actionArg, 1, 1 )
#define CHOICE_BIND_VIS( itemIndex, textArg, cmdArg, actionArg, visArg, vis ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BIND \
dvar cmdArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+120) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20)/*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, show keyBindStatus, hide keyBindStatus ) \
}
#define CHOICE_BIND2( itemIndex, textArg, cmdArg, actionArg ) \
CHOICE_BIND2_VIS( itemIndex, textArg, cmdArg, actionArg, 1 )
#define CHOICE_BIND2_VIS( itemIndex, textArg, cmdArg, actionArg, visArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BIND2 \
dvar cmdArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+120) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20)/*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible visArg \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, show keyBindStatus, hide keyBindStatus ) \
}
#define CHOICE_BIND3( itemIndex, textArg, cmdArg, actionArg ) \
CHOICE_BIND3_VIS( itemIndex, textArg, cmdArg, actionArg, 1, 1 )
#define CHOICE_BIND3_VIS( itemIndex, textArg, cmdArg, actionArg, visArg, vis ) \
CHOICE_CAPTION_VIS22( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BIND \
dvar cmdArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+120) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20)/*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible when(dvarInt("sub_menu") == 2 ); \ \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, show keyBindStatus, hide keyBindStatus ) \
}
#define CHOICE_CAPTION_VIS22( itemIndex, textArg, visArg ) \
CHOICE_CAPTION22_COLOR_VIS( itemIndex, textArg, CHOICE_TEXTCOLOR_CAPT, visArg )
#define CHOICE_CAPTION22_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor colorArg \
visible when(dvarInt("sub_menu") == 2 ); \
decoration \
}
#define CHOICE_BIND4( itemIndex, textArg, cmdArg, actionArg ) \
CHOICE_BIND4_VIS( itemIndex, textArg, cmdArg, actionArg, 1, 1 )
#define CHOICE_BIND4_VIS( itemIndex, textArg, cmdArg, actionArg, visArg, vis ) \
CHOICE_CAPTION_VIS44( itemIndex, textArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BIND \
dvar cmdArg \
rect CHOICE_ORIGIN( itemIndex ) (CHOICE_SIZE_X+120) CHOICE_SIZE_Y CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
textalign ITEM_ALIGN_MIDDLE_LEFT \
textalignx (CHOICE_SIZE_X+20)/*(-(CHOICE_TEXT_OFFSET_X))*/ \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
style WINDOW_STYLE_FILLED \
forecolor CHOICE_TEXTCOLOR \
visible when(dvarInt("sub_menu") == 1 ); \ \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, show keyBindStatus, hide keyBindStatus ) \
}
#define CHOICE_CAPTION_VIS44( itemIndex, textArg, visArg ) \
CHOICE_CAPTION44_COLOR_VIS( itemIndex, textArg, CHOICE_TEXTCOLOR_CAPT, visArg )
#define CHOICE_CAPTION44_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor colorArg \
visible when(dvarInt("sub_menu") == 1 ); \
decoration \
}
#define CHOICE_CAPTION( itemIndex, textArg ) \
CHOICE_CAPTION_VIS( itemIndex, textArg, 1 )
#define CHOICE_CAPTION_COLOR( itemIndex, textArg, colorArg ) \
CHOICE_CAPTION_COLOR_VIS( itemIndex, textArg, colorArg, 1 )
#define CHOICE_CAPTION_VIS( itemIndex, textArg, visArg ) \
CHOICE_CAPTION_COLOR_VIS( itemIndex, textArg, CHOICE_TEXTCOLOR_CAPT, visArg )
#define CHOICE_CAPTION_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor colorArg \
visible visArg \
decoration \
}
#define CHOICE_TEXT_VIS( itemIndex, textArg, colorArg, visArg ) \
CHOICE_BUTTON_BG( itemIndex, visArg ) \
CHOICE_HIGHLIGHT( itemIndex, 1 ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign CHOICE_TEXTALIGN \
textAlignX CHOICE_TEXT_OFFSET_X \
forecolor colorArg \
visible visArg \
decoration \
}
#define CHOICE_SUBTEXT_COLOR_VIS( itemIndex, textArg, colorArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect CHOICE_RECT( itemIndex ) \
exp text( textArg ); \
textfont CHOICE_TEXTFONT \
textscale CHOICE_TEXTSIZE \
textstyle CHOICE_TEXTSTYLE \
textAlign ITEM_ALIGN_MIDDLE_LEFT \
forecolor colorArg \
visible visArg \
decoration \
}
#define CHOICE_SCRIPTS_ACTION( itemIndex, actionArg ) \
CHOICE_SCRIPTS_ALL( itemIndex, actionArg, ;, ; )
#define CHOICE_SCRIPTS_ALL( itemIndex, actionArg, onFocusArg, leaveFocusArg ) \
onFocus \
{ \
setLocalVarInt ui_highlight itemIndex; \
setLocalVarString ui_choicegroup CHOICE_GROUP; \
play CHOICE_FOCUS_SOUND setdvar vile_on_1 itemIndex; \
setdvar spin 0; \
onFocusArg \
} \
leaveFocus \
{ \
setLocalVarInt ui_highlight 0 setdvar bind_on_1 0; \
setdvar spin 0; \
leaveFocusArg \
} \
action \
{ \
play CHOICE_ACTION_SOUND ; \
actionArg; \
}
#define CHOICE_APPLY( textArg, actionArg ) \
CHOICE_APPLY_VIS( textArg, actionArg, 1 )
#define CHOICE_APPLY_VIS( textArg, actionArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect 430 422 100 16 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
text textArg \
textfont UI_FONT_NORMAL \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
textAlign ITEM_ALIGN_MIDDLE_CENTER \
forecolor COLOR_FOCUSED \
visible visArg ; \
action \
{ \
play "mouse_click"; \
actionArg; \
} \
}
#define CHOICE_BACK( textArg, actionArg ) \
CHOICE_BACK_VIS( textArg, actionArg, 1 )
#define CHOICE_BACK_VIS( textArg, actionArg, visArg ) \
itemDef \
{ \
type ITEM_TYPE_BUTTON \
rect 270 422 100 16 CHOICE_HORIZONTAL_ALIGN CHOICE_VERTICAL_ALIGN \
text textArg \
textfont UI_FONT_NORMAL \
textscale CHOICE_TEXTSIZE \
textstyle ITEM_TEXTSTYLE_SHADOWED \
textAlign ITEM_ALIGN_MIDDLE_CENTER \
forecolor COLOR_FOCUSED \
visible visArg ; \
action \
{ \
play "mouse_click"; \
actionArg; \
} \
}
#define CHOICE_FOOTNOTE( textArg, x, y ) \
CHOICE_FOOTNOTE_VIS( textArg, x, y, 1 )
#define CHOICE_FOOTNOTE_VIS( textArg, x, y, visArg ) \
itemDef \
{ \
text textArg \
rect FOOTNOTE_RECT( x, y ) \
autowrapped \
textfont CHOICE_TEXTFONT \
textscale TEXTSIZE_SMALL \
textstyle ITEM_TEXTSTYLE_SHADOWED \
textalign ITEM_ALIGN_TOP_LEFT \
visible visArg \
decoration \
}
#define CHOICE_KEYBINDHELP \
itemDef \
{ \
name keyBindStatus \
rect -190 -8 300 20 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_BOTTOM \
ownerdraw UI_KEYBINDSTATUS \
textstyle ITEM_TEXTSTYLE_SHADOWED \
style WINDOW_STYLE_FILLED \
backcolor 0 0 0 0 \
forecolor .9 .9 .9 1 \
border 0 \
bordercolor .5 .5 .5 .5 \
textscale TEXTSIZE_SMALL \
textalign ITEM_ALIGN_MIDDLE_LEFT \
visible 0 \
decoration \
}
#define COLUMN_TITLE_X 100
#define COLUMN_TITLE_Y (111+21)
#define LEADERBOARD_COL_TITLE( porgin, ptext, palign ) \
LEADERBOARD_COL_TITLE_VIS( porgin, ptext, palign, 1 )
#define LEADERBOARD_COL_TITLE_VIS( porgin, ptext, palign, visArg ) \
itemDef \
{ \
type ITEM_TYPE_TEXT \
origin porgin \
text ptext \
textscale TEXTSIZE_SMALL \
textfont UI_FONT_NORMAL \
textalign palign \
forecolor 1 1 1 1 \
visible visArg \
decoration \
}
wow nice mod
Double Post Merge: February 24, 2018, 01:20:32 pm
btw how u install this ?