Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MDT (Gotcha Force): Difference between revisions

No edit summary
No edit summary
Line 20: Line 20:
* 2 bytes - offsets for each symbol - in the file relative to after the header (array)
* 2 bytes - offsets for each symbol - in the file relative to after the header (array)
dat file block 1:
dat file block 1:
* 4 bytes - offset of block 2
* 4 bytes - uint16 absolute offset array of the offsets_blocks terminated by -1 (FF FF FF FF)
* 4 bytes - -1 (FF FF FF FF)
dat file block 2: # first offsets_block
dat file block 2:
* 4 bytes - array of signed int16 offsets absolute terminated by -1 (FF FF FF FF) The first offset is the block 3 offset
* 4 bytes - array of signed int16 offsets absolute terminated by -1 (FF FF FF FF) The first offset is the block 3 offset
dat file block 3:
dat file block 3:

Revision as of 22:40, 6 September 2022

← Gotcha Force

This section is currently being written.
More research is needed and some paragraphs may be wrong.

MDT files are similar to PZZ files, with a header of 0x800 / 2048 bytes including :

  • the number of files (uint32 big endian)
  • the file size / 0x800 for each file

It is possible to unpack and repack .mdt files with the pzztool.py tool. Unlike pzz, the internal files of .mdt are packaged and not compressed.

  • 000 dat file contains at first sight all texts of the game (Related to all dat file, not only one).
  • 001 TPL including an alphanumeric alphabet used by the dat file

dat file header:

  • 4 bytes - block 1 offset
  • 4 bytes - symbols_count # number of symbols contained in the tpl
  • 2 bytes - offsets for each symbol - in the file relative to after the header (array)

dat file block 1:

  • 4 bytes - uint16 absolute offset array of the offsets_blocks terminated by -1 (FF FF FF FF)

dat file block 2: # first offsets_block

  • 4 bytes - array of signed int16 offsets absolute terminated by -1 (FF FF FF FF) The first offset is the block 3 offset

dat file block 3:

  • 4 bytes - block 3 offset
  • 4 bytes - uint32 - list of offsets relative to this file ?

dat file block 4:

  • 2 bytes - signed int16 list <- block 2 describe where each element begin

Virtual World RE has developed the python script pzztool.py to manipulate MDT files and their internal files.


PGCD of MDT file sizes: 2048 / 0x800