Yaz0: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
GalaxyMaster (talk | contribs) 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 | '''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