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.
336 lines
8.8 KiB
C
336 lines
8.8 KiB
C
//Zone IDs
|
|
#define MLLeftLegZone 0
|
|
#define MLRightLegZone 1
|
|
#define MLLeftArmZone 2
|
|
#define MLRightArmZone 3
|
|
#define MLRightTorsoZone 4
|
|
#define MLLeftTorsoZone 5
|
|
#define MLCenterTorsoZone 6
|
|
#define MLHeadZone 7
|
|
#define MLSpecialZone1 8
|
|
#define MLSpecialZone2 9
|
|
|
|
//Callback IDs
|
|
#define MLGetDummyData -1
|
|
#define MLDataSetupLeftArm 0 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupRightArm 1 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupLeftLeg 2 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupRightLeg 3 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupLeftTorso 4 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupRightTorso 5 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupCenterTorso 6 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupHead 7 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupMechSelection 8
|
|
#define MLDataSetupChassisSelection 9
|
|
#define MLCreateNewMech 10
|
|
#define MLSelectNewMech 11
|
|
#define MLInitChassisTab 12
|
|
#define MLInitWeaponsTab 13
|
|
#define MLInitArmorTab 14
|
|
#define MLDataSetupSpecial1 15 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupSpecial2 16 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupAllWeapons 17 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupBeamWeapons 18 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupProjectileWeapons 19 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupMissileWeapons 20 //IDs, SlotType, SlotSize, ton, dam, range, heat, num
|
|
#define MLDataSetupGetMechData 21 //ID, ton, battle, heat eff
|
|
#define MLDataSetupGetMechArmor 22 //Vals, Max Vals, type, int type, points per, ton, tot
|
|
#define MLDataSetupGetMechNoEditData 23
|
|
#define MLDataSetupGetEngineSpeed 24
|
|
#define MLSetEngineUpgrade 25
|
|
#define MLSetEngineDegrade 26
|
|
#define MLDataSetupGetHeatSinks 27
|
|
#define MLAddHeatSink 28
|
|
#define MLRemoveHeatSink 29
|
|
#define MLGetJumpJets 30
|
|
#define MLSetJumpJets 31
|
|
#define MLGetECM 32
|
|
#define MLSetECM 33
|
|
#define MLGetBeagle 34
|
|
#define MLSetBeagle 35
|
|
#define MLSetArmorType 36
|
|
#define MLAddArmorToZone 37
|
|
#define MLRemoveArmorFromZone 38
|
|
|
|
//Data manipulation
|
|
#define MLAddSubsystem 40
|
|
#define MLRemoveSubsystem 41
|
|
#define MLRemoveAllSubsystems 42
|
|
#define MLAutoAddSubsystem 43
|
|
|
|
//Weapon Grouping
|
|
#define MLDataGetWeaponGroups 44
|
|
#define MLSetWeaponGroup 45
|
|
#define MLClearWeaponGroup 46
|
|
#define MLSetAllWeaponGroups 47
|
|
|
|
//other stuff
|
|
#define MLSave 48
|
|
#define MLExit 49
|
|
#define MLDeleteMech 50
|
|
#define MLRestore 51
|
|
#define MLRename 52
|
|
|
|
//Ammo Support
|
|
#define MLDataGetWeaponAmmo 53
|
|
#define MLAddWeaponAmmo 54
|
|
#define MLRemoveWeaponAmmo 55
|
|
|
|
//Skin Support
|
|
#define MLGetSkinListCount 56
|
|
#define MLDataGetSkinList 57
|
|
#define MLSetMechSkin 58
|
|
|
|
#define MLGetLightAmp 59
|
|
#define MLSetLightAmp 60
|
|
|
|
//Added Functions
|
|
#define MLSetArmorZoneValue 61
|
|
#define MLDistributeArmor 62
|
|
#define MLGetAMS 63
|
|
#define MLSetAMS 64
|
|
#define MLGetLAMS 65
|
|
#define MLSetLAMS 66
|
|
#define MLGetBaseMechName 67
|
|
|
|
// MSL 5.02 SubSystems
|
|
// Enhanced Optics
|
|
//#define MLGetEnhancedOptics 93
|
|
//#define MLSetEnhancedOptics 94
|
|
|
|
// IFF Jammer
|
|
#define MLGetIFF_Jammer 68
|
|
#define MLSetIFF_Jammer 69
|
|
|
|
// Advanced Gyro
|
|
#define MLGetAdvancedGyro 70
|
|
#define MLSetAdvancedGyro 71
|
|
|
|
//Mech IDs
|
|
// NOTE: IF YOU CHANGE THESE, YOU MUST ALSO CHANGE THE CONSTANTS IN MWCONST.ABI!!!
|
|
// YOU MUST ALSO CHANGE THE CHASSIS LOOKUP TABLE IN MECH.HPP/MECH.CPP
|
|
// MSL ADD MECH
|
|
#define FirstMechID 0
|
|
#define M_Annihilator 0
|
|
#define M_Archer 1
|
|
#define M_Arcticwolf 2
|
|
#define M_Ares 3
|
|
#define M_Argus 4
|
|
#define M_Assassin2 5
|
|
#define M_Atlas 6
|
|
#define M_Avatar 7
|
|
#define M_Awesome 8
|
|
#define M_Battlemaster 9
|
|
#define M_BattlemasterIIc 10
|
|
#define M_Behemoth 11
|
|
#define M_BehemothII 12
|
|
#define M_Blackhawk 13
|
|
#define M_Blackknight 14
|
|
#define M_Blacklanner 15
|
|
#define M_Brigand 16
|
|
#define M_Bushwacker 17
|
|
#define M_Catapult 18
|
|
#define M_Cauldronborn 19
|
|
#define M_Chimera 20
|
|
#define M_Commando 21
|
|
#define M_Cougar 22
|
|
#define M_Cyclops 23
|
|
#define M_Daishi 24
|
|
#define M_Deimos 25
|
|
#define M_Dragon 26
|
|
#define M_Fafnir 27
|
|
#define M_Flea 28
|
|
#define M_Gladiator 29
|
|
#define M_Grizzly 30
|
|
#define M_Hauptmann 31
|
|
#define M_Hellhound 32
|
|
#define M_Hellspawn 33
|
|
#define M_Highlander 34
|
|
#define M_HollanderII 35
|
|
#define M_Hunchback 36
|
|
#define M_Kodiak 37
|
|
#define M_Loki 38
|
|
#define M_Longbow 39
|
|
#define M_Madcat 40
|
|
#define M_Madcat_MKII 41
|
|
#define M_Masakari 42
|
|
#define M_Mauler 43
|
|
#define M_Novacat 44
|
|
#define M_Osiris 45
|
|
#define M_Owens 46
|
|
#define M_Puma 47
|
|
#define M_Raven 48
|
|
#define M_Rifleman 49
|
|
#define M_Ryoken 50
|
|
#define M_Shadowcat 51
|
|
#define M_Solitaire 52
|
|
#define M_Sunder 53
|
|
#define M_Templar 54
|
|
#define M_Thanatos 55
|
|
#define M_Thor 56
|
|
#define M_Uller 57
|
|
#define M_Urbanmech 58
|
|
#define M_Uziel 59
|
|
#define M_Victor 60
|
|
#define M_Vulture 61
|
|
#define M_Warhammer 62
|
|
#define M_Wolfhound 63
|
|
#define M_Zeus 64
|
|
#define LastMechID 64
|
|
#define NoMechID 65 //This is used for the stack sprites in the campaign screen...
|
|
|
|
#define M_CameraShip LastMechID+1
|
|
#define EmptyMechID LastMechID+2
|
|
|
|
|
|
//Weapon IDs
|
|
#define EmptyWeaponID -1
|
|
//Beams
|
|
#define FirstWeaponID 0
|
|
#define FirstBeamID 0
|
|
#define W_SmallLaser 0
|
|
#define W_MediumLaser 1
|
|
#define W_LargeLaser 2
|
|
#define W_SmallPulse 3
|
|
#define W_MediumPulse 4
|
|
#define W_LargePulse 5
|
|
#define W_ERSmallLaser 6
|
|
#define W_ERMediumLaser 7
|
|
#define W_ERLargeLaser 8
|
|
#define W_SmallXPulse 9
|
|
#define W_MedXPulse 10
|
|
#define W_LargeXPulse 11
|
|
#define W_ClanSmallPulse 12
|
|
#define W_ClanMediumPulse 13
|
|
#define W_ClanLargePulse 14
|
|
#define W_ClanERSmallLaser 15
|
|
#define W_ClanERMediumLaser 16
|
|
#define W_ClanERLargeLaser 17
|
|
#define W_PPC 18
|
|
#define W_ERPPC 19
|
|
#define W_ClanERPPC 20
|
|
#define W_Flamer 21
|
|
#define W_ERFlamer 22
|
|
#define W_Bombast 23
|
|
#define LastBeamID 23
|
|
|
|
//Missiles
|
|
#define FirstMissileID 51
|
|
#define W_SRM2 51
|
|
#define W_SRM4 52
|
|
#define W_SRM6 53
|
|
#define W_ClanSRM2 54
|
|
#define W_ClanSRM4 55
|
|
#define W_ClanSRM6 56
|
|
#define W_SSRM2 57
|
|
#define W_SSRM4 58
|
|
#define W_SSRM6 59
|
|
#define W_ClanSSRM2 60
|
|
#define W_ClanSSRM4 61
|
|
#define W_ClanSSRM6 62
|
|
#define W_MRM10 63
|
|
#define W_MRM20 64
|
|
#define W_MRM30 65
|
|
#define W_MRM40 66
|
|
#define W_SMRM10 67
|
|
#define W_SMRM20 68
|
|
#define W_SMRM30 69
|
|
#define W_SMRM40 70
|
|
#define W_ClanSMRM10 71
|
|
#define W_ClanSMRM20 72
|
|
#define W_ClanSMRM30 73
|
|
#define W_ClanSMRM40 74
|
|
#define W_LRM5 75
|
|
#define W_LRM10 76
|
|
#define W_LRM15 77
|
|
#define W_LRM20 78
|
|
#define W_ClanLRM5 79
|
|
#define W_ClanLRM10 80
|
|
#define W_ClanLRM15 81
|
|
#define W_ClanLRM20 82
|
|
#define W_Thunderbolt 83
|
|
#define W_NarcBeacon 84
|
|
#define W_ClanNarcBeacon 85
|
|
#define W_Flare 86
|
|
#define W_HighExplosive 87
|
|
#define W_ArtilleryStrike 88
|
|
#define LastMissileID 88
|
|
|
|
//Projectiles
|
|
#define FirstProjectileID 100
|
|
#define W_AC2 100
|
|
#define W_AC5 101
|
|
#define W_AC10 102
|
|
#define W_AC20 103
|
|
#define W_LBXAC10 104
|
|
#define W_LBXAC20 105
|
|
#define W_ClanLBXAC10 106
|
|
#define W_ClanLBXAC20 107
|
|
#define W_UltraAC2 108
|
|
#define W_UltraAC5 109
|
|
#define W_UltraAC10 110
|
|
#define W_UltraAC20 111
|
|
#define W_ClanUltraAC2 112
|
|
#define W_ClanUltraAC5 113
|
|
#define W_ClanUltraAC10 114
|
|
#define W_ClanUltraAC20 115
|
|
#define W_LightGauss 116
|
|
#define W_Gauss 117
|
|
#define W_HeavyGauss 118
|
|
#define W_ClanGauss 119
|
|
#define W_MachineGun 120
|
|
#define W_ClanMachineGun 121
|
|
#define W_LongTom 122
|
|
#define LastProjectileID 122
|
|
#define LastWeaponID 122
|
|
|
|
#define FirstGenericSubsystemID 131
|
|
#define Sub_JumpJet 131
|
|
#define Sub_AMS 132
|
|
#define Sub_LAMS 133
|
|
#define Sub_ECM 134
|
|
#define Sub_HeatSink 135
|
|
#define Sub_Beagle 136
|
|
#define Sub_LightAmp 137
|
|
//#define Sub_EnhancedOptics 138
|
|
#define Sub_IFF_Jammer 138
|
|
#define Sub_AdvancedGyro 139
|
|
#define LastGenericSubsystemID 139
|
|
|
|
|
|
//Weapon Slot defines
|
|
#define Slot_Empty -1
|
|
#define Slot_Missile 0
|
|
#define Slot_Projectile 1
|
|
#define Slot_Beam 2
|
|
#define Slot_Omni 3
|
|
|
|
//Armor Values
|
|
#define A_LeftLeg 0
|
|
#define A_RightLeg 1
|
|
#define A_LeftArm 2
|
|
#define A_RightArm 3
|
|
#define A_RightTorso 4
|
|
#define A_LeftTorso 5
|
|
#define A_CenterTorso 6
|
|
#define A_RearTorso 7
|
|
#define A_Head 8
|
|
|
|
//Armor Values
|
|
#define Armor_Standard 0
|
|
#define Armor_Ferro 1
|
|
#define Armor_Reactive 2
|
|
#define Armor_Reflective 3
|
|
|
|
//Internal Values
|
|
#define Internal_Standard 0
|
|
#define Internal_EndoSteel 1
|
|
|
|
//Tech Types
|
|
#define Tech_IS 0
|
|
#define Tech_Clan 1
|
|
|
|
|
|
|
|
|