-
Notifications
You must be signed in to change notification settings - Fork 9
File Formats
Robert Jordan edited this page Sep 24, 2020
·
28 revisions
Pages marked with ✓ next to them have had the known extent of their file structure fully documented. There is also a small selection of slightly understood and documented PS Vita File Formats for CatSystem2.
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 |
CSTL Localization ✓ | .cstl |
Localized CST Scene messages in UTF-8 |
FES Screen ✓ | .fes |
Screen/menu script |
ZT Package ✓ | .zt |
Packaged files that can be exported from in-game |
KCS Script | .kcs |
Binary script for game functions, and low level graphics |
Key Files ✓ | .dat |
Files to verify game authenticity or enable debug mode |
Wiki Page | Extensions | Description |
---|---|---|
CsPack Archive ✓ |
.dat , .csp , .css
|
Archives for all CatSystem1 files of a specific type |
HG‐2 Image ✓ | .hg2 |
Images with position info and multiple frames (v2) |
CsMO Scene | .cst |
Message scene script |
CSX Script | .csx |
Binary scripts for game functions |
Wiki Page | Description |
---|---|
V_CODEs | Keys that are stored in CatSystem2 executable |
Encryption Methods | Documentation on common encryption methods and tools |
Zlib | The compression method used in files unless otherwise stated |
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 |
- All
integer
andboolean
types are read in little-endian format. - All
string
andchar[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 aren
bytes of non-null characters. - All compression is done with Zlib unless otherwise specified.
- Italicezed types are not fixed in length, and must be determined while resting the file.
- Arrays marked with a > length, e.i. mytype[>], must be read sequentially, and often contain information on the offset of the next element.