Skip to content

File Formats

Robert Jordan edited this page Feb 8, 2020 · 28 revisions

File Formats

Pages marked with next to them have had the known extent of their file structure fully documented.

Wiki Page Extensions Description
KIF Archive .int Archives for all CatSystem2 files of a specific type
HG‐2 Image .hg2 Images with position info and multiple frames (v2)
HG‐3 Image .hg3 Images with position info and multiple frames (v3)
ANM Animation .anm Animation script for Images with multiple frames
CST Scene .cst Message scene script
FES Screen .fes Screen/menu script
ZT Package .zt Packaged files that can be exported from in-game

Encryption/Compression

Wiki Page Description
V_CODEs Keys that are stored in CatSystem2 executable
Ciphers and PRNGs Documentation on common encryption methods and tools
Zlib The compression method used in files unless otherwise stated

Data Types

These are the data types present when explaining file specifications.

Although most types are listed as uint32 in File Specifications, the TriggersTools.CatSystem2 C# implementation often uses int32 values instead to avoid unnecessary casting or unchecked blocks.

Type Size
byte 1-byte unsigned integer
uint16 2-byte unsigned integer
uint32 4-byte unsigned integer
uint64 8-byte unsigned integer
int16 2-byte signed integer
int32 4-byte signed integer
int64 8-byte signed integer
bool32 4-byte boolean (0 or 1)
byte[n] Array of n bytes
char[n] String of n bytes of characters
string Null-terminated string

Important Notes

  • All integer and boolean types are read in little-endian format.
  • All string and char[n] types are read with Shift JIS (Codepage 932) encoding.
  • The char[n] type uses null characters as padding, so this type is essentially null terminated as well unless there are n bytes of non-null characters.
  • All compression is done with Zlib unless otherwise specified.
Clone this wiki locally