Editing TIML files as JSON - Ezekial711/MonsterHunterWorldModding GitHub Wiki

Requirements

Converting the TIML to JSON

Open a command line, and cd to the directory of TIMLJSON on your machine. Then run TIMLJSON.exe -j {timl path}

[Image 1]

Converting the JSON to TIML

Open a command line, and cd to the directory of TIMLJSON on your machine. Then run TIMLJSON.exe -j {timl path}

[Image 2]

TIML Structure

4 structures make up the main components of a TIML:

  • Time - the upper-most layer, it contains information about animation length, looping, and a couple of unknown parameters alongside a list of Timeline Params
  • Timeline Param - the second-highest layer, it contains a hash for what the animation should be editing as well as a list of Param Members
  • Param Members - the second-lowest layer, it contains a hash for what individual attribute of the Timeline Param should be edited as well as keyframes
  • Keyframes - the lowest layer, it contains the direct data of the animation and time it should occur in the animation, alongside settings for interpolation, easing, and bouncing

The hashes for Timeline Params and Param Members can be found within Andoryuuta's DTI dumps if converted into their hex equivalents (985787082 vs. 0x3AC1EACA). Additionally, a list of Timeline Param hashes for materials and efx are present on the wiki.

Editing the JSON

To add another of any singular component, simply select all of that component and paste it in after the original.

[Image 3]

Make sure there is a comma after the original if there is not one present already, and then make your changes as needed.

For Param Members and Keyframes, the keyframe types are as follows:

  • 0 - integer (whole numbers) (only for Param Member)
  • 1 - integer (whole numbers)
  • 2 - float (numbers with decimal point values)
  • 3 - 4-byte color (red, green, blue, alpha)

What value a param member will take can be found in Andoryuuta's DTI dump.