.tbl files (Diablo II text strings)
This is not complete. If you have any corrections/additional information about anything here, e-mail me.
Descriptions of the data types used here:
|byte||an unsigned byte value|
|short||an unsigned 2 byte value|
|long||an unsigned 4 byte value|
|text||a text string of single byte characters|
|2||String ID count||short||This defines the number of string ID's in the file.|
|4||String table entry count||short||This defines the number of entries in the string table.|
|6||Unknown||short||0||This seems to always be zero, but it could be part of the previous value.|
|8||Constant?||byte||1||This seems to always be 1.|
|9||First string||long||Offset to the first string in the string text.|
|13||Unknown||long||Could have something to do with the unknown below.|
|17||Last string end||long||Offset to the end of the last string in the string text.|
|21||String ID list?||short||These seem to be ID numbers for the strings. There are as many of these as defined by the count in the header.|
Next is the string table, which starts after the string ID list mentioned above. The number of entries in this table is defined by the count in the header.
String table entry
|0||Constant?||byte||1||This seems to always be 1.|
|1||String ID?||short||This may be the string ID.|
|7||String name offset||long||Offset to a null-terminated string name.|
|11||String offset||long||Offset to a null-terminated string.|
|15||String length||short||Length of the string including the null character at the end.|
The rest of the file is the actual string data. The start and end of this data is stored in the header.
Return to Format Specs. page