Help:Setting up tools: Difference between revisions

Jump to navigation Jump to search
→‎Common requirements: Python 3.9 incompatibility
imported>Leoetlino
No edit summary
(→‎Common requirements: Python 3.9 incompatibility)
 
(17 intermediate revisions by 6 users not shown)
Line 3: Line 3:
== Common requirements ==
== Common requirements ==
=== Python ===
=== Python ===
Many of the tools for these formats require [[wikipedia:Python (programming language)|Python]] 3.6+ ('''64 bit version''') to be installed.
Many of the tools for these formats require [[wikipedia:Python (programming language)|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.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 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.


On Windows, follow the below instructions for installing Python:
{{alert|class=primary|text=<b><i class="fa fa-download"></i> Setup instructions</b>
 
On Windows, follow the below instructions to install Python:
# 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.0/python-3.7.0-amd64.exe Python 3.7 installer] (latest version as of September 2018).
# Download the [https://www.python.org/ftp/python/3.7.7/python-3.7.7-amd64.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.6 or higher). {{CLI help}}
# Verify that <code>py -3 --version</code> works and gives the correct version (3.7 or higher). {{CLI help}}
 
If you have any trouble installing Python, or need more detailed instructions, you can use [https://www.youtube.com/watch?v=ndrCfBJkkvE this video tutorial].
}}
 
{{alert|class=warning|text=Several tools and libraries (e.g. oead) are not compatible with Python 3.9 yet [https://bugs.python.org/issue41237 because of CPython issue #41237]. 3.9 compatibility will be added when Python 3.9.1 is released with the bug fix, which is due to happen in December 2020.
}}
 
=== For Windows users: Visual C++ redistributable for Visual Studio 2019 ===
Several tools require the [https://aka.ms/vs/16/release/vc_redist.x64.exe 64-bit Visual C++ redistributable for Visual Studio 2019] to be installed. To be clear, Visual Studio is '''not''' required.
 
Failure to install the redistributable will cause several Python tools to fail with the error "ImportError: DLL load failed".


== Tools ==
== Tools ==
=== Yaz0 ===
=== Yaz0 ===
Many files in the game are compressed with the [[Yaz0]] format. Compressed files generally have the letter <code>s</code> prefixed to their file extension. Use {{ltool|wszst}} to compress or decompress these files.
Many files in the game are compressed with the [[Yaz0]] format. Compressed files generally have the letter <code>s</code> prefixed to their file extension. Use {{ltool|wszst}} to compress or decompress these files.
{{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. Convert them to an editable format (and back) with {{ltool|aamp}}.
[[AAMP]] is used for configuration files, such as [[actor parameters]], the [[normal.bwinfo|world configuration (climate, lighting, ...)]], etc. Convert them to an editable format (and back) with {{ltool|aamp}}. {{ltool|Wild Bits}} can also edit AAMP files.
{{tool section|rec_tool=aamp}}
 
Unlike most other files, AAMP files are exactly the same on both Wii U and Switch.
Note: Unlike most other files, AAMP files are exactly the same on both Wii U and Switch.
 
=== BYML ===
=== BYML ===
[[BYML]] files contain game parameters for [[actor]]s, [[map unit]]s, etc. Convert them to an editable format (and back) with {{ltool|byml-v2}}.
[[BYML]] files contain game parameters for [[actor]]s, [[map unit]]s, etc. Convert them to an editable format (and back) with {{ltool|byml-v2}}. {{ltool|Wild Bits}} can also edit BYML files.
{{tool section|rec_tool=byml-v2}}
 
=== BFRES ===
=== BFRES ===
[[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].
[[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 [https://github.com/KillzXGaming/Switch-Toolbox 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 [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).
* <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). 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 [https://github.com/CEObrainz/Botw-AutoMipping Auto MipMap removal] (has the side effect of making the textures take a moment to load correctly).
* <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.


=== BFEVFL ===
=== BFEVFL ===
[[BFEVFL]] is used for in-game events (which includes things like talking to people and also full-blown cutscenes).
[[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]].
 
Use {{ltool|EventEditor}} to edit event flowcharts.
 
=== 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. The recommended tool for manipulating the RSTB is {{ltool|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 {{ltool|rstb}}. {{ltool|Wild Bits}} also provides a GUI frontend for <code>rstb</code>.
{{tool section|rec_tool=rstb}}
 
=== SARC ===
=== SARC ===
[[SARC]] archives contain collections of other files and folders, like .zip folders.
[[SARC]] archives contain collections of other files and folders, like .zip folders.
{{tool section|rec_tool=sarc}}
 
Use {{ltool|sarc}} to create or modify archives. {{ltool|Wild Bits}} also provides a GUI frontend for <code>sarc</code>.
 
=== Map units ===
=== Map units ===
[[Map unit]]s can be edited directly by modifying the map unit [[BYML]]s or with a graphical tool such as Ice-Spear.
[[Map unit]]s can be edited directly by modifying the map unit [[BYML]]s or with a graphical tool such as Ice-Spear.
Line 46: Line 64:


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].
=== MSBT ===
[[MSBT]] files contain game texts. Convert them to an editable YAML format (and back) with {{ltool|msyt}} or (built on top of msyt) [https://github.com/polarbunny/msyt-tools msyt-tools]. Wild Bits also provides a GUI frontend for msbt.


== Reverse engineering ==
== Reverse engineering ==
Line 53: Line 74:


[[Category:Guides]]
[[Category:Guides]]
[[Category:Guides (tools)]]

Navigation menu