DMG - simonomi/ff1-binary-formats GitHub Wiki
DMG files are used to store dialogue. They are very similar to DTX files, but with 8 extra bytes of information at the beginning of each string.
0x00 0x04 0x08 0x0C
โญโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโฌโโโโโโโโโโโโโฎ
โ Raw โ 44 4D 47 00 โ 45 00 00 00 โ 0C 00 00 00 โ โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Little-endian โ 00474D44 โ 00000045 โ 0000000C โ Indexes... โ Strings... โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ โ
โ Formatted โ "DMG" โ 69 โ 12 โ โ โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโฏ
โฐโดFile format โ โฐโดConstant offset to indexes (from DMG+0)
โฐโดNumber of strings
Source: msg/msg_0071
Index
Each index is simply an offset that points to the beginning of a string.
โญโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฎ
โ Raw โ 20 01 00 00 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Little-endian โ 00000120 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค
โ Formatted โ 288 โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโฏ
โฐโดOffset to string (from DMG+0)
Source: msg/msg_0071
String
Each string index is 4-byte aligned, and each UTF-8 string is null-terminated. This occasionally results in a 4-byte block of 0s.
0x00 0x04 0x08
โญโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโฎ
โ Raw โ C8 00 00 00 โ 08 00 00 00 โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ
โ Little-endian โ 000000C8 โ 00000008 โ UTF-8 string... โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโค โ
โ Formatted โ 200 โ 8 โ โ
โฐโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโฏ
โฐโดIndex โฐโดConstant offset to string
Source: msg/msg_0071
Found
msg/*