Help:Setting up tools

From ZeldaMods (Breath of the Wild)
Revision as of 19:06, 15 October 2018 by imported>Leoetlino (→‎Common requirements)
Jump to navigation Jump to search

Breath of the Wild uses a very flexible, custom game engine. Many aspects of the game are not hardcoded and are instead configured by a large amount of files. Since BotW uses a lot of Nintendo's own file formats, you'll need special tools to be able to edit them.

Common file formats

The most common formats that one would want to be able to decode and also modify are:

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.

On Windows, follow the below instructions for installing Python:

  1. Uninstall any existing Python version to avoid conflicts.
  2. Download the Python 3.7 installer (latest version as of September 2018).
  3. Run the installer: do a system-wide install and tick the "add Python to environment variables / PATH" option.
  4. Verify that py -3 --version works and gives the correct version (3.6 or higher). [help]

Tools

AAMP

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

BFRES

BFRES files contain the game's 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.
  • .Tex.sbfres files contain both textures and mipmaps (Switch). Unlike on Wii U, mipmaps don't cause any problems here.

BFEVFL

Follow the instructions at Help:Tools/EventEditor.

BYML

Template:Tool section

RSTB

Template:Tool section

SARC

Template:Tool section

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.

Yaz0

Template:Tool section

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.