Difference between revisions of "TLK"
From Dragon Age Toolset Wiki
m (Split new DA2 information to its own TLK (DA2) page, minor reformating) |
m |
||
Line 11: | Line 11: | ||
<pre> | <pre> | ||
Header | Header | ||
− | String ID | + | String ID Section |
− | String | + | String Data Section |
</pre> | </pre> | ||
Line 31: | Line 31: | ||
**unsigned 32 bit integer - offset to string (appears to be an offset from 0x60) | **unsigned 32 bit integer - offset to string (appears to be an offset from 0x60) | ||
− | === String Data === | + | === String Data Section === |
*4 bytes | *4 bytes |
Revision as of 21:17, 29 March 2015
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.