struct SMechSpec { int m_nNameID; Stuff::Scalar m_fTopSpeed; Stuff::Scalar m_fTonnage; int m_nClass; int m_nTech; int m_nInfo; }; extern SMechSpec g_aMechSpecs[NoMechID]; class CMLCallData { public: CMLCallData(); void Setup_MLCallData(); int __cdecl CallML(int nCallID, int nCount, ...); public: int mech_id; float mech_tonnage; float mech_max_tonnage; int battle_value; int heat_eff; int armor_value; int speed_value; int Call1() { return CallML(MLDataSetupGetMechData, 7, &mech_id, &mech_tonnage, &mech_max_tonnage, &battle_value, &heat_eff, &speed_value, &armor_value); } float acceleration; float deacceleration; float turn_rate; float torso_twist; float twist_speed; int tech_type; int Call2() { return CallML(MLDataSetupGetMechNoEditData, 6, &acceleration, &deacceleration, &turn_rate, &torso_twist, &twist_speed, &tech_type); } int jumpjets_installed; int can_have_jump; float jump_tons; int Call3() { return CallML(MLGetJumpJets, 3, &jumpjets_installed, &can_have_jump, &jump_tons); } int heatsinks_installed; int Call4() { return CallML(MLDataSetupGetHeatSinks, 1, &heatsinks_installed); } int ecm_installed; int can_have_ecm; float ecm_tons; int Call5() { return CallML(MLGetECM, 3, &ecm_installed, &can_have_ecm, &ecm_tons); } float engine_topspeed; float engine_tons; int Call6() { return CallML(MLDataSetupGetEngineSpeed, 2, &engine_topspeed, &engine_tons); } int beagle_installed; int can_have_beagle; float beagle_tons; int Call7() { return CallML(MLGetBeagle, 3, &beagle_installed, &can_have_beagle, &beagle_tons); } int light_installed; int can_have_light; float light_tons; int Call8() { return CallML(MLGetLightAmp, 3, &light_installed, &can_have_light, &light_tons); } int ams_installed; int can_have_ams; float ams_tons; int Call9() { return CallML(MLGetAMS, 3, &ams_installed, &can_have_ams, &ams_tons); } int lams_installed; int can_have_lams; float lams_tons; int Call10() { return CallML(MLGetLAMS, 3, &lams_installed, &can_have_lams, &lams_tons); } };