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.
347 lines
8.8 KiB
C
347 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
|
|
#define MLGetMechStatus 68
|
|
#define MLGetBlackMarketItemCount 69
|
|
|
|
//Expansion Functions
|
|
|
|
//Black Market Support
|
|
|
|
#define BMDataSetupSalvageChits 71 //IDs, tradeValues, num
|
|
#define BMDataSetupOfferingChits 72
|
|
#define BMDataSetupMarketChits 73
|
|
#define BMDataSetupAcquiringChits 74
|
|
|
|
#define BMOfferItemForTrade 75 //ID
|
|
#define BMCancelOfferForTrade 76 //ID
|
|
#define BMAcquireItemForTrade 77 //ID
|
|
#define BMCancelAcquireForTrade 78 //ID
|
|
|
|
#define BMIsTradeValid 79
|
|
|
|
#define BMGetOfferingValue 80
|
|
#define BMGetAcquiringValue 81
|
|
|
|
#define BMExecuteTrade 82
|
|
#define BMExit 83
|
|
|
|
#define BMDataSetupBeamWeaponSalvageChits 84
|
|
#define BMDataSetupBallisticWeaponSalvageChits 85
|
|
#define BMDataSetupMissileWeaponSalvageChits 86
|
|
#define BMDataSetupMechSalvageChits 87
|
|
|
|
#define BMDataSetupBeamWeaponMarketChits 88
|
|
#define BMDataSetupBallisticWeaponMarketChits 89
|
|
#define BMDataSetupMissileWeaponMarketChits 90
|
|
#define BMDataSetupMechMarketChits 91
|
|
|
|
#define BMRestore 92
|
|
|
|
// Enhanced Optics
|
|
#define MLGetEnhancedOptics 93
|
|
#define MLSetEnhancedOptics 94
|
|
|
|
// IFF Jammer
|
|
#define MLGetIFF_Jammer 95
|
|
#define MLSetIFF_Jammer 96
|
|
|
|
|
|
//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
|
|
#define FirstMechID 0
|
|
#define M_Argus 0
|
|
#define M_Atlas 1
|
|
#define M_Awesome 2
|
|
#define M_Bushwacker 3
|
|
#define M_Catapult 4
|
|
#define M_Chimera 5
|
|
#define M_Cougar 6
|
|
#define M_Daishi 7
|
|
#define M_Hellspawn 8
|
|
#define M_Loki 9
|
|
#define M_Madcat 10
|
|
#define M_Madcat_MKII 11
|
|
#define M_Mauler 12
|
|
#define M_Novacat 13
|
|
#define M_Osiris 14
|
|
#define M_Raven 15
|
|
#define M_Shadowcat 16
|
|
#define M_Thanatos 17
|
|
#define M_Thor 18
|
|
#define M_Uziel 19
|
|
#define M_Vulture 20
|
|
|
|
//black Knight
|
|
#define M_Sunder 21
|
|
#define M_Uller 22
|
|
#define M_Ryoken 23
|
|
#define M_Wolfhound 24
|
|
#define M_BlackKnight 25
|
|
|
|
//mech packs
|
|
#define M_Dragon 26
|
|
#define M_Masakari 27
|
|
#define M_CauldronBorn 28
|
|
#define M_Highlander 29
|
|
#define M_Zeus 30
|
|
#define M_Hunchback 31
|
|
#define M_ArcticWolf 32
|
|
#define M_Kodiak 33
|
|
|
|
|
|
#define LastMechID 33
|
|
#define NoMechID 34 //This is used for the stack sprites in the campaign screen...
|
|
|
|
#define M_CameraShip LastMechID+1
|
|
#define EmptyMechID LastMechID+2
|
|
|
|
#define LastVengeanceMechID M_Vulture
|
|
#define LastBlackKnightMechID M_BlackKnight
|
|
#define LastMechPackMechID M_Kodiak
|
|
|
|
//Expansion Mech trading chits
|
|
//This offset for Mech ID is so that
|
|
//you can trade chassis on the Black Market
|
|
//by trading these Mech Chits
|
|
//Since Weapons are traded as well, the Mech these
|
|
//Mech chit IDs need to be unique among the weapons.
|
|
//
|
|
#define FirstMechChitID 150
|
|
|
|
|
|
|
|
//Weapon IDs
|
|
#define EmptyWeaponID -1
|
|
//Beams
|
|
#define FirstWeaponID 0
|
|
#define FirstBeamID 0
|
|
#define W_Flamer 0
|
|
#define W_Bombast 1
|
|
#define W_ERLargeLaser 2
|
|
#define W_ERMediumLaser 3
|
|
#define W_ERSmallLaser 4
|
|
#define W_LargeLaser 5
|
|
#define W_MediumLaser 6
|
|
#define W_SmallLaser 7
|
|
#define W_ERPPC 8
|
|
#define W_PPC 9
|
|
#define W_ERLargePulse 10
|
|
#define W_ERMediumPulse 11
|
|
#define W_ERSmallPulse 12
|
|
#define W_LargePulse 13
|
|
#define W_MediumPulse 14
|
|
#define W_SmallPulse 15
|
|
//expansion
|
|
#define W_LargeXPulse 16
|
|
#define W_MedXPulse 17
|
|
#define W_SmallXPulse 18
|
|
|
|
#define W_ERFlamer 19
|
|
#define LastBeamID 19
|
|
|
|
//Missiles
|
|
#define FirstMissileID 51
|
|
#define W_LRM5 51
|
|
#define W_LRM10 52
|
|
#define W_LRM15 53
|
|
#define W_LRM20 54
|
|
#define W_ClanLRM5 55
|
|
#define W_ClanLRM10 56
|
|
#define W_ClanLRM15 57
|
|
#define W_ClanLRM20 58
|
|
#define W_MRM10 59
|
|
#define W_MRM20 60
|
|
#define W_MRM30 61
|
|
#define W_MRM40 62
|
|
#define W_SRM2 63
|
|
#define W_SRM4 64
|
|
#define W_SRM6 65
|
|
#define W_SSRM2 66
|
|
#define W_SSRM4 67
|
|
#define W_SSRM6 68
|
|
#define W_Thunderbolt 69
|
|
#define W_NarcBeacon 70
|
|
#define W_ClanNarcBeacon 71
|
|
#define W_Flare 72
|
|
#define W_HighExplosive 73
|
|
#define W_ArtilleryStrike 74
|
|
#define W_SMRM10 75
|
|
#define W_SMRM20 76
|
|
#define W_SMRM30 77
|
|
#define W_SMRM40 78
|
|
#define LastMissileID 78
|
|
|
|
//Projectiles
|
|
#define FirstProjectileID 100
|
|
#define W_AC5 100
|
|
#define W_AC10 101
|
|
#define W_AC20 102
|
|
#define W_LBXAC10 103
|
|
#define W_LBXAC20 104
|
|
#define W_ClanLBXAC10 105
|
|
#define W_ClanLBXAC20 106
|
|
#define W_UltraAC2 107
|
|
#define W_UltraAC5 108
|
|
#define W_UltraAC10 109
|
|
#define W_UltraAC20 110
|
|
#define W_ClanUltraAC2 111
|
|
#define W_ClanUltraAC5 112
|
|
#define W_ClanUltraAC10 113
|
|
#define W_ClanUltraAC20 114
|
|
#define W_ClanGauss 115
|
|
#define W_Gauss 116
|
|
#define W_LightGauss 117
|
|
#define W_LongTom 118
|
|
#define W_ClusterBomb 119
|
|
#define W_MachineGun 120
|
|
#define W_ClanMachineGun 121
|
|
#define W_HeavyGauss 122
|
|
#define LastProjectileID 122
|
|
#define LastWeaponID 122
|
|
|
|
//unique weapon
|
|
#define W_ModlLaser 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 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_Ferro 0
|
|
#define Armor_Reactive 1
|
|
#define Armor_Reflective 2
|
|
|
|
//Internal Values
|
|
#define Internal_Standard 0
|
|
#define Internal_EndoSteel 1
|
|
|
|
//Tech Types
|
|
#define Tech_IS 0
|
|
#define Tech_Clan 1
|
|
|
|
|
|
|
|
|