Files
firestorm/Gameleap/code/mw4/Code/MW4/MechLabHeaders.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

337 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
#define Armor_Solarian 4
//Internal Values
#define Internal_Standard 0
#define Internal_EndoSteel 1
//Tech Types
#define Tech_IS 0
#define Tech_Clan 1