mirror of
https://github.com/G2-Games/lbee-utils.git
synced 2025-04-19 07:12:55 -05:00
A small collection of utilities for exporting and importing assets from Little Busters! English Edition
cz | ||
utils | ||
.gitignore | ||
Cargo.toml | ||
LICENSE | ||
README.md |
lbee-utils
A small collection of utilities for exporting and importing assets from Little Busters! English Edition
Acknowledgments
The implementations for compression and decompression of CZ1 and CZ3 were derived from GARbro. The implementation of compression and decompression for CZ2 was derived from the implementation in LuckSystem. This project would not have been possible without their amazing work.
Specifications and Info
Each CZ#
file starts with a header. The first 14 (0x0E
) bytes of the header
are common to all CZ#
files. The data which come after that are specific
to each format, although several CZ#
formats do share the same layout.
All byte layouts are in Little Endian.
Common header:
Offset | Ex. Values | ASCII | Purpose |
---|---|---|---|
0x00 - 0x03 | 43 5A 30 00 | CZ0 | Magic bytes |
0x04 - 0x07 | 24 00 00 00 | 36 | Header length in bytes |
0x08 - 0x09 | 58 01 | 344 | Width of the image in pixels |
0x0A - 0x0B | DC 02 | 732 | Height of the image in pixels |
0x0C - 0x0D | 20 00 | 32 | Bit depth of the image |
0x0E | 03 | 3 | Color block |
The CZ0 and CZ3 header extra data:
Offset | Ex. Values | ASCII | Purpose |
---|---|---|---|
0x0F - 0x13 | --- | --- | ---[Unknown]--- |
0x14 - 0x15 | 58 01 | 344 | Width of image crop |
0x16 - 0x17 | DC 02 | 732 | Height of image crop |
0x18 - 0x19 | 00 05 | 1280 | Width of image bounding box |
0x1A - 0x1B | 34 03 | 820 | Height of image bounding box |
0x1C - 0x1D | 80 02 | 640 | X offset of image, optional |
0x1E - 0x1F | 02 03 | 770 | Y offset of image, optional |
0x20 - 0x23 | --- | --- | ---[Unknown]---, optional |
The CZ2 header extra data:
Offset | Ex. Values | ASCII | Purpose |
---|---|---|---|
0x0F - 0x12 | --- | --- | ---[Unknown]--- |