Talk:GXT
Has someone yet tried to add more "TABL"-Sections to an GXT? (In standart-game's this is never used, I don't know if this will work...)
"An entire list of all entries is available with Sanny Builder." ... Where? o.O --Aschratt 14:33, 26 Nov 2007 (UTC)
- Here: "SB\help\GXT Strings\*.text" Seemann 15:25, 26 Nov 2007 (UTC)
- Great! Thanks! :) --Aschratt 16:13, 26 Nov 2007 (UTC)
Thoughts about header format
Is it possible that the headerformat truely looks like this?
INT16 - 2b - File version (0x04 used since San Andreas - previously no version information has been stored - see below) INT16 - 2b - UTF encryption format (0x08 for UTF-8, 0x10 for UTF-16 - other formats are not used or not implemented) CHAR[4] - 4b - FourCC: "TABL"
GTA III uses some different format. It does not know tables. Everything it know is 1 general table. So the version history is like this:
Version 1 - GTA_2 Version 2 - GTA_3 Version 3 - GTA_VC Version 4 - GTA_SA, GTA_IV
Still I don't know if San Andreas also supports UTF-16 encryption. Need to test this. --Aschratt - oO 16:29, 25 April 2010 (UTC)
GTA III format
CHAR[4] - 4b - FourCC: "TKEY" UINT32 - 4b - Offset to data (TDAT section)
To get the number of entries inside this table divide the offset to the data section by 12 (8 byte for each entry name and 4 byte for each entry offset - see below). Now each entry got the following header information:
UINT32 - 4b - Offset to content (relative to data offset + 8 representing "TDAT" fourCC and the size of the TDAT section - see below) CHAR[8] - 8b - ASCII encodet name of the entry
Now after the collection of entry header information the TDAT section follows as we know it from the other formats:
CHAR[4] - 4b - FourCC: "TDAT" UINT32 - 4b - Offset to end of file (or size of data section)
Each content string is stored in multi-byte encryption (guess UTF-16). Content strings are null-terminated. --Aschratt - oO 16:29, 25 April 2010 (UTC)
String encryption
-8 and UTF-
Any suggestions about how the encryption really works? --Aschratt - oO 16:29, 25 April 2010 (UTC)