Yaz0: Difference between revisions
bactorpack, beventpack -> actor pack, event pack
imported>Leoetlino No edit summary |
imported>Leoetlino (bactorpack, beventpack -> actor pack, event pack) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude>'''Yaz0''' is a compression algorithm used in many Nintendo games.</onlyinclude> | <onlyinclude>'''Yaz0''' is a [[wikipedia:Data compression|data compression]] algorithm used in many Nintendo games.</onlyinclude> | ||
== 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'' == | ||
Yaz0 is the only compression algorithm that is used in ''Breath of the Wild''. Many resources, such as [[ | Yaz0 is the only compression algorithm that is used in ''Breath of the Wild''. Many resources, such as [[actor pack]]s and [[BYML]]s, 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 <code>s</code> indicate that the file is compressed using the Yaz0 format. ''For consistency reasons and to reduce visual noise, {{SITENAME}} chooses to omit the prefix when referring to file extensions.'' | |||
== Tools == | == Tools == |