Skip to content

LOC File

NOTE

LOC is always Big Endian regardless of console.

LOC structure

NameSize (in bytes)Description
Version0x04 (uint)Version of the LOC file
Language Count0x04 (uint)Amount of languages.
Key Table0x05 + (0x04 (uint) * Key Count)Only exists if version is 0x02
Language ListVariable * Language CountTable of all the languages
Languages TableVariable * Language CountContains the actual language data

Key Table

NameSize (in bytes)Description
Use Unique IDs0x01Sets if the LOC uses the Unique IDs
Key Count0x04 (uint)Amount of keys
KeysVariableuint array consisting of the ID for each key

Language List

NOTE

In the game, this is implemented as: std::unordered_map<uint32_t, std::string>

NameSize (in bytes)Description
Language CodeVariableUTF8 string of length which is provided by the prefixed UShort. Contains the ISO 639-1 code for the language.
ID0x04 (uint)ID of the language

Language Table

NameSize (in bytes)Description
Unknown0x04 (uint)If this is greater than 0x00, read the next (also unknown) byte
Unknown0x01
Language CodeVariableUTF8 string of length which is provided by the prefixed UShort. Contains the ISO 639-1 code for the language.
Strings Count0x04 (uint)Count of all of the strings for this language
StringsVariable * Strings CountUTF8 strings of length which is provided by the prefixed UShort. One for every string.

Contributors

The avatar of contributor named as Boreal's Back Again Boreal's Back Again

Changelog

Contributors



Documentation page was setup by DexrnZacAttack.


Documentation is licensed under Creative Commons CC-BY 4.0 unless otherwise noted. For more info, check the NOTICE file.