|Programs supporting this format|
These files contain text subtitles that display at the bottom of the screen when characters say something. They also contain other texts that are displayed in the game: the menu texts for instance.
The files have identification numbers, and the game references them by these numbers. The mapping between the index of a text and its ID as used in the game scripts is provided by Dialog_index_file. This way it is easy to make a translation of the game without modifying the scene scripts. In LBA 2 these files also contain information how the text should be displayed: in a small frame, large frame, as an option to choose, etc.
The header contains a list of UNSIGNED WORDS (u16). There are N+1 WORDS, where N is the number of text entries in the file. The values represent offsets of the text entry in the file.
The last WORD in the header is equal to the size (in bytes) of the file. This information can be used to detect the end of the header section (the first offset can also be used for that).
The size of a text entry can be found by computing the difference between the entry offset and the next entry offset.
A text entry is composed of a flags BYTE followed by a null-terminated string of characters (1 BYTE per character).
The flags indicate how the text should be rendered (more details on that later).
Information provided by: Lupin