Help:Setting up tools: Difference between revisions
imported>Leoetlino |
imported>Leoetlino No edit summary |
||
Line 1: | Line 1: | ||
''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. | ''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 requirements == | == Common requirements == | ||
Line 25: | Line 14: | ||
== Tools == | == Tools == | ||
=== Yaz0 === | |||
Many files in the game are compressed with [[Yaz0]]. Compressed files generally have the letter <code>s</code> prefixed to their file extension. | |||
{{tool section|rec_tool=wszst}} | |||
=== AAMP === | === AAMP === | ||
AAMP is used for configuration files, such as [[actor parameters]], the [[normal.bwinfo|world configuration (climate, lighting, ...)]], etc. | |||
{{tool section|rec_tool=aamp}} | {{tool section|rec_tool=aamp}} | ||
Unlike most other files, AAMP files are exactly the same on both Wii U and Switch. | Unlike most other files, AAMP files are exactly the same on both Wii U and Switch. | ||
=== BFRES === | === BFRES === | ||
[[BFRES]] files contain the game's models and textures. Tutorials on how to edit these for Wii U can be found in [https://drive.google.com/drive/folders/1Z1_A3w0VvPHp22H_Yh_dSdzI5hr4OAv9 Fooni's Tutorials]. | [[BFRES]] files contain the game's animations, models and textures. Tutorials on how to edit these for Wii U can be found in [https://drive.google.com/drive/folders/1Z1_A3w0VvPHp22H_Yh_dSdzI5hr4OAv9 Fooni's Tutorials]. | ||
* <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). | ||
Line 36: | Line 29: | ||
=== BFEVFL === | === BFEVFL === | ||
[[BFEVFL]] is used for in-game events (which includes things like talking to people and also full-blown cutscenes). | |||
Follow the instructions at [[Help:Setting up tools/EventEditor]]. | Follow the instructions at [[Help:Setting up tools/EventEditor]]. | ||
=== BYML === | === BYML === | ||
BYML files contain game parameters for [[actor]]s, [[map unit]]s, [[difficulty scaling]] config, etc. | |||
{{tool section|rec_tool=byml-v2}} | {{tool section|rec_tool=byml-v2}} | ||
=== RSTB === | === RSTB === | ||
The file [[ResourceSizeTable.product.rsizetable]] (referred to as the RSTB file) contains a list of size limits 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. | |||
{{tool section|rec_tool=rstb}} | {{tool section|rec_tool=rstb}} | ||
=== SARC === | === SARC === | ||
[[SARC]] archives contain collections of other files and folders, like .zip folders. | |||
{{tool section|rec_tool=sarc}} | {{tool section|rec_tool=sarc}} | ||
=== Map units === | === Map units === | ||
Line 49: | Line 47: | ||
For the second method, follow [https://gitlab.com/ice-spear-tools/ice-spear-builds the instructions in the official repo for Ice-Spear builds]. | For the second method, follow [https://gitlab.com/ice-spear-tools/ice-spear-builds the instructions in the official repo for Ice-Spear builds]. | ||
== Reverse engineering == | == Reverse engineering == |
Revision as of 19:17, 15 October 2018
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 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:
- Uninstall any existing Python version to avoid conflicts.
- Download the Python 3.7 installer (latest version as of September 2018).
- Run the installer: do a system-wide install and tick the "add Python to environment variables / PATH" option.
- Verify that
py -3 --version
works and gives the correct version (3.6 or higher). [help]
Tools
Yaz0
Many files in the game are compressed with Yaz0. Compressed files generally have the letter s
prefixed to their file extension.
Template:Tool section
AAMP
AAMP is used for configuration files, such as actor parameters, the world configuration (climate, lighting, ...), etc. 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 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..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). Follow the instructions at Help:Tools/EventEditor.
BYML
BYML files contain game parameters for actors, map units, difficulty scaling config, etc. Template:Tool section
RSTB
The file ResourceSizeTable.product.rsizetable (referred to as the RSTB file) contains a list of size limits 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.
SARC
SARC archives contain collections of other files and folders, like .zip folders. 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.
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.