Scheduled system upgrade on Sunday 21 April 2024 15:00-16:00 UTC - On that day, the wiki and other services might go down for 5-15 minutes.

Help:Creating mods: Difference between revisions

Jump to navigation Jump to search
imported>BravelyPeculiar
No edit summary
imported>BravelyPeculiar
Line 1: Line 1:
{{Stub|what=}}
{{Stub|what=}}
Welcome, modders! This page is intended to be a collection of useful information for new and existing modders.
Welcome, modders! This page is intended to be a collection of useful information for anybody who wants to create mods. If you want to simply use other people's mods, see [[Help:Setting up mods]].


== Getting Started - Tools ==
== Files, Tools and Tutorials ==
Since BotW uses a lot of Nintendo's own file formats, you'll need tools to be able to edit them. To use leoetlino's tools, you need to install the latest version of Python (64 bit version), and tick the "Add to PATH"/"Add to environment variables" box in the installer. Then, to install the tool, run `pip install TOOL_NAME` in the command line.
Since BotW uses a lot of Nintendo's own file formats, you'll need tools to be able to edit them. To use leoetlino's tools, you need to install the latest version of Python (64 bit version), and tick the "Add to PATH" / "Add to environment variables" box in the installer. Then, to install the tool, run <code>pip install TOOL_NAME</code> in the command line.
* Many files in the game are compressed with [[Yaz0]] compression. Compressed files generally have the letter s prefixed to their file extension. To decompress and recompress these files, use [https://szs.wiimm.de/wszst/ wszst](use the download marked Cygwin if you're running Windows).
* Many files in the game are compressed with [[Yaz0]] compression. Compressed files generally have the letter <code>s</code> prefixed to their file extension. To decompress and recompress these files, use [https://szs.wiimm.de/wszst/ wszst](use the download marked Cygwin if you're running Windows).
* [[BYML]] files contain game parameters. Convert them to an editable format (and back) with leoetlino's [https://pypi.org/project/byml/ <code>byml</code> tool].
** <code>wszst decompress INPUT_FILE.sbactorpack OUTPUT_FILE.bactorpack</code>
** <code>wszst compress INPUT_FILE.bfres OUTPUT_FILE.sbfres</code>
* 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. For details, see [[Help:Editing the RSTB]].
* [[SARC]] archives contain collections of other files and folders, like .zip folders. Unpack, edit and re-pack them with leoetlino's [https://pypi.org/project/sarc/ <code>sarc</code> tool]. This tool automatically decompresses Yaz0-encoded archives, and re-compresses them when you repack if the extension starts with an <code>s</code>.
** <code>sarc extract INPUT_FILE.pack</code>
** <code>sarc create [-b] INPUT_FOLDER OUTPUT_FILE.sbactorpack</code> (Use <code>-b</code>for Wii U only).
* [[BYML]] files contain game parameters. Convert them to an editable format (and back) with leoetlino's [https://pypi.org/project/byml/ <code>byml</code> tool]. This tool automatically decompresses Yaz0-encoded files, and re-compresses them if the extension starts with an <code>s</code>.
** <code>byml_to_yml INPUT_FILE.byml OUTPUT_FILE.yml</code>
** <code>yml_to_byml [-b] INPUT_FILE.yml OUTPUT_FILE.sbyml</code>  (Use <code>-b</code> for Wii U only).
* [[AAMP]] files also contain game parameters. Convert them to an editable format (and back) with leoetlino's [https://pypi.org/project/aamp/ <code>aamp</code> tool].
* [[AAMP]] files also contain game parameters. Convert them to an editable format (and back) with leoetlino's [https://pypi.org/project/aamp/ <code>aamp</code> tool].
* [[SARC]] archives contain other files, sort of like .zip folders. Extract, edit and re-pack them with leoetlino's [https://pypi.org/project/sarc/ <code>sarc</code> tool].
** <code>aamp_to_yml INPUT_FILE.bxml OUTPUT_FILE.yml</code>
** <code>yml_to_aamp INPUT_FILE.yml OUTPUT_FILE.bgparamlist</code>
* [[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].
** <code>.sbfres</code> files contain models.
** <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>.Tex.sbfres</code> files contain both textures and mipmaps (Switch). Unlike on Wii U, mipmaps don't cause any problems here.

Navigation menu