hstring - GameRevision/GWLP-R GitHub Wiki
htring stands for hashstring indicating it can contain hashes. Strings in the gw.dat are referenced by string IDs. A string’s ID is the same for all languages.
Part of GuildWars protocol packets.
type | field | description |
---|---|---|
ushort | StringLength | length of the following string. it counts the number of wchars not the number of bytes. |
wchar[StringLength] | StringData | this can be either a string ID (with key for encoded strings) or plain text see remarks1. This may also contain additional strings to fill in variables such as %str1%. |
1 Structure for plain text (header and terminator count towards stringLength):
type | field | description |
---|---|---|
ushort | Header1 | value: 0×0108 |
ushort | Header2 | value: 0×0107 |
wchar[] | PlainText | zero termination optional, not recommended |
ushort | Terminator | value: 0×001 |