3D:QM format
From CloudModding OoT Wiki
The QM format (Queen Messages) holds in-game dialogue in OoT 3D. There exists one file of this format in the ROM filesystem, although its exact location and content depends on the region.
- EU: message/eu/eu.qm
- US: message/us/us.qm
- JP: message/jp/jp.qm
Contents
Structure
This section documents the structure of the file format.
Header
Offset | Type | Description |
---|---|---|
0000 | char[4] | Magic ("QM\0\0") |
0004 | u32 | Unknown (always 4?) |
0008 | u32 | #Entries |
000C | u32 | Unknown (always 0?) |
Entries
Contains [#Entries] rows (see header).
Offset | Type | Description |
---|---|---|
0000 | u32 | ID |
0004 | u32 | Unknown (always 0?) |
0008 | u32 | Unknown |
000A | u32 | Unknown |
0010 | (u32,u32) | Offset & length of Japanese (J) |
0018 | (u32,u32) | Offset & length of English (U) |
0020 | (u32,u32) | Offset & length of English (E) |
0028 | (u32,u32) | Offset & length of German (E) |
0030 | (u32,u32) | Offset & length of French (E) |
0038 | (u32,u32) | Offset & length of French (U) |
0040 | (u32,u32) | Offset & length of Spanish (E) |
0048 | (u32,u32) | Offset & length of Spanish (U) |
0050 | (u32,u32) | Offset & length of Italian (E) |
0058 | (u32,u32) | Offset & length of Dutch (E) |
Only localization relevant for the region is included in each file; all other fields are nulled out instead. An exception to this is Dutch, which is nulled out in all regions.
At [offset] is a [length] byte long string containing one dialogue entry. The string uses text control codes to control the content and formatting of the text, e.g. by changing colour or including icons in the dialogue.
The data follows immediately after the table, up to end-of-file.