Help:Setting up tools: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
(→‎Tools: simplify page by removing setup instructions / usage; just link to the tool pages)
imported>CEObrainz
m (→‎BFRES: added link to Auto MipMap Removal tool)
Line 31: Line 31:
* <code>.sbfres</code> files contain models.
* <code>.sbfres</code> files contain models.
* <code>.Tex1.sbfres</code> files contain textures (Wii U).
* <code>.Tex1.sbfres</code> files contain textures (Wii U).
* <code>.Tex2.sbfres</code> files contain mipmaps for textures (Wii U). Since we can't edit these on Wii U yet, they need to be disabled.
* <code>.Tex2.sbfres</code> files contain mipmaps for textures (Wii U). Since we can't edit these on Wii U yet, they need to be disabled with [https://github.com/CEObrainz/Botw-AutoMipping Auto MipMap removal].
* <code>.Tex.sbfres</code> files contain both textures and mipmaps (Switch). Unlike on Wii U, mipmaps don't cause any problems here.
* <code>.Tex.sbfres</code> files contain both textures and mipmaps (Switch). Unlike on Wii U, mipmaps don't cause any problems here.



Revision as of 15:46, 19 May 2019

Breath of the Wild uses a very flexible game engine, so many aspects of the game can be configured with files. Since BotW uses a lot of custom formats, special tools are required for editing them.

Common requirements

Python

Many of the tools for these formats require Python 3.6+ (64 bit version) to be installed.

On Linux, Python 3 is surely already installed. Just make sure you have a recent enough version (3.6+). Ubuntu 16.04 and Debian stretch are too old; the latest Ubuntu LTS (18.04) and rolling distros such as Arch and Debian sid have 3.6+ in their repos.

Tools

Yaz0

Many files in the game are compressed with the Yaz0 format. Compressed files generally have the letter s prefixed to their file extension. Use wszst to compress or decompress these files.

AAMP

AAMP is used for configuration files, such as actor parameters, the world configuration (climate, lighting, ...), etc. Convert them to an editable format (and back) with aamp.

Note: Unlike most other files, AAMP files are exactly the same on both Wii U and Switch.

BYML

BYML files contain game parameters for actors, map units, etc. Convert them to an editable format (and back) with byml-v2.

BFRES

BFRES files contain the game's animations, models and textures. Tutorials on how to edit these for Wii U can be found in Fooni's Tutorials.

  • .sbfres files contain models.
  • .Tex1.sbfres files contain textures (Wii U).
  • .Tex2.sbfres files contain mipmaps for textures (Wii U). Since we can't edit these on Wii U yet, they need to be disabled with Auto MipMap removal.
  • .Tex.sbfres files contain both textures and mipmaps (Switch). Unlike on Wii U, mipmaps don't cause any problems here.

BFEVFL

BFEVFL is used for in-game events (which includes things like talking to people and also full-blown cutscenes).

Use EventEditor to edit event flowcharts.

RSTB

ResourceSizeTable.product.rsizetable (known as the RSTB) contains sizes for almost every file in the game (calculated from the non-Yaz0-compressed file sizes). If you edit a file to make its filesize bigger, you'll need to edit this file to prevent errors. The recommended tool for manipulating the RSTB is rstb.

SARC

SARC archives contain collections of other files and folders, like .zip folders.

Use sarc to create or modify archives.

Map units

Map units can be edited directly by modifying the map unit BYMLs or with a graphical tool such as Ice-Spear.

For the first method, refer to #BYML.

For the second method, follow the instructions in the official repo for Ice-Spear builds.

Reverse engineering

To reverse engineer the game executable, it is strongly recommended to have a copy of IDA Pro 7.0+ because the main executable is fairly large and IDA is as of September 2018 the only serious option for analysing such binaries. It is also the only tool with a usable decompiler for AArch64 (Switch).

To get a copy of an IDC for Switch 1.5.0, ping leoetlino.