Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
814 lines
26 KiB
Plaintext
814 lines
26 KiB
Plaintext
//************************
|
|
//MW4 Mission Const Include File 4/8
|
|
//------------------------
|
|
|
|
//----------------
|
|
// Alignments
|
|
//----------------
|
|
ENEMY_ALIGNMENT = 2;
|
|
NEUTRAL_ALIGNMENT = 0;
|
|
FRIENDLY_ALIGNMENT = 1;
|
|
|
|
ENEMY = 2;
|
|
NEUTRAL = 0;
|
|
FRIENDLY = 1;
|
|
|
|
//----------------
|
|
// Units
|
|
//----------------
|
|
ME = -1;
|
|
NO_UNIT = -2;
|
|
|
|
//----------------
|
|
// Teams
|
|
//----------------
|
|
NO_TEAM = 8;
|
|
|
|
//----------------
|
|
// Timers
|
|
//----------------
|
|
gti_TIMER_0 = 0 ;
|
|
gti_TIMER_1 = 1 ;
|
|
gti_TIMER_2 = 2 ;
|
|
gti_TIMER_3 = 3 ;
|
|
gti_TIMER_4 = 4 ;
|
|
gti_TIMER_5 = 5 ;
|
|
gti_TIMER_6 = 6 ;
|
|
gti_TIMER_7 = 7 ;
|
|
gti_TIMER_8 = 8 ;
|
|
gti_TIMER_9 = 9 ;
|
|
gti_TIMER_10 = 10;
|
|
gti_TIMER_11 = 11;
|
|
gti_TIMER_12 = 12;
|
|
gti_TIMER_13 = 13;
|
|
gti_TIMER_14 = 14;
|
|
gti_TIMER_15 = 15;
|
|
gti_TIMER_16 = 16;
|
|
gti_TIMER_17 = 17;
|
|
gti_TIMER_18 = 18;
|
|
gti_TIMER_19 = 19;
|
|
gti_TIMER_20 = 20;
|
|
gti_TIMER_21 = 21;
|
|
gti_TIMER_22 = 22;
|
|
gti_TIMER_23 = 23;
|
|
gti_TIMER_24 = 24;
|
|
gti_TIMER_25 = 25;
|
|
gti_TIMER_26 = 26;
|
|
gti_TIMER_27 = 27;
|
|
gti_TIMER_28 = 28;
|
|
gti_TIMER_29 = 29;
|
|
gti_TIMER_30 = 30;
|
|
gti_TIMER_31 = 31;
|
|
|
|
|
|
//----------------
|
|
// Moods
|
|
// NOTE: The keywords and constants here must exactly match those in AI_Moods.hpp
|
|
// NOTE: "_START" indicates the low range of a mood; "_END" indicates the high range of a mood
|
|
//----------------
|
|
|
|
DESPERATE_START = 1;
|
|
DESPERATE_END = 2;
|
|
DEFENSIVE_START = 3;
|
|
DEFENSIVE_END = 4;
|
|
NEUTRAL_START = 5;
|
|
NEUTRAL_END = 6;
|
|
AGRESSIVE_START = 7;
|
|
AGRESSIVE_END = 8;
|
|
BRUTAL_START = 9;
|
|
BRUTAL_END = 10;
|
|
|
|
//----------------
|
|
// Paths
|
|
//----------------
|
|
|
|
MOVE_NOCYCLE = 1;
|
|
MOVE_CIRCLE = 2;
|
|
MOVE_SEESAW = 3;
|
|
|
|
//----------------
|
|
// FA_*: FindObject() Alignment Criteria
|
|
// NOTE: These can be combined arbitrarily by adding them together as desired.
|
|
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
|
|
//----------------
|
|
|
|
FA_FRIENDLY = 1; // include friendly units
|
|
FA_ENEMY = 2; // include enemy units
|
|
FA_NEUTRAL = 4; // include neutral units
|
|
FA_ANY = 7; // include any units: = FA_FRIENDLY + FA_ENEMY + FA_NEUTRAL
|
|
|
|
//----------------
|
|
// FT_*: FindObject() Type Criteria
|
|
// NOTE: These can be combined arbitrarily by adding them together as desired.
|
|
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
|
|
//----------------
|
|
|
|
FT_VEHICLE = 1; // if specified, include vehicles
|
|
FT_MECH = 2; // if specified, include 'Mechs
|
|
FT_AIRPLANE = 4; // if specified, include airplanes + helicopters
|
|
FT_BOAT = 8; // if specified, include boats
|
|
FT_MFB = 16; // if specified, include MFBs
|
|
FT_TURRET = 32; // if specified, include turrets
|
|
|
|
// the default:
|
|
FT_DEFAULT = 63; // include any units: = FT_VEHICLE + FT_MECH + FT_AIRPLANE + FT_BOAT + FT_MFB + FT_HOVER + FT_HELI + FT_BUILDING
|
|
|
|
// extras not included in the default
|
|
FT_BUILDING = 64; // if specified, take buildings into account (NOTE: ONLY BUILDINGS WITH "PLAYER" OR "ENEMY" ALIGNMENT WILL BE COUNTED HERE -- NEUTRAL BUILDINGS ARE ALWAYS IGNORED!!!)
|
|
FT_UNARMED = 128; // if specified, include unarmed units (such as APCs)
|
|
|
|
//----------------
|
|
// FC_*: FindObject() Search Criteria
|
|
// NOTE: You cannot add these constants; you can use only one.
|
|
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
|
|
//----------------
|
|
|
|
FC_BEST_TARGET = 1001; // find the "best target" based on multiple factors
|
|
// Currently, this is (0.45 * distance) + (0.35 * damage) +
|
|
// (0.2 * tonnage), but will become (0.4 * distance) +
|
|
// (0.3 * damage) + (0.2 * weapons) + (0.1 * tonnage)
|
|
// when we can query weapons' values for these attributes.
|
|
// The most desirable target is the one which is nearest, most
|
|
// badly damaged, largest, and has the most weapons.
|
|
|
|
FC_GREATEST_THREAT = 1002; // find the greatest immediate threat
|
|
// currently, this is (0.6 * distance) + (0.4 * tonnage),
|
|
// but "tonnage" will be replaced with "weapons" eventually.
|
|
|
|
FC_LEAST_THREAT = 1003; // find the least immediate threat
|
|
// Each vehicle evaluates to 1 - (its score for FQ_GREATEST_THREAT).
|
|
|
|
FC_MOST_DAMAGED = 1004; // find the most damaged object
|
|
// This is (1.0 * damage).
|
|
|
|
FC_NEAREST = 1005; // find the nearest object
|
|
// This is (1.0 * distance).
|
|
|
|
//----------------
|
|
// FF_*: FindObject() Flags
|
|
// NOTE: You can add these together to combine them, or specify 0 for none.
|
|
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
|
|
//----------------
|
|
|
|
FF_WHO_SHOT = 1; // if specified and someone shot me, return that object, overriding anything else
|
|
FF_SEEPLAYER = 2; // if specified, we can also see the player if within fog radius and if we're facing toward him
|
|
FF_LOOK_EVERYWHERE = 4; // if specified, we look through every potential enemy in the whole mission
|
|
// WARNING -- THIS CAN BE VERY EXPENSIVE!!! Use only on small, limited maps!
|
|
FF_TARGETLOS = 8; // if specified, will NOT return a target that is out of LOS
|
|
|
|
//----------------
|
|
// Tactics
|
|
// NOTE: The keywords and constants here must exactly match those in AI_Tactics.hpp
|
|
//----------------
|
|
|
|
TACTIC_PICK_BEST = 2000;
|
|
// Tells the Combat AI to pick the best tactic. This is the same as a generic OrderAttack().
|
|
|
|
TACTIC_STOP_AND_FIRE = 2001;
|
|
// Approach the targeted enemy to close range. Attempt to fire continuously at all times on approach and arrival.
|
|
|
|
TACTIC_RAM = 2002;
|
|
// Head toward the targeted enemy at all times while firing.
|
|
|
|
TACTIC_JOUST = 2003;
|
|
// Not yet implemented.
|
|
|
|
TACTIC_RUSH = 2004;
|
|
// Attempt to stay within close range of the enemy at all times and maneuver at a close range. Always fire.
|
|
|
|
TACTIC_HIT_AND_RUN = 2005;
|
|
// Approach the enemy, run away to a distant range, and repeat. Always fire.
|
|
|
|
TACTIC_FRONT = 2006;
|
|
// Attempt to stay in front of the enemy at all times. Always fire.
|
|
|
|
TACTIC_REAR = 2007;
|
|
// Attempt to stay several meters behind the enemy's back at all times. Always fire.
|
|
|
|
TACTIC_CIRCLE_OF_DEATH = 2008;
|
|
TACTIC_CIRCLE = 2008; // alternate name
|
|
// Attempt to circle around the enemy. Always fire.
|
|
|
|
TACTIC_BACK_UP_AND_FIRE = 2009;
|
|
// Flee the enemy while walking backwards to long weapons range. Always fire.
|
|
|
|
TACTIC_RETREAT = 2010;
|
|
// Flee the enemy. Do not fire.
|
|
|
|
TACTIC_CIRCLE_HOVER = 2011;
|
|
// Intended for helicopters. Hover in a circle around the enemy.
|
|
|
|
TACTIC_STRAFE = 2012;
|
|
// Intended for Shilone bombers. Strafe directly over the enemy.
|
|
|
|
TACTIC_STAND_GROUND = 2013;
|
|
// Hold still and fire at the target.
|
|
|
|
TACTIC_JUMP_AND_SHOOT = 2014;
|
|
// Stay in one place, and if the enemy is in range, jump over the nearby obstacles and shoot it.
|
|
// Similar to TACTIC_AMBUSH, this tactic is automatically quit if the target can see the AI unit
|
|
// (i.e. it has a clear line of sight to the unit) when the AI unit is standing on the ground.
|
|
|
|
TACTIC_SNIPE = 2015;
|
|
// Stay at maximum weapons range from the enemy. Wander around a bit to make yourself harder to hit.
|
|
// Fire at the enemy. Give up & switch to a new tactic if you can't fire after a certain amount of time.
|
|
|
|
TACTIC_SHOOT_ONLY = 2016;
|
|
// Only shoot; don't try to move under any circumstances. This is the ONLY tactic turrets can use.
|
|
|
|
TACTIC_DEFEND = 2017;
|
|
// Defend the current target from any potential enemies.
|
|
|
|
TACTIC_LOCAL_PATROL = 2018;
|
|
// Similar to TACTIC_STAND_GROUND, but the mech patrols randomly in a small area
|
|
|
|
TACTIC_SURRENDER = 2019;
|
|
// Stop, pitch torso down, put both arms up, and hold fire.
|
|
|
|
TACTIC_AMBUSH = 2020;
|
|
// Rush forward from behind your hiding place, fire, and walk backwards to the same spot again.
|
|
// Like TACTIC_JUMP_AND_SHOOT, this tactic is automatically quit if the target can see the AI unit
|
|
// (i.e. it has a clear line of sight to the unit) when the AI unit is standing in its hiding place
|
|
// (i.e. the spot where it was first given the attack order with this tactic).
|
|
|
|
TACTIC_DEATH_FROM_ABOVE = 2021;
|
|
TACTIC_DFA = 2021;
|
|
// Shoot whenever possible, and try to use jump jets to kick the target in the face.
|
|
// This will only ever be assigned to mechs with jump jets
|
|
// (or assigned explicitly by a designer -- make sure it is a mech that has jump jets!).
|
|
|
|
TACTIC_HELI_POPUP = 2022;
|
|
// For helicopters only ... will pop up and down over hills.
|
|
|
|
TACTIC_DIVE_BOMB = 2023;
|
|
// will dive-bomb the target (Nightshades and Peregrines only)
|
|
|
|
TACTIC_FAST_CIRCLE = 2024;
|
|
// Like Circle of Death, but only moves forwards, and tries to avoid stopping
|
|
|
|
TACTIC_STARE = 2025;
|
|
// Stand and stare evilly
|
|
|
|
//----------------
|
|
// Group AIs
|
|
// NOTE: The keywords and constants here must exactly match those in AI_Squad.hpp
|
|
//----------------
|
|
|
|
GROUPAI_NONE = 4000;
|
|
// No group AI.
|
|
|
|
GROUPAI_LANCEMATE = 4001;
|
|
// Uses lancemate AI -- all vehicles after the first are considered lancemates of the first.
|
|
|
|
GROUPAI_RADIOSQUAD = 4002;
|
|
// Serves no purpose other than to propagate IsShot() notifications through all members of the group
|
|
|
|
GROUPAI_MOODSQUAD = 4003;
|
|
// Same as a "radio squad," but members' moods are shared -- i.e. there is a single "group mood" that is
|
|
// affected proportionally by anything that happens to any individual unit, and each unit responds
|
|
// according to this group mood.
|
|
|
|
GROUPAI_FOCUSFIRESQUAD = 4004;
|
|
// Same as a "radio squad", but members use auto-targeting (see ABL SetAutoTargeting()) to
|
|
// pick on the same target most of the time.
|
|
|
|
//----------------
|
|
// Lancemate Commands
|
|
// NOTE: The keywords and constants here must exactly match those in AI_LancemateCommands.hpp
|
|
//----------------
|
|
|
|
LANCEMATE_DEFAULT = 5000; // default = no order
|
|
LANCEMATE_ATTACKPLAYERSTARGET = 5001;
|
|
LANCEMATE_DEFENDPLAYERSTARGET = 5002;
|
|
LANCEMATE_FORMONME = 5003;
|
|
LANCEMATE_HOLDFIRE = 5004;
|
|
LANCEMATE_GOTOMYNAVPOINT = 5005;
|
|
LANCEMATE_STOP = 5006;
|
|
LANCEMATE_SHUTDOWN = 5007;
|
|
LANCEMATE_ATTACKNEARESTTHREAT = 5008;
|
|
LANCEMATE_REPAIRATNEARESTREPAIRBAY = 5009;
|
|
LANCEMATE_CAPTUREPLAYERSFLAG = 5010;
|
|
|
|
//----------------
|
|
// Formation Types
|
|
// NOTE: The keywords and constants here must exactly match those in move_formation.hpp
|
|
//----------------
|
|
|
|
FORMTYPE_SPARSE = 1;
|
|
FORMTYPE_NORMAL = 2;
|
|
FORMTYPE_DENSE = 3;
|
|
|
|
//----------------
|
|
// Objective Status
|
|
// NOTE: The keywords and constants here must exactly match those in objective.hpp
|
|
//----------------
|
|
|
|
OBJECTIVE_NEUTRAL = 2;
|
|
OBJECTIVE_SUCCEEDED = 1;
|
|
OBJECTIVE_FAILED = 0;
|
|
|
|
//----------------
|
|
// Difficulty Levels
|
|
// NOTE: The keywords and constants here must exactly match those in mwplayer.hpp
|
|
//----------------
|
|
|
|
EASY_DIFFICULTY = 0;
|
|
MEDIUM_DIFFICULTY = 1;
|
|
HARD_DIFFICULTY = 2;
|
|
IMPOSSIBLE_DIFFICULTY = 3;
|
|
|
|
//----------------
|
|
// Different players
|
|
//----------------
|
|
|
|
epl_player0 = 0;
|
|
epl_player1 = 1;
|
|
epl_player2 = 2;
|
|
epl_player3 = 3;
|
|
epl_player4 = 4;
|
|
epl_player5 = 5;
|
|
epl_player6 = 6;
|
|
epl_player7 = 7;
|
|
epl_player8 = 8;
|
|
epl_player9 = 9;
|
|
epl_player10 = 10;
|
|
epl_player11 = 11;
|
|
epl_player12 = 12;
|
|
epl_player13 = 13;
|
|
epl_player14 = 14;
|
|
epl_player15 = 15;
|
|
epl_player16 = 16;
|
|
epl_player17 = 17;
|
|
epl_player18 = 18;
|
|
epl_player19 = 19;
|
|
epl_player20 = 20;
|
|
epl_player21 = 21;
|
|
epl_player22 = 22;
|
|
epl_player23 = 23;
|
|
epl_player24 = 24;
|
|
epl_player25 = 25;
|
|
epl_player26 = 26;
|
|
epl_player27 = 27;
|
|
epl_player28 = 28;
|
|
epl_player29 = 29;
|
|
epl_player30 = 30;
|
|
epl_player31 = 31;
|
|
|
|
Bucket_KILL_LINK = 0;
|
|
Bucket_DEATH_LINK = 1;
|
|
Bucket_KILLS = 2; // How many kills I can take credit for
|
|
Bucket_FRIENDLY_KILLS = 3; // How many friendly-fire kills I've committed
|
|
Bucket_ENEMY_KILLS = 4; // How many enemies I've killed
|
|
Bucket_KILLS_BY_TONNAGE = 5; // Total tonnage of everyone I've killed
|
|
Bucket_FRIENDLY_KILLS_BY_TONNAGE = 6; // Total tonnage of all friendlies I've killed
|
|
Bucket_ENEMY_KILLS_BY_TONNAGE = 7; // Total tonnage of all enemies I've killed
|
|
Bucket_DEATHS = 8; // How many times I've died
|
|
Bucket_SUICIDES = 9; // How many times I killed myself
|
|
Bucket_DAMAGE_INFLICT = 10; // How much damage I've inflicted
|
|
Bucket_FRIENDLY_DAMAGE_INFLICT = 11; // How much damage I've inflicted on friendlies
|
|
Bucket_ENEMY_DAMAGE_INFLICT = 12; // How much damage I've inflicted on enemies
|
|
Bucket_DAMAGE_RECEIVE = 13; // How much damage I've received
|
|
Bucket_FRIENDLY_DAMAGE_RECEIVE = 14; // How much damage I've received from friendlies
|
|
Bucket_ENEMY_DAMAGE_RECEIVE = 15; // How much damage I've received from enemies
|
|
Bucket_COMPONENT_KILLS = 16; // How many components I've killed
|
|
Bucket_COMPONENT_DEATHS = 17; // How many components I've lost
|
|
Bucket_FRIENDLY_COMPONENT_KILLS = 18; // How many friendly units' components I've killed
|
|
Bucket_FRIENDLY_COMPONENT_DEATHS = 19; // How many components I've lost to friendly fire
|
|
Bucket_ENEMY_COMPONENT_KILLS = 20; // How many enemy units' components I've killed
|
|
Bucket_ENEMY_COMPONENT_DEATHS = 21; // How many components I've lost to enemy units
|
|
Bucket_DFA = 22; // How many times I've been able to pull off a Death From Above
|
|
Bucket_SHOTS_HIT = 23; // How many of my shots have hit
|
|
Bucket_SHOTS_FIRED = 24; // How many shots I've fired
|
|
Bucket_HEAD_SHOTS = 25; // How many of my shots have hit a 'Mech's head
|
|
Bucket_ARM_SHOTS = 26; // How many of my shots have hit a 'Mech's arm
|
|
Bucket_LEG_SHOTS = 27; // How many of my shots have hit a 'Mech's leg
|
|
Bucket_TORSO_SHOTS = 28; // How many of my shots have hit a 'Mech's torso
|
|
Bucket_KILLS_PC = 29;
|
|
Bucket_KILLS_AI = 30;
|
|
Bucket_BLANK = 31;
|
|
Bucket_SHUTDOWN_TIMER = 32;
|
|
Bucket_OBJECTIVE = 33; // How many seconds (total) I've remained within an objective area
|
|
Bucket_OBJECTIVE_CONTESTED = 34; // How many seconds (total) I've remained within an objective area with enemies in the same area
|
|
Bucket_OBJECTIVE_UNCONTESTED = 35; // How many seconds (total) I've remained within an objective area with no enemies in the same area
|
|
Bucket_FLAGS_TAKEN = 36; // How many flags I've picked up
|
|
Bucket_FLAGS_DROPPED = 37; // How many flags I've dropped due to dying while carrying the flag
|
|
Bucket_FLAGS_CAPTURED = 38; // How many flags I've successfully returned to my capture zone
|
|
Bucket_FLAG_HOLD_TIME = 39; // Total amount of time I've held any flags
|
|
Bucket_TIME = 40;
|
|
Bucket_ALIVE_PLAYERS = 41;
|
|
Bucket_DEAD_PLAYERS = 42;
|
|
Bucket_CUSTOM = 43;
|
|
Bucket_ENEMY_TURRET_KILLS = 44;
|
|
Bucket_FRIENDLY_TURRET_KILLS = 45;
|
|
Bucket_ENEMY_BUILDING_KILLS = 46;
|
|
Bucket_FRIENDLY_BUILDING_KILLS = 47;
|
|
|
|
Bucket_Team1 = -1;
|
|
Bucket_Team2 = -2;
|
|
Bucket_Team3 = -3;
|
|
Bucket_Team4 = -4;
|
|
Bucket_Team5 = -5;
|
|
Bucket_Team6 = -6;
|
|
Bucket_Team7 = -7;
|
|
Bucket_Team8 = -8;
|
|
|
|
Affects_Single = 0;
|
|
Affects_All = 1;
|
|
|
|
//----------------
|
|
// Game Parameter Flags (for GetGameParam())
|
|
// NOTE: these must EXACTLY match the constants in ABLXSTD.CPP!
|
|
//----------------
|
|
|
|
GameParam_heatOn = 0;
|
|
GameParam_killLimit = 1;
|
|
GameParam_killLimitNumber = 2;
|
|
GameParam_respawnLimit = 3;
|
|
GameParam_respawnLimitNumber = 4;
|
|
GameParam_forceRespawn = 5;
|
|
GameParam_splashOn = 6;
|
|
GameParam_weaponjamOn = 7;
|
|
GameParam_ammobayfireOn = 8;
|
|
GameParam_advancemodeOn = 9;
|
|
GameParam_armormodeOn = 10;
|
|
GameParam_splashPercentage = 11;
|
|
GameParam_unlimitedAmmo = 12;
|
|
GameParam_friendlyFirePercentage = 13;
|
|
GameParam_allowZoom = 14;
|
|
GameParam_allow3rdPerson = 15;
|
|
GameParam_allowAutoAim = 16;
|
|
GameParam_allowDeadToChat = 17;
|
|
GameParam_invulnerableDrop = 18;
|
|
GameParam_isNight = 19;
|
|
GameParam_weather = 20;
|
|
GameParam_visibility = 21;
|
|
GameParam_reportStats = 22;
|
|
GameParam_serverConnection = 23;
|
|
GameParam_serverBandwidth = 24;
|
|
GameParam_onlyStockMech = 25;
|
|
GameParam_minimumTonnage = 26;
|
|
GameParam_maximumTonnage = 27;
|
|
GameParam_gameLength = 28;
|
|
GameParam_serverRecycle = 29;
|
|
GameParam_recycleDelay = 30;
|
|
GameParam_playMissionReview = 31;
|
|
GameParam_ruleType = 32;
|
|
GameParam_deadMechCantSee = 33;
|
|
GameParam_deadMechCantSeeOtherTeam = 34;
|
|
GameParam_allowdecaltransfer = 35;
|
|
GameParam_useMapCycle = 36;
|
|
GameParam_pureMapCycle = 37;
|
|
GameParam_teamAllowed = 38;
|
|
GameParam_teamCount = 39;
|
|
GameParam_closedGame = 40;
|
|
GameParam_playerLimit = 41;
|
|
|
|
//----------------
|
|
// Mech type constants (for GetMechType())
|
|
// NOTE: these must EXACTLY match the constants in MechLabHeaders.h!
|
|
//----------------
|
|
// MSL ADD MECH
|
|
|
|
FirstMechID = 0 ;
|
|
M_Annihilator = 0 ;
|
|
M_Archer = 1 ;
|
|
M_ArcticWolf = 2 ;
|
|
M_Ares = 3 ;
|
|
M_Argus = 4 ;
|
|
M_Assassin2 = 5 ;
|
|
M_Atlas = 6 ;
|
|
M_Avatar = 7 ;
|
|
M_Awesome = 8 ;
|
|
M_Battlemaster = 9 ;
|
|
M_Battlemasteriic = 10 ;
|
|
M_Behemoth = 11 ;
|
|
M_BehemothII = 12 ;
|
|
M_Blackhawk = 13 ;
|
|
M_BlackKnight = 14 ;
|
|
M_Blacklanner = 15 ;
|
|
M_Brigand = 16 ;
|
|
M_Bushwacker = 17 ;
|
|
M_Catapult = 18 ;
|
|
M_CauldronBorn = 19 ;
|
|
M_Chimera = 20 ;
|
|
M_Commando = 21 ;
|
|
M_Cougar = 22 ;
|
|
M_Cyclops = 23 ;
|
|
M_Daishi = 24 ;
|
|
M_Deimos = 25 ;
|
|
M_Dragon = 26 ;
|
|
M_Fafnir = 27 ;
|
|
M_Flea = 28 ;
|
|
M_Gladiator = 29 ;
|
|
M_Grizzly = 30 ;
|
|
M_Hauptmann = 31 ;
|
|
M_Hellhound = 32 ;
|
|
M_Hellspawn = 33 ;
|
|
M_Highlander = 34 ;
|
|
M_HollanderII = 35 ;
|
|
M_Hunchback = 36 ;
|
|
M_Kodiak = 37 ;
|
|
M_Loki = 38 ;
|
|
M_Longbow = 39 ;
|
|
M_Madcat = 40 ;
|
|
M_Madcat_MKII = 41 ;
|
|
M_Masakari = 42 ;
|
|
M_Mauler = 43 ;
|
|
M_Novacat = 44 ;
|
|
M_Osiris = 45 ;
|
|
M_Owens = 46 ;
|
|
M_Puma = 47 ;
|
|
M_Raven = 48 ;
|
|
M_Rifleman = 49 ;
|
|
M_Ryoken = 50 ;
|
|
M_Shadowcat = 51 ;
|
|
M_Solitaire = 52 ;
|
|
M_Sunder = 53 ;
|
|
M_Templar = 54 ;
|
|
M_Thanatos = 55 ;
|
|
M_Thor = 56 ;
|
|
M_Uller = 57 ;
|
|
M_Urbanmech = 58 ;
|
|
M_Uziel = 59 ;
|
|
M_Victor = 60 ;
|
|
M_Vulture = 61 ;
|
|
M_Warhammer = 62 ;
|
|
M_Wolfhound = 63 ;
|
|
M_Zeus = 64 ;
|
|
LastMechID = 64 ;
|
|
NoMechID = 65 ;
|
|
|
|
//----------------
|
|
// SetFlagsEnabled() constants
|
|
// NOTE: these must EXACTLY match the constants in MWMission.hpp!
|
|
//----------------
|
|
|
|
FLAGS_HIDE = 0;
|
|
FLAGS_TEAM_ONLY = 1;
|
|
FLAGS_UNIVERSAL_ONLY = 2;
|
|
FLAGS_SHOW_ALL = 3;
|
|
|
|
//----------------
|
|
// GetViewMode()/SetViewMode() constants
|
|
//----------------
|
|
|
|
VIEW_OUTSIDE_CENTER = 0;
|
|
VIEW_OUTSIDE_RIGHT = 1;
|
|
VIEW_OUTSIDE_LEFT = 2;
|
|
VIEW_IN_MECH = 3;
|
|
|
|
//----------------
|
|
// Sensor Mode constants
|
|
// NOTE: these must match the constants in Sensor.hpp
|
|
//----------------
|
|
|
|
SENSOR_ACTIVE = 0;
|
|
SENSOR_PASSIVE = 1;
|
|
SENSOR_SHUTDOWN = 2;
|
|
|
|
//----------------
|
|
// Input Trainer constants
|
|
// NOTE: these must EXACTLY match the constants in InputTrainer.hpp!
|
|
//----------------
|
|
|
|
INPUT_NONE = 0;
|
|
|
|
INPUT_THROTTLE = 1;
|
|
INPUT_TURN = 2;
|
|
INPUT_TORSO = 4;
|
|
INPUT_FIRING = 8;
|
|
INPUT_VIEW_MODES = 16;
|
|
INPUT_TARGET_SELECTION = 32;
|
|
INPUT_ZOOM = 64;
|
|
INPUT_HEAT = 128;
|
|
INPUT_NAV_SWITCHING = 256;
|
|
INPUT_MISC = 32768;
|
|
|
|
INPUT_ALL = 65535;
|
|
|
|
//----------------
|
|
// HUD elements
|
|
// NOTE: The keywords and constants here must exactly match those in MWGUIManager.hpp!
|
|
//----------------
|
|
|
|
HUD_NAV = 0;
|
|
HUD_TARGETARROW = 1;
|
|
HUD_TORSOBAR = 2;
|
|
HUD_ZOOM = 3;
|
|
HUD_HEAT = 4;
|
|
HUD_COOLANT = 5;
|
|
HUD_JUMP = 6;
|
|
HUD_SPEED = 7;
|
|
HUD_DAMAGE = 8;
|
|
HUD_TARGETDAMAGE = 9;
|
|
HUD_WEAPON = 10;
|
|
HUD_RETICLE = 11;
|
|
HUD_RADAR = 12;
|
|
HUD_CHAT = 13;
|
|
HUD_COMM = 14;
|
|
HUD_HELP = 15;
|
|
HUD_MAP = 16;
|
|
HUD_OBJECTIVE = 17;
|
|
HUD_SCORE = 18;
|
|
HUD_TIMER = 19;
|
|
HUD_HELPARROW = 20;
|
|
|
|
//----------------
|
|
// Sound triggers
|
|
// NOTE: The keywords and constants here must exactly match those in VehicleInterface.hpp!
|
|
//----------------
|
|
|
|
SOUND_TRIGGER_CRITICAL_HIT_WEAPON = 0;
|
|
SOUND_TRIGGER_CRITICAL_HIT_GIMP = 1;
|
|
SOUND_TRIGGER_DAMAGE_CRITICAL = 2;
|
|
SOUND_TRIGGER_NO_HEAT = 3;
|
|
SOUND_TRIGGER_LOW_HEAT = 4;
|
|
SOUND_TRIGGER_MED_HEAT = 5;
|
|
SOUND_TRIGGER_HIGH_HEAT = 6;
|
|
SOUND_TRIGGER_MELTDOWN = 7;
|
|
SOUND_TRIGGER_AUTO_SHUTDOWN_OVERRIDE = 8;
|
|
SOUND_TRIGGER_SHUTDOWN = 9;
|
|
SOUND_TRIGGER_POWER_UP = 10;
|
|
SOUND_TRIGGER_MISSILE_LOCKED = 11;
|
|
SOUND_TRIGGER_MISSILE_LOCKLOST = 12;
|
|
SOUND_TRIGGER_MISSILE_LOCKED_ON_ME = 13;
|
|
SOUND_TRIGGER_RADAR_RANGE_CHANGE = 14;
|
|
SOUND_TRIGGER_RADAR_ON = 15;
|
|
SOUND_TRIGGER_RADAR_OFF = 16;
|
|
SOUND_TRIGGER_ZOOM_RETICAL_ENGAGED = 17;
|
|
SOUND_TRIGGER_AMS_ENGAGED = 18;
|
|
SOUND_TRIGGER_LAMS_ENGAGED = 19;
|
|
SOUND_TRIGGER_NARC_SIGNAL_START = 20;
|
|
SOUND_TRIGGER_NARC_HIT = 21;
|
|
SOUND_TRIGGER_NEW_VEHICLE_RADAR_POWER_UP = 22;
|
|
SOUND_TRIGGER_TORSO_TWIST = 23;
|
|
SOUND_TRIGGER_TORSO_TWIST_MAX_REACHED = 24;
|
|
SOUND_TRIGGER_RADAR_JAMMED = 25;
|
|
SOUND_TRIGGER_COOLANT_FLUSH_START = 26;
|
|
SOUND_TRIGGER_COOLANT_FLUSH_STOP = 27;
|
|
SOUND_TRIGGER_OUT_OF_AMMO = 28;
|
|
SOUND_TRIGGER_OBJECT_SCANNED = 29;
|
|
SOUND_TRIGGER_INTERNAL_PPC_WASH = 30;
|
|
SOUND_TRIGGER_HILL_TOO_STEEP = 31;
|
|
SOUND_TRIGGER_TARGET_DESTROYED = 32;
|
|
SOUND_TRIGGER_TERRAIN_BAD = 33;
|
|
SOUND_TRIGGER_NARC_SIGNAL_STOP = 34;
|
|
SOUND_TRIGGER_RECHARGE_BEAM = 35;
|
|
SOUND_TRIGGER_RECHARGE_MISSILE = 36;
|
|
SOUND_TRIGGER_RECHARGE_PROJECTILE = 37;
|
|
SOUND_TRIGGER_RECHARGE_PPC = 38;
|
|
SOUND_TRIGGER_STEP_WATER_START = 39;
|
|
SOUND_TRIGGER_STEP_WATER_STOP = 40;
|
|
SOUND_TRIGGER_ENGINE_WALK = 41;
|
|
SOUND_TRIGGER_ENGINE_RUN = 42;
|
|
SOUND_TRIGGER_ENGINE_STOP = 43;
|
|
SOUND_TRIGGER_ENGINE_REVERSE = 44;
|
|
SOUND_TRIGGER_NAVPOINT_REACHED = 45;
|
|
SOUND_TRIGGER_KILLAWARDED = 46;
|
|
SOUND_TRIGGER_FRIENDLYFIREPENALTY = 47;
|
|
SOUND_TRIGGER_YOUHAVEFLAG = 48;
|
|
SOUND_TRIGGER_YOUINLEAD = 49;
|
|
SOUND_TRIGGER_TEAMMATEDESTROYED = 50;
|
|
SOUND_TRIGGER_FLAGTAKEN = 51;
|
|
SOUND_TRIGGER_FLAGCAPTURED = 52;
|
|
SOUND_TRIGGER_FLAGCAPTUREDHORN = 53;
|
|
SOUND_TRIGGER_FLAGRETURNED = 54;
|
|
SOUND_TRIGGER_HILLCONTESTED = 55;
|
|
SOUND_TRIGGER_HILLCAPTURED = 56;
|
|
SOUND_TRIGGER_REPAIR_START = 57;
|
|
SOUND_TRIGGER_REPAIR_STOP = 58;
|
|
SOUND_TRIGGER_DEFENDEDDESTROYED = 59;
|
|
SOUND_TRIGGER_MECH_DESTROYED = 60;
|
|
SOUND_TRIGGER_ENEMY_DEAD = 61;
|
|
SOUND_TRIGGER_ALLY_DEAD = 62;
|
|
SOUND_TRIGGER_LANCE_DEAD = 63;
|
|
SOUND_TRIGGER_COMM_OFF = 64;
|
|
SOUND_TRIGGER_INIT_REPAIR = 65;
|
|
SOUND_TRIGGER_REPAIR_COMP = 66;
|
|
SOUND_TRIGGER_ENEMY_CAPTURED = 67;
|
|
SOUND_TRIGGER_NAV_ALPHA = 68;
|
|
SOUND_TRIGGER_NAV_BETA = 69;
|
|
SOUND_TRIGGER_NAV_GAMMA = 70;
|
|
SOUND_TRIGGER_NAV_DELTA = 71;
|
|
SOUND_TRIGGER_NAV_EPSL = 72;
|
|
SOUND_TRIGGER_EXTRACT_POINT = 73;
|
|
SOUND_TRIGGER_TEAM_DEAD = 74;
|
|
SOUND_TRIGGER_YOU_WIN = 75;
|
|
SOUND_TRIGGER_YOU_LOSE = 76;
|
|
SOUND_TRIGGER_VICTORY_BABY = 77;
|
|
SOUND_TRIGGER_ALL_HILLS = 78;
|
|
SOUND_TRIGGER_BASE_CAPTURED = 79;
|
|
SOUND_TRIGGER_COLISEUM_AHH = 80;
|
|
SOUND_TRIGGER_COLISEUM_AWW = 81;
|
|
SOUND_TRIGGER_COLISEUM_BOO1 = 82;
|
|
SOUND_TRIGGER_COLISEUM_BOO2 = 83;
|
|
SOUND_TRIGGER_COLISEUM_BOO3 = 84;
|
|
SOUND_TRIGGER_COLISEUM_CHANT1 = 85;
|
|
SOUND_TRIGGER_COLISEUM_CHANT3 = 86;
|
|
SOUND_TRIGGER_COLISEUM_CHEER1 = 87;
|
|
SOUND_TRIGGER_COLISEUM_CHEER2 = 88;
|
|
SOUND_TRIGGER_COLISEUM_CHEER3 = 89;
|
|
SOUND_TRIGGER_COLISEUM_CHEER4 = 90;
|
|
SOUND_TRIGGER_COLISEUM_CHEER5 = 91;
|
|
SOUND_TRIGGER_COLISEUM_CHEER8 = 92;
|
|
SOUND_TRIGGER_COLISEUM_CHEER9 = 93;
|
|
SOUND_TRIGGER_COLISEUM_CROWD1 = 94;
|
|
SOUND_TRIGGER_COLISEUM_CROWD2 = 95;
|
|
SOUND_TRIGGER_COLISEUM_ENERGYZAP = 96;
|
|
SOUND_TRIGGER_COLISEUM_HORN = 97;
|
|
SOUND_TRIGGER_COLISEUM_JEERS = 98;
|
|
SOUND_TRIGGER_COLISEUM_ROAR = 99;
|
|
SOUND_TRIGGER_COLISEUM_STADAMB = 100;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYHORN = 101;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYBANG = 102;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYBUZZ = 103;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYCLANG = 104;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYDRILL = 105;
|
|
SOUND_TRIGGER_COLISEUM_FACTORYSTEAM = 106;
|
|
SOUND_TRIGGER_COLISEUMAMB = 107;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEBIRD1 = 108;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEBIRD2 = 109;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEBIRD3 = 110;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEBIRD4 = 111;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEMONKEY1 = 112;
|
|
SOUND_TRIGGER_COLISEUM_JUNGLEMONKEY2 = 113;
|
|
SOUND_TRIGGER_TARGETATTACKED = 114;
|
|
SOUND_TRIGGER_TARGETDESTROYED = 115;
|
|
SOUND_TRIGGER_COMPONENT_DESTROYED = 116;
|
|
SOUND_TRIGGER_COMPDESTROYED = 117;
|
|
SOUND_TRIGGER_ZOOM_FAIL = 118;
|
|
SOUND_TRIGGER_MECH_AMMOBAY_FIRE = 119;
|
|
SOUND_TRIGGER_RETICULE_WASH = 120;
|
|
SOUND_TRIGGER_WEAPON_DESTROYED = 121;
|
|
SOUND_TRIGGER_AMMO_DUMPED = 122;
|
|
SOUND_TRIGGER_NO_WEAPON = 123;
|
|
SOUND_TRIGGER_FLAGCAPTUREDBUZZER = 124;
|
|
SOUND_TRIGGER_ALARM1 = 125;
|
|
SOUND_TRIGGER_ALARM2 = 126;
|
|
|
|
//----------------
|
|
// Talker IDs
|
|
// NOTE: The keywords and constants here must exactly match those in ablxstd.cpp
|
|
//----------------
|
|
|
|
TALKER_IAN = 0;
|
|
TALKER_RAT = 1;
|
|
TALKER_CAS = 2;
|
|
TALKER_GON = 3;
|
|
TALKER_JEN = 4;
|
|
TALKER_TER = 5;
|
|
TALKER_DAM = 6;
|
|
TALKER_RES = 7;
|
|
TALKER_65C = 8;
|
|
TALKER_EV1 = 9;
|
|
TALKER_EV2 = 10;
|
|
TALKER_SAL = 11;
|
|
TALKER_REC = 12;
|
|
TALKER_SUP = 13;
|
|
TALKER_FO1 = 14;
|
|
TALKER_FO2 = 15;
|
|
TALKER_FO3 = 16;
|
|
TALKER_FO4 = 17;
|
|
TALKER_FO5 = 18;
|
|
TALKER_FO6 = 19;
|
|
TALKER_PI1 = 20;
|
|
TALKER_PI2 = 21;
|
|
TALKER_PI3 = 22;
|
|
TALKER_PI4 = 23;
|
|
TALKER_ART = 24;
|
|
TALKER_SHE = 25;
|
|
TALKER_BD1 = 26;
|
|
TALKER_BD2 = 27;
|
|
TALKER_FOX = 28;
|
|
TALKER_KIL = 29;
|
|
TALKER_SGT = 30;
|
|
TALKER_ROM = 31;
|
|
TALKER_XRY = 32;
|
|
TALKER_CCG = 33;
|
|
TALKER_ERL = 34;
|
|
TALKER_PA1 = 35;
|
|
TALKER_PA2 = 36;
|
|
TALKER_PA3 = 37;
|
|
TALKER_PA4 = 38;
|
|
TALKER_BRV = 39;
|
|
TALKER_CHL = 40;
|
|
TALKER_DEN = 41;
|
|
TALKER_RCG = 42;
|
|
TALKER_VRD = 43;
|
|
TALKER_VOR = 44;
|
|
TALKER_HQ1 = 45;
|
|
TALKER_HQ2 = 46;
|
|
TALKER_HQ3 = 47;
|
|
TALKER_MED = 48;
|
|
TALKER_SFQ = 49;
|
|
TALKER_CJK = 50;
|
|
TALKER_ABC = 51;
|
|
TALKER_BRK = 52;
|
|
TALKER_CST = 53;
|
|
TALKER_ROL = 54;
|
|
TALKER_WIL = 55;
|
|
TALKER_EPS = 56;
|
|
TALKER_PET = 57;
|
|
TALKER_EP2 = 58;
|
|
TALKER_BET = 59;
|