Havok Export Format - KCreator/Earth-Defence-Force-Documentation GitHub Wiki
EDF5 .SHKT files can be opened in Havok Content Tools by changing the file format to .HKX.
The installer of Havok Content Tools I tested with is called "HavokContentTools_2014-1-0_20140830_64Bit_PcXs.exe", other tools that can open Havok files from other games like Skyrim, Fallout 4 and Breath of the Wild can sometimes open these renamed .HKX files too.
There is a google drive with various versions of Havok Content Tools here.
GUIDE:
In your extracted EDF files, find the .SHKT file you would like to modify and change the .SHKT part of the filename to .HKX.
Open the application "Havok Standalone Filter Manager". It will immediately ask you which file to open, find your .HKX file and press "Load", it will ask you for another file with the same looking window, just press "Done". On the next small window that pops up, just press "OK" and the main tool will finally open.
In the tool, select the "Write to Platform" filter, then "Add" and set the format to "XML". Press "Run Configuration" and a new .HKT file will be made alongside the original .HKX. This file is a readable and editable XML, open it in Notepad++ or whatever editor you like to use and make the changes you want!
To re-import the file to EDF5, open the .HKT in the same way you opened the original .HKX but select "Binary" instead of "XML". The .HKT that you just modified will be overwritten with a game-ready file.
The final step is to rename the generated .HKT to same name as the original file you wanted to modify, then placing it in your mods folder in the correct subfolder. When you launch the game, the .SHKT will be loaded and the changes you made should show up ingame! If you modify a setting that havok does not like, it will show an error during the previous step.
SHKT format structure
The structure of the SHKT format, which is not necessary if you can find a havoc tool for EDF5,6.
- The first 4 bytes indicate the end-of-file position.
- The bottom row has blocks beginning with “TPAD”.
TPAD table
Offset | Size | Description |
---|---|---|
0x00 | 4 | "TPAD" header |
0x04 | 4 | Offset to TPAD table end |
0x08 | 4 | Unknown |
0x0C | 4 | Unknown |
0x10 | 4 | Unknown |
0x14- | - | TPAD data |
TPAD data : 0x0C bytes
Offset | Size | Description |
---|---|---|
0x00 | 1 | Data type |
0x01 | 1 | 00 |
0x02 | 1 | 00 |
0x03 | 1 | 10 or 20 (Data start position? Header size?) |
0x04 | 4 | Data address(absolute) |
0x08 | 4 | Data count (Depending on the data type, it may be the number of blocks or the number of characters.) |
Data type (this is not all) : EDF5
Value | Data size | Description |
---|---|---|
0x95 | 0x04 * 12 | Body collision setting |
0x14 | 0x04 * 4 | Bullet collision setting |
0x0D | 0x01 | string data |
Data type (this is not all) : EDF6
Value | Data size | Description |
---|---|---|
0x76 | 0x04 * 3 | Body collision setting |
0x3E | 0x04 * 4 | Bullet collision setting |
0x0C | 0x01 | string data |