-
Notifications
You must be signed in to change notification settings - Fork 5
CAT (Shinovi Versus)
General Purpose Container Format.
Type | Description |
---|---|
uint32_t | Size of Header (bytes) |
uint32_t[] | Offsets to Subfiles |
There may be less valid Offsets than the Header-Size suggests.
After the last valid Offset there is a Offset pointing to 0xFFFFFFFF. The remaining Space within the Header is filled with Zero-Bytes.
Starting immediately after the Header there is a List of References used or provided by this file.
Each of these Reference/Resource Entries is encoded as a New-Line-Terminated String (0x0A).
A Reference/Resource Entry has three Parts:
A Type, a Package(?) and a Name.
Those Parts are separated with a Comma-Character (0x2C).
Parts may be omitted, in which case the corresponding Part of the last Entry will be referenced.
Another view of this is to treat those Entries as Sub-Entries of the last full-qualified Entry.
There seems to be at least one Zero-Byte after the last valid Entry.
Sometimes it might be necessary to treat following Entries of the same type as Sub-Entries of the previous Entry.
GXT,conv0,pl00_eye00
,,pl00_face
is equivalent to
GXT,conv0,pl00_eye00
GXT,conv0,pl00_face
And can be interpreted as: Entry of GXT -> Sub-Entries: conv0/pl00_eye00 and conv0/pl00_face
The Type-Part allows further parsing of the Block at the corresponding Offset.