No edit summary |
No edit summary |
||
Line 20: | Line 20: | ||
* 4 bytes - offset_block_list offset | * 4 bytes - offset_block_list 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 | * 2 bytes - offsets in the file relative to after the header (array)? same count than symbols | ||
'''offset_block_list''': | '''offset_block_list''': | ||
* 4 bytes - uint32 absolute offset array of the offsets_blocks terminated by -1 (FF FF FF FF) | * 4 bytes - uint32 absolute offset array of the offsets_blocks terminated by -1 (FF FF FF FF) |
Revision as of 23:57, 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 in the file relative to after the header (array)? same count than symbols
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