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.
114 lines
9.5 KiB
C++
114 lines
9.5 KiB
C++
#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;
|
|
}
|