TLK
From Dragon Age Toolset Wiki
This page is about the TLK file format used in Dragon Age Origins. For information about TLK file format used in Dragon Age 2, please go here TLK_(DA2)
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.