Yaz0: Difference between revisions

From Super Mario Galaxy wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
[[Category:File formats]]
[[Category:File formats]]
{{Reference|Link=various sources|Trust=This info may not be 100% correct.}}
{{Reference|Link=various sources|Trust=This info may not be 100% correct.}}
'''Yaz0''' is the compression format used by both Galaxy 1 and 2. Almost every game that has used the encryption stores the file in a szs extension
'''Yaz0''' is the compression format used by both Galaxy 1 and 2. Almost every game that has used the compression stores the file in a szs extension.


= Format Specifications =
= Format Specifications =

Revision as of 04:41, 6 March 2023

This page contains content/info from various sources. This info may not be 100% correct.

Yaz0 is the compression format used by both Galaxy 1 and 2. Almost every game that has used the compression stores the file in a szs extension.

Format Specifications

Below you'll find helpful tables on how the file is structured

Header

Offset Type Description
0x00 char[4] "Yaz0" in ASCII
0x04 u32 The size of the file decompressed
0x08 u8[8] Padding

Decoding

To decode the file, most programs run a loop checking the size and use a source position, a command byte, and a destination position. The source position starts at 0x10 (16), right after the header.

Encoding

Encoding is a bit more difficult than decoding, often doing byte and bit manipulation. The header is still written first with the actual file data starting at 0x10 (16), right after the header