Help:Setting up tools: Difference between revisions
imported>NiceneNerd (→Python) |
imported>NiceneNerd m (More minor Python edits) |
||
Line 12: | Line 12: | ||
# Uninstall any existing Python version to avoid conflicts. | # Uninstall any existing Python version to avoid conflicts. | ||
# Download the [https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe Python 3.7 installer] (latest version as of July 2019). | # Download the [https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe Python 3.7 installer] (latest version as of July 2019). | ||
# Run the installer: do a ''system-wide install'' and tick the "''add Python to environment variables / PATH''" option. | # Run the installer: do a ''system-wide install'' and tick the "''add Python to environment variables / PATH''" option. Note that if you install to the Program Files folder, you may occasionally run into permission issues with certain Python programs. To avoid this, install Python somewhere that does not require administrator permissions, such as <code>C:\Python37</code>. | ||
# Verify that <code>py -3 --version</code> works and gives the correct version (3.7 or higher). {{CLI help}} | # Verify that <code>py -3 --version</code> works and gives the correct version (3.7 or higher). {{CLI help}} | ||
Revision as of 14:02, 26 July 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.7+ (64 bit version) to be installed.
On Linux, Python 3 is surely already installed. Just make sure you have a recent enough version (3.7+). 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.7+ in their repos.
Setup instructions
On Windows, follow the below instructions to install Python:
- Uninstall any existing Python version to avoid conflicts.
- Download the Python 3.7 installer (latest version as of July 2019).
- Run the installer: do a system-wide install and tick the "add Python to environment variables / PATH" option. Note that if you install to the Program Files folder, you may occasionally run into permission issues with certain Python programs. To avoid this, install Python somewhere that does not require administrator permissions, such as
C:\Python37
. - Verify that
py -3 --version
works and gives the correct version (3.7 or higher). [help]
If you have any trouble installing Python, or need more detailed instructions, you can use this video tutorial.
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. Wild Bits can also edit AAMP files.
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. Wild Bits can also edit BYML files.
BFRES
BFRES files contain the game's animations, models and textures. The format is different on and on Switch and Wii U. These can be edited on Switch and Wii U using Switch Toolbox (this tool is still under active development and receives very frequent updates, so expect some bugs in some features). Tutorials on another, older method of editing these for (Wii U only) 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). They can be edited with Switch Toolbox (when editing a Tex1 manually, it automatically edits any Tex2 in the same folder with the same filename). Alternatively, they can be disabled with Auto MipMap removal (has the side effect of making the textures take a moment to load correctly)..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. Wild Bits also provides a GUI frontend for rstb
.
SARC
SARC archives contain collections of other files and folders, like .zip folders.
Use sarc to create or modify archives. Wild Bits also provides a GUI frontend for sarc
.
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.
MSBT
msbt files contain game texts. Convert them to an editable YAML format (and back) with msyt or (built on top of msyt) msyt-tools.
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.