MEK files - Mech configs
Posted: Sun Nov 15, 2009 4:18 pm
Here are my notes on the MW2 MEK file format used to store Mech configs. I'll update them as needed.
General Information:
00h - DWORD - Tonnage
04h - DWORD - Walking Movement Points
08h - DWORD - JumpJet Count
0Ch - DWORD - Heatsink Count
10h - DWORD - Number of Weapons
14h - DWORD - Ammo Count
After general information, the mech sections are described.
Each section has the following layout:
00h - DWORD - Front Armor
04h - DWORD - Rear Armor
08h - DWORD - Internal Structure
0Ch - WORD[12] - Criticals
24h - Word - #Criticals in this section
26h - Word - 1
The sections are stored at these offsets:
018h - Head, 6 criticals
040h - Right Torso, 12 criticals
068h - Center Torso, 12 criticals
090h - Left Torso, 12 criticals
0B8h - Right Arm, 12 criticals
0E0h - Left Arm, 12 criticals
108h - Left Leg, 6 criticals
130h - Right Leg, 6 criticals
If the same weapon is present several times, each recurrence has a +1 incremented code.
After the section table follows the weapons group table. It consists of 8-byte-records. Their number is stored in offset 10h, with the following layout:
0h - WORD - Weapon ID
05 - Byte - Weapon Group
Neither MW2's mech lab nor the sim allow more than ten weapons to be mounted on a mech. 31stcc-DOS and GBL-DOS ignore weapon groups.
Ammo section:
8 bytes for each weapon with ammo:
0h - DWORD - Ammo ID
4h - DWORD - associated weapon
The MEK file is concluded by 50 characters that comment the file.
The codes in MW2:31st Century Combat are different from those in MW2:Mercs and the Titanium Editions. If there are more heat sinks than round down (engine rating/25), but no heat sinks in the critical hits table, then the heat sinks are double heat sinks. All ammo for a weapon has the numeric code of the weapon plus 10000. The following 6 bytes can be used as a signature: 0C 17 44 16 76 16, starting at offset 24h. MW2.prj contains MEK files in the MEK folder.
General Information:
00h - DWORD - Tonnage
04h - DWORD - Walking Movement Points
08h - DWORD - JumpJet Count
0Ch - DWORD - Heatsink Count
10h - DWORD - Number of Weapons
14h - DWORD - Ammo Count
After general information, the mech sections are described.
Each section has the following layout:
00h - DWORD - Front Armor
04h - DWORD - Rear Armor
08h - DWORD - Internal Structure
0Ch - WORD[12] - Criticals
24h - Word - #Criticals in this section
26h - Word - 1
The sections are stored at these offsets:
018h - Head, 6 criticals
040h - Right Torso, 12 criticals
068h - Center Torso, 12 criticals
090h - Left Torso, 12 criticals
0B8h - Right Arm, 12 criticals
0E0h - Left Arm, 12 criticals
108h - Left Leg, 6 criticals
130h - Right Leg, 6 criticals
If the same weapon is present several times, each recurrence has a +1 incremented code.
After the section table follows the weapons group table. It consists of 8-byte-records. Their number is stored in offset 10h, with the following layout:
0h - WORD - Weapon ID
05 - Byte - Weapon Group
Neither MW2's mech lab nor the sim allow more than ten weapons to be mounted on a mech. 31stcc-DOS and GBL-DOS ignore weapon groups.
Ammo section:
8 bytes for each weapon with ammo:
0h - DWORD - Ammo ID
4h - DWORD - associated weapon
The MEK file is concluded by 50 characters that comment the file.
The codes in MW2:31st Century Combat are different from those in MW2:Mercs and the Titanium Editions. If there are more heat sinks than round down (engine rating/25), but no heat sinks in the critical hits table, then the heat sinks are double heat sinks. All ammo for a weapon has the numeric code of the weapon plus 10000. The following 6 bytes can be used as a signature: 0C 17 44 16 76 16, starting at offset 24h. MW2.prj contains MEK files in the MEK folder.
- MW2 Weapon IDs for 31stcc, GBL (DOS, Win95)
- MW2 Weapon IDs in MEK files since Mercs