Scheduled system upgrade on Sunday 21 April 2024 15:00-16:00 UTC - On that day, the wiki and other services might go down for 5-15 minutes.

Yaz0: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
(Created page with "{{stub}} <onlyinclude>'''Yaz0''' is a compression algorithm used in many Nintendo games.</onlyinclude> == Tools == * [https://github.com/Shadsterwolf/BotWUnpacker BotW Unpack...")
 
imported>Leoetlino
(bactorpack, beventpack -> actor pack, event pack)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{stub}}
<onlyinclude>'''Yaz0''' is a [[wikipedia:Data compression|data compression]] algorithm used in many Nintendo games.</onlyinclude>
<onlyinclude>'''Yaz0''' is a compression algorithm used in many Nintendo games.</onlyinclude>
 
== Structure ==
=== 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'' ==
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 ==
* [https://github.com/Shadsterwolf/BotWUnpacker BotW Unpacker]
* [https://github.com/Shadsterwolf/BotWUnpacker BotW Unpacker]
* [https://szs.wiimm.de/wszst/ wszst]
* [https://szs.wiimm.de/wszst/ wszst]
[[Category:File formats]]

Latest revision as of 22:31, 11 March 2020

Yaz0 is a data 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 actor packs 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.

Tools