TLK
From Dragon Age Toolset Wiki
The TLK file is a GFF formatted file used to contain strings. They can be opened in the Toolset or the GFF Editor.
Keep in mind that all numbers are in little-endian format if you are looking at the raw file.
This may be incomplete, as I believe previous TLK files had timing info, etc as well.
Structure
A cursory glance at the file leads me to believe it's formatted something like this:
Header String ID Section String Data Section
Header
- 104 bytes
- 20 byte string describing the file, watch the 2 spaces between PC and TLK
GFF V4.0PC TLK V0.2
- 80 bytes of other info I haven't figured out yet. May include info about the table, offsets
- 4 bytes - number of entries in the table
- 20 byte string describing the file, watch the 2 spaces between PC and TLK
String ID Section
Tightly packed.
- 4 bytes
- unsigned 32 bit integer - TALK_STRING_ID
- 4 bytes
- unsigned 32 bit integer - offset to string (appears to be an offset from 0x60)
String Data Section
- 4 bytes
- Unsigned 32 bit integer, little endian - number of characters in string.
- The toolset seems to ignore this.
- String in UTF-16, little endian.
- Terminated by a NUL character (0x00) (twice, since it is UTF-16LE) and filled up (with 0xff) to be a multiple of 4 bytes.
See also
- TLK (DA2) for information of the TLK format used in Dragon Age 2