Who built what this is built on
Credits and licence
This program 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 GPL-3.0, so you can read the source and build it yourself.
The work this stands on
Without these, none of this would exist.
-
Zelda64Recomp
GPL-3.0The 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.
-
N64Recomp
MITThe 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.
-
N64ModernRuntime
MITThe 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.
-
RT64
MITThe 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 program is built on top of.
-
The Ocarina of Time decompilation
Various, see the projectzeldaret/oot, a years-long community effort to turn the original game back into readable C. This program 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.
-
RmlUi
MITDraws this program's own menus, which are HTML and CSS rendered inside the game's window.
-
lunasvg
MITRenders the vector artwork the menus use.
-
FreeType
FreeType License / GPL-2.0Renders the text in those menus.
-
SDL2
ZlibHandles the window, the keyboard and every controller, including the ones that work without extra drivers.
How it was built
I used AI assistance to write the 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.
Licence
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 modelled on is under the same licence, 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.