#include "mechspecs.hpp" // MSL ADD MECH SMechSpec g_aMechSpecs[NoMechID] = { { DNL_ANNIHILATOR, 81, 100, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_ANNIHILATOR_INFO, }, // Annihilator { DNL_ARCHER, 80, 85, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_ARCHER_INFO, }, // Archer { DNL_ARCTICWOLF, 121, 40, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_ARCTICWOLF_INFO, }, // Arcticwolf { DNL_ARES, 97, 60, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_ARES_INFO, }, // Argus { DNL_ARGUS, 97, 60, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_ARGUS_INFO, }, // Argus { DNL_ASSASSIN2, 129, 45, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_ASSASSIN2_INFO, }, // Assassin2 { DNL_ATLAS, 81, 100, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_ATLAS_INFO, }, // Atlas { DNL_AVATAR, 105, 70, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_AVATAR_INFO, }, // Avatar { DNL_AWESOME, 95, 80, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_AWESOME_INFO, }, // Awesome { DNL_BATTLEMASTER, 81, 100, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_BATTLEMASTER_INFO, }, // Battlemaster { DNL_BATTLEMASTERIIC, 81, 100, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_BATTLEMASTERIIC_INFO, }, // Battlemasteriic { DNL_BEHEMOTH, 95, 100, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_BEHEMOTH_INFO, }, // Behemoth { DNL_BEHEMOTHII, 95, 100, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_BEHEMOTHII_INFO, }, // Behemothii { DNL_BLACKHAWK, 95, 50, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_BLACKHAWK_INFO, }, // Blackhawk { DNL_BLACKKNIGHT, 93, 75, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_BLACKKNIGHT_INFO, }, // Blackknight { DNL_BLACKLANNER, 93, 55, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_BLACKLANNER_INFO, }, // Blacklanner { DNL_BRIGAND, 106, 25, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_BRIGAND_INFO, }, // Brigand { DNL_BUSHWACKER, 106, 55, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_BUSHWACKER_INFO, }, // Bushwacker { DNL_CATAPULT, 104, 65, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_CATAPULT_INFO, }, // Catapult { DNL_CAULDRONBORN, 97, 65, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_CAULDRONBORN_INFO, }, // Cauldronborn { DNL_CHIMERA, 117, 40, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_CHIMERA_INFO, }, // Chimera { DNL_COMMANDO, 132, 25, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_COMMANDO_INFO, }, // Commando { DNL_COUGAR, 132, 35, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_COUGAR_INFO, }, // Cougar { DNL_CYCLOPS, 81, 90, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_CYCLOPS_INFO, }, // Cyclops { DNL_DAISHI, 76, 100, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_DAISHI_INFO, }, // Daishi // { DNL_DASHER, 132, 20, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_DASHER_INFO, }, // Dasher { DNL_DEIMOS, 95, 85, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_DEIMOS_INFO, }, // Deimos { DNL_DRAGON, 97, 60, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_DRAGON_INFO, }, // Dragon { DNL_FAFNIR, 58, 100, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_FAFNIR_INFO, }, // Fafnir { DNL_FLEA, 147, 20, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_FLEA_INFO, }, // Flea { DNL_GLADIATOR, 76, 95, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_GLADIATOR_INFO, }, // Gladiator { DNL_GRIZZLY, 76, 70, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_GRIZZLY_INFO, }, // Grizzly { DNL_HAUPTMANN, 76, 95, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_HAUPTMANN_INFO, }, // Hauptmann { DNL_HELLHOUND, 104, 50, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_HELLHOUND_INFO, }, // Hellhound { DNL_HELLSPAWN, 118, 45, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_HELLSPAWN_INFO, }, // hellspawn { DNL_HIGHLANDER, 76, 90, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_HIGHLANDER_INFO, }, // Highlander { DNL_HOLLANDERII, 129, 45, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_HOLLANDERII_INFO, }, // Hollanderii { DNL_HUNCHBACK, 104, 50, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_HUNCHBACK_INFO, }, // Hunchback { DNL_KODIAK, 76, 100, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_KODIAK_INFO, }, // Kodiak { DNL_LOKI, 118, 65, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_LOKI_INFO, }, // Loki { DNL_LONGBOW, 76, 85, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_LONGBOW_INFO, }, // Longbow { DNL_MADCAT, 100, 75, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_MADCAT_INFO, }, // Madcat { DNL_MADCAT2, 93, 90, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_MADCATMK2_INFO, }, // Madcat2 { DNL_MASAKARI, 76, 85, IDS_ML_CH_ASSAULT, DNL_CLAN, IDS_ML_MASAKARI_INFO, }, // Masakari { DNL_MAULER, 90, 90, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_MAULER_INFO, }, // Mauler { DNL_NOVACAT, 108, 70, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_NOVACAT_INFO, }, // Novacat { DNL_OSIRIS, 140, 30, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_OSIRIS_INFO, }, // Osiris { DNL_Owens, 140, 35, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_OWENS_INFO, }, // Owens { DNL_PUMA, 104, 35, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_PUMA_INFO, }, // Puma { DNL_RAVEN, 125, 35, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_RAVEN_INFO, }, // Raven { DNL_RIFLEMAN, 97, 60, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_RIFLEMAN_INFO, }, // Argus { DNL_RYOKEN, 106, 55, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_RYOKEN_INFO, }, // Ryoken { DNL_SHADOWCAT, 117, 45, IDS_ML_CH_MEDIUM, DNL_CLAN, IDS_ML_SHADOWCAT_INFO, }, // Shadowcat { DNL_SOLITAIRE, 140, 25, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_SOLITAIRE_INFO, }, // Sunder { DNL_SUNDER, 76, 90, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_SUNDER_INFO, }, // Sunder { DNL_TEMPLAR, 80, 85, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_TEMPLAR_INFO, }, // Templar { DNL_THANATOS, 93, 75, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_THANATOS_INFO, }, // Thanatos { DNL_THOR, 109, 70, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_THOR_INFO, }, // Thor { DNL_ULLER, 144, 30, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_ULLER_INFO, }, // Uller { DNL_URBANMECH, 144, 30, IDS_ML_CH_LIGHT, DNL_INNERSPHERE, IDS_ML_URBANMECH_INFO, }, // Uller { DNL_UZIEL, 113, 50, IDS_ML_CH_MEDIUM, DNL_INNERSPHERE, IDS_ML_UZIEL_INFO, }, // Uziel { DNL_VICTOR, 76, 80, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_VICTOR_INFO, }, // Victor { DNL_VULTURE, 105, 60, IDS_ML_CH_HEAVY, DNL_CLAN, IDS_ML_VULTURE_INFO, }, // Vulture { DNL_WARHAMMER, 120, 70, IDS_ML_CH_HEAVY, DNL_INNERSPHERE, IDS_ML_WARHAMMER_INFO, }, // Wolfhound { DNL_WOLFHOUND, 120, 35, IDS_ML_CH_LIGHT, DNL_CLAN, IDS_ML_WOLFHOUND_INFO, }, // Wolfhound { DNL_ZEUS, 90, 80, IDS_ML_CH_ASSAULT, DNL_INNERSPHERE, IDS_ML_ZEUS_INFO, }, // Zeus }; CMLCallData::CMLCallData() { mech_id = -1; } void CMLCallData::Setup_MLCallData() { Call1(); Call2(); Call3(); Call4(); Call5(); Call6(); Call7(); Call8(); Call9(); Call10(); } int __cdecl CMLCallData::CallML(int nCallID, int nCount, ...) { gosASSERT(nCount < 20); void* data[20]; va_list ap; va_start(ap, nCount); data[0] = (void*)nCallID; nCount++; for(int i = 1; i < nCount; i++) { data[i] = va_arg(ap, void*); } int nRet = MechLab::ML_CallbackHandler(NULL/*instance*/, nCount/*numParams*/, data); va_end(ap); return nRet; }