Level5 Compressed Container

Filetype: N/A
File Extensions: N/A
Signature: N/A
Platform(s): Nintendo 3DS
Endianness: Little-endian
Used in: Yo-kai Watch 1, Yo-kai Watch 2, Yo-kai Watch Blasters, Yo-kai Watch 3, Yo-kai Watch Busters 2
Alignment: N/A
String Encoding: N/A

The Level5 Compressed Container is a structure used within Level5’s proprietary formats to store compressed data (e.g., ARC0) as implemented by:

void lxpUncompress(void *outBuffer, uint32_t& outDecompressedSize, uint32_t outBufferSize, const void *compressedContainer) {}
uint32_t lxpUncompress_Size(void *compressionHeader) {}
uint32_t lxpUncompress_Type(void *compressionHeader) {}

All compressed data is stored using this structure. This structure starts with a 32-bit header and then the raw compressed blob. The lower 3 bits hold the compression bits, while the remaining 29 bits hold the decompressed blob’s size in bytes.

Compression Methods

ID Method
0 Uncompressed
1 LZ10
2 Huffman 4-bit
3 Huffman 8-bit
4 RLE
5 ZLib
6 Invalid
7 Invalid

Compression method IDs 6 and 7 are considered invalid and should not appear in a valid L5CC. Ideally treat these as errors.


This site uses Just the Docs, a documentation theme for Jekyll.