Skip to content
Reverse engineering notes and tools for The Legend of Zelda: Breath of the Wild
C C++ Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
game_files Dump (non-DLC) CDungeon and MainFieldDungeon map units Mar 23, 2019
tools tools: Create parent dirs when dumping map units Mar 23, 2019
.gitignore Initial commit Apr 27, 2018
1.5.0_difficulty_scaling_info.txt Initial commit Apr 27, 2018
MainScreen_00_msg_idx.txt Add a list of internal MainScreen_00 message indices Aug 21, 2018
README.md Mention the ZeldaMods wiki Oct 21, 2018
TODO.md todo: Remove question about MCZ that was due to flawed test Aug 23, 2018
areas.md Add basic information about areas Aug 20, 2018
climates_by_area.txt Add list of climates by area Aug 20, 2018
difficulty_scaling.md Add information about Ganon Blights Aug 23, 2018
game_files.md Update README Aug 29, 2018
great_plateau_barrier.md Document the Great Plateau barrier Jul 15, 2018
great_plateau_barrier.png Document the Great Plateau barrier Jul 15, 2018
libraries.md Add library list Jul 15, 2018
misc.md Add resource system notes and move them to another file Jun 29, 2018
motorcycle_area_checks.md Update TODO (remove motorcycle area limit) Aug 21, 2018
resource_system.md tools: Use a TSV for resource factory info Jul 12, 2018
scene_changes.md Add basic information about scene changes Aug 26, 2018
screen_list_nx.txt Add a list of screens Aug 27, 2018
symbols.md symbols: Mention eui:: Jun 14, 2018
telemetry.md Add information about telemetry Aug 5, 2018
yiga_clan_member_spawns.md Fix documentation about Yiga Jul 15, 2018

README.md

Breath of the Wild reverse engineering notes

What's in this repository?

  • Information and sometimes documentation about game internals. These files have the *.md extension in this repository. Note: New documentation will be posted on the ZeldaMods wiki instead to make it easier to update information for everybody. Existing documentation is also being moved and will only be updated on the wiki.

  • Some plain text files that were extracted from the executable or generated from the ROM, containing information about game internals as well.

  • Tools for understanding some game files in tools.

  • Tools and IDA scipts for reverse engineering the game and dumping structures/values from the executable in tools/ida.

  • A 010 Editor Template for beco files, which are used to map coordinates to map areas and/or tower areas.

Tools

Originally this repository also contained a lot of tools for working with the ROM, such as a SARC archive reader and a library to manipulate the RSTB.

These have been moved to their own repositories to make them more reusable and easier to install:

  • byml: library and CLI tools to convert between YAML and BYML (binary YAML)
  • sarc: library and CLI tool to create, extract and update SARC archives
  • rstb: library and CLI tool to query and edit the Resource Size Table (RSTB)
  • botwfstools (contentfs, overlayfs, edit, patcher): tools that make it easier to explore the romfs and edit files by exposing archives as directories and fixing the RSTB automatically

The following projects might also be helpful for playing with Breath of the Wild files:

  • aamp: library and CLI tools to convert between YAML and AAMP (Nintendo binary parameter archives)
  • evfl: library for manipulating Breath of the Wild's Event Flow files
  • EventEditor: graphical editor for Event Flow files

These can all be installed with pip install <name of the project>. Usage information is available in their respective repositories.

Credits

Thanks to MrCheeze for botw-tools, the object map and Zer0XoL for BotW-aampTool.

You can’t perform that action at this time.