OoT: Recompiled OoT: Recompiled, home

Who built what this is built on

Credits and license

This recompilation app exists because other people did the hard parts first and published them. Everything it is built on is listed here with a link, and the whole thing is open source under GPL-3.0, so you can read the source and build it yourself. How to get it running is on the install page.

The work this stands on

Without these, none of this would exist.

  1. Zelda64Recomp

    GPL-3.0

    The reference project, and the reason this one was attempted at all. A static recompilation of Majora's Mask, by Mr-Wiseguy and its contributors. Its structure and its technique are the model this followed throughout, though none of its values could be copied: every address in it belongs to a different game.

  2. N64Recomp

    MIT

    The recompiler itself, by Mr-Wiseguy. It reads the machine code out of an N64 program and writes C that does the same thing, which is the step that makes all of this possible.

  3. The runtime the recompiled code runs inside: librecomp and ultramodern, which stand in for the console's operating system, its threads, its timing and its memory.

  4. RT64

    MIT

    The renderer. It takes the display lists the game produces and draws them on modern hardware, and it is what the ray traced lighting in this recompilation app is built on top of.

  5. The oot decompilation (zeldaret/oot)

    Various, see the project

    A years-long community effort to turn the original game back into readable C. This recompilation app does not ship any of it, but it could not exist without it: the symbol names and addresses that make the recompiler's output meaningful come from that work.

Libraries

What it links against.

  1. RmlUi

    MIT

    Draws this recompilation app's own menus, which are HTML and CSS rendered inside the game's window.

  2. lunasvg

    MIT

    Renders the vector artwork the menus use.

  3. FreeType

    FreeType License / GPL-2.0

    Renders the text in those menus.

  4. SDL2

    Zlib

    Handles the window, the keyboard and every controller, including the ones that work without extra drivers.

How the recompilation app was built

I used AI assistance to write the recompilation app's code.

Said plainly, because you should know how something you are running was made. An AI assistant wrote a large part of the code, working from decisions I had already made. The planning, the review, the decisions, the debugging and most of the testing are mine: I decided what this should be and how it should behave, I read what came back, and I am the one who sat in front of the game finding out what was wrong with it. It is said here rather than buried because a project that hides this reads worse than one that does not.

License

GPL-3.0, and what that means for you.

You can use it, read it, change it and pass it on. If you pass on a changed version, that version has to carry the same freedoms and its source has to be available too. The original project this was modeled on is under the same license, which is part of why this one is.

The game itself is not covered by any of this, and is not distributed here. You need your own copy, and nothing in this repository is derived from it.

Texture packs

Made by others, and not included.

The recompilation app comes with no texture pack and downloads none. It reads one you put in its Texture packs folder yourself. If you would like a higher quality one, the pack below has a version made for RT64, the renderer this recompilation app is built on, so it works here too: download its rt64 version from the author's own releases page. All credit for it belongs to its author and the artists named in its readme. The gallery shows it beside the original look.

  1. OoT Reloaded

    No license stated

    A high resolution texture pack by GhostlyDark and the artists named in its readme, with a version made for RT64, the renderer this recompilation app is built on. Download the rt64 version from the author's releases page: it comes in parts, and the first part opens with 7-Zip. Put the .rtz file inside it in the recompilation app's Texture packs folder and choose it on the Texture pack row.