No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
dat file header: | dat file header: | ||
* 4 bytes - | * 4 bytes - block 1 offset | ||
* 4 bytes - symbols_count # number of symbols contained in the tpl | * 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) | * 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 | * 4 bytes - array of signed int16 offsets absolute terminated by -1 (FF FF FF FF) The first offset is the block 2 offset | ||
dat file block 2: | dat file block 2: | ||
* 4 bytes - block 3 offset | |||
* 4 bytes - uint32 - list of offsets relative to this file ? | * 4 bytes - uint32 - list of offsets relative to this file ? | ||
dat file block 3: | |||
* 2 bytes - signed int16 list <- block 2 describe where each element begin | |||
Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files. | Virtual World RE has developed the python script [https://github.com/Virtual-World-RE/NeoGF/tree/main/pzztool pzztool.py] to manipulate MDT files and their internal files. |
Revision as of 22:32, 6 September 2022
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 - array of signed int16 offsets absolute terminated by -1 (FF FF FF FF) The first offset is the block 2 offset
dat file block 2:
- 4 bytes - block 3 offset
- 4 bytes - uint32 - list of offsets relative to this file ?
dat file block 3:
- 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