Yaz0: Difference between revisions
Jump to navigation
Jump to search
imported>Leoetlino |
imported>Leoetlino |
||
Line 2: | Line 2: | ||
== Structure == | == Structure == | ||
The | === Header === | ||
All values in the header are big endian even on Switch. | |||
{|class="wikitable" | |||
! Offset !! Type !! Description | |||
|- | |||
| 0x0 || char[4] || Magic ("Yaz0") | |||
|- | |||
| 0x4 || u32 || Uncompressed data size | |||
|- | |||
| 0x8 || u32 || Data alignment (archive must be loaded into a N-byte aligned buffer) | |||
|- | |||
| 0xc || u32 || Unused | |||
|} | |||
=== Algorithm === | |||
The algorithm is documented on the [[mk8:YAZ0 (File Format)|MK8 wiki]]. | |||
== Usage in ''Breath of the Wild'' == | == Usage in ''Breath of the Wild'' == |
Revision as of 17:05, 14 September 2018
Yaz0 is a compression algorithm used in many Nintendo games.
Structure
Header
All values in the header are big endian even on Switch.
Offset | Type | Description |
---|---|---|
0x0 | char[4] | Magic ("Yaz0") |
0x4 | u32 | Uncompressed data size |
0x8 | u32 | Data alignment (archive must be loaded into a N-byte aligned buffer) |
0xc | u32 | Unused |
Algorithm
The algorithm is documented on the MK8 wiki.
Usage in Breath of the Wild
Yaz0 is the only compression algorithm that is used in Breath of the Wild. Many resources, such as bactorpacks and BYMLs, are compressed. However, content files that are inside of archives that have already been compressed (such as ActorParam files) are typically uncompressed.
Extensions that start with an s
indicate that the file is compressed using the Yaz0 format. For consistency reasons and to reduce visual noise, ZeldaMods (Breath of the Wild) chooses to omit the prefix when referring to file extensions.