No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
dat file: | dat file: | ||
'''header''': | '''header''': | ||
Line 30: | Line 29: | ||
offset_block_2: ... | offset_block_2: ... | ||
data_block_2: ... | data_block_2: ... | ||
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontaly symbol 1, 2 ... So data block contains phrases. | |||
* FFFE: space | |||
* 1001: end of the phrase | |||
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 23:52, 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 - offset_block_list 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)
offset_block_list:
- 4 bytes - uint32 absolute offset array of the offsets_blocks terminated by -1 (FF FF FF FF)
offset_block_1: # first offsets block describing data block 1 partitioning
- 4 bytes - int32 absolute array of offsets in the data block terminated by -1 (FF FF FF FF). The first offset is the data block offset
data_block_1:
- 2 bytes - signed int16 list <- block 2 describe where each element begin
offset_block_2: ... data_block_2: ...
data_block contains int16 indexes relative to the tpl symbol list. First symbol in the tpl has number 0 then horizontaly symbol 1, 2 ... So data block contains phrases.
- FFFE: space
- 1001: end of the phrase
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