Help:Setting up tools: Difference between revisions

From ZeldaMods (Breath of the Wild)
Jump to navigation Jump to search
imported>Leoetlino
No edit summary
imported>Leoetlino
No edit summary
Line 4: Line 4:
The most common formats that one would want to be able to decode and also modify are:
The most common formats that one would want to be able to decode and also modify are:


* [[SARC]] for archives since many resource files are packed
* [[BYML]] for [[actor]]s, [[map unit]]s, [[difficulty scaling]] config, etc.
* [[AAMP]] for [[actor parameters]], [[normal.bwinfo|world config (climate, lighting, ...)]], etc.
* [[AAMP]] for [[actor parameters]], [[normal.bwinfo|world config (climate, lighting, ...)]], etc.
* [[RSTB]] when adding new resources or making existing files larger because of how the game works internally
* [[BFRES]] for cosmetic (textures, models, ...) changes
* [[BFRES]] for cosmetic (textures, models, ...) changes
* [[BFEVFL]] for in-game events (which includes things like talking to people and also full-blown cutscenes)
* [[BFEVFL]] for in-game events (which includes things like talking to people and also full-blown cutscenes)
* [[BYML]] for [[actor]]s, [[map unit]]s, [[difficulty scaling]] config, etc.
* [[RSTB]] when adding new resources or making existing files larger because of how the game works internally
* [[SARC]] for archives since many resource files are packed


== Installing tools ==
== Installing tools ==
{{expand section}}
In general, there are several tools you can use for a given file format. This guide will only mention the recommended tools; a more complete list of utils can be found in the article for each [[:Category:File formats|file format]].
 
Some are unfortunately Windows-only, but many — especially the newer ones — are cross platform and work on Windows, macOS and Linux (with Linux even being the best supported platform for some tools).
 
=== Common requirements ===
Many of the tools for these formats require [[wikipedia:Python (programming language)|Python]] 3.6+ ('''64 bit version''') to be installed.
 
On Linux, Python 3 is almost 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 as Debian sid have 3.6+ in their repos.
 
On Windows, follow the below instructions for installing Python:
# Uninstall any existing Python 3 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).
# Run the installer: do a ''system-wide install'' and tick the "''add Python to environment variables / PATH''" option.
# Verify that <code>py -3 --version</code> works and gives the correct version (3.6 or higher). {{CLI help}}
 
=== AAMP ===
Two choices: [https://github.com/Zer0XoL/BotW-aampTool aamptool] or [https://github.com/leoetlino/aamp aamp].
 
For ''aamptool'':
# Download the tool from [https://github.com/Zer0XoL/BotW-aampTool/releases GitHub] (note: only built for Windows).
 
'''Warning''': aamptool does not handle child parameter lists properly. This means some files will appear to have an incorrect structure. Additionally, Nintendo sometimes starts parameter structure names with numbers. aamptool converts structures into XML tags; however leading numbers in tag names are explicitly disallowed by the XML specification. As a result files with such nodes cannot be converted back to XML correctly as of September 2018.
 
For ''aamp'':
# Install the <code>aamp</code> package. {{Install py package help|package=aamp}}
 
=== BFRES ===
{{empty section}}
 
=== BFEVFL ===
# Install PyQt5. (If you're on Windows, install the <code>PyQt5</code> package. {{Install py package help|package=PyQt5}})
# Install the <code>eventeditor</code> package. {{Install py package help|package=eventeditor}}
 
=== BYML ===
Two choices: [https://github.com/arbiter34/ninten-file-tool ninten-file-tool] (for Wii U '''only''') or [https://github.com/leoetlino/byml-v2 byml-v2] (Wii U and Switch, and supports all new node types)
 
For ''ninten-file-tool'':
# Install the Java runtime environment (JRE).
# Download the [https://github.com/arbiter34/ninten-file-tool/releases latest release from GitHub].
 
For ''byml-v2'':
# Install the <code>byml</code> package. {{Install py package help|package=byml}}
 
=== RSTB ===
# Install the <code>rstb</code> package. {{Install py package help|package=rstb}}
 
=== SARC ===
Three choices: [https://github.com/Shadsterwolf/BotWUnpacker BotW Unpacker] (for Wii U '''only''') or [https://github.com/leoetlino/sarc sarc] (Wii U and Switch, heavily tested on BotW archives) or [https://github.com/aboood40091/SARC-Tool SARC Tool] (Wii U and Switch). '''We strongly advise against using other tools because they do not handle file alignment properly.'''
 
For ''BotW Unpacker'':
# Download the [https://github.com/Shadsterwolf/BotWUnpacker/releases latest release from GitHub].
 
For ''sarc'':
# Install the <code>sarc</code> package. {{Install py package help|package=sarc}}


Many of the tools for these formats require [[wikipedia:Python (programming language)|Python]] 3.6+ ('''64 bit version''') to be installed. Some are unfortunately Windows-only, but many &mdash; especially the newer ones &mdash; are cross platform and work on Windows, macOS and Linux (with Linux even being the best supported platform for some tools).
For ''SARC Tool':
# Install the <code>sarclib</code> package. {{Install py package help|package=sarclib}}
# Install the <code>libyaz0</code> package. {{Install py package help|package=libyaz0}}
# Download the [https://github.com/aboood40091/SARC-Tool/releases latest release from GitHub].


[[Category:Guides]]
[[Category:Guides]]

Revision as of 19:29, 14 September 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. To edit these files, a certain number of tools are required.

A note about file formats

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

Installing tools

In general, there are several tools you can use for a given file format. This guide will only mention the recommended tools; a more complete list of utils can be found in the article for each file format.

Some are unfortunately Windows-only, but many — especially the newer ones — are cross platform and work on Windows, macOS and Linux (with Linux even being the best supported platform for some tools).

Common requirements

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

On Linux, Python 3 is almost 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 as Debian sid have 3.6+ in their repos.

On Windows, follow the below instructions for installing Python:

  1. Uninstall any existing Python 3 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]

AAMP

Two choices: aamptool or aamp.

For aamptool:

  1. Download the tool from GitHub (note: only built for Windows).

Warning: aamptool does not handle child parameter lists properly. This means some files will appear to have an incorrect structure. Additionally, Nintendo sometimes starts parameter structure names with numbers. aamptool converts structures into XML tags; however leading numbers in tag names are explicitly disallowed by the XML specification. As a result files with such nodes cannot be converted back to XML correctly as of September 2018.

For aamp:

  1. Install the aamp package. [CLI help]

BFRES

BFEVFL

  1. Install PyQt5. (If you're on Windows, install the PyQt5 package. [CLI help])
  2. Install the eventeditor package. [CLI help]

BYML

Two choices: ninten-file-tool (for Wii U only) or byml-v2 (Wii U and Switch, and supports all new node types)

For ninten-file-tool:

  1. Install the Java runtime environment (JRE).
  2. Download the latest release from GitHub.

For byml-v2:

  1. Install the byml package. [CLI help]

RSTB

  1. Install the rstb package. [CLI help]

SARC

Three choices: BotW Unpacker (for Wii U only) or sarc (Wii U and Switch, heavily tested on BotW archives) or SARC Tool (Wii U and Switch). We strongly advise against using other tools because they do not handle file alignment properly.

For BotW Unpacker:

  1. Download the latest release from GitHub.

For sarc:

  1. Install the sarc package. [CLI help]

For SARC Tool':

  1. Install the sarclib package. [CLI help]
  2. Install the libyaz0 package. [CLI help]
  3. Download the latest release from GitHub.