NOTE: This format functions sort of like a non-broken version of PKG.
Format Specifications:
- PS2/XBOX Checksum Enabled [Valid If: FileSize % 16 = 0]
- 32-bit Format
- Maximum capacity varies from game to game due to other files referencing to this one being limited in that way.
- Offsets are non-absolute. Length of the header must be added to each offset to get their absolute values.
- There is support for special strings declared by the game's font table.
- The string can be terminated with 0x00. In some games, this termination is mandatory as you may have noticed: There is no size declaration.
- The strings are UTF8.
- The strings can support Japanese, Korean and Chinese through special font tables.
The code given is a psuedo code inspired by 010 Editor's Template Language.
Code: Select all
struct FILE
{
struct HEADER
{
int TargetLanguage;
int EntryCount;
int FileOffsets[EntryCount];
} header;
char DATA[];
} file;
- In some games, if the string is not terminated, the string is parsed until a terminator is found. This can lead to funny results.