The Ocarina of Time decompilation project is complete, source code fully reverse engineered

zelda.png

After two hard years of work, the Zelda Reverse Engineering Team has finished one of their biggest projects: recreating The Legend of Zelda: Ocarina of Time's source code, from scratch. We've seen similar successful attempts in the past, such as when Super Mario 64 was also decompiled, which spawned further fan projects that saw the game ported to the Nintendo Switch before Nintendo could, and with widescreen and 60fps support, to boot.

This is a WIP decompilation of The Legend of Zelda: Ocarina of Time. The purpose of the project is to recreate a source code base for the game from scratch, using information found inside the game along with static and/or dynamic analysis. It is not producing a PC port.

Currently, the official website for the decompilation shows the project at 98% completion, as the last finishing touches are done, but are yet to be submitted as a pull request on the project's GitHub. Once it's completed and publically available, it's likely we'll see PC ports and mods being made--not from the ZRET team themselves though, as they want to focus purely on documenting their work and trying to reverse engineer different versions of Ocarina of Time and other Zelda games. For now, the decompilation applies to the Master Quest release of Ocarina of Time on the GameCube.

We thought for a time that we may never be able to match every function completely, so this is an incredibly exciting accomplishment. Dozens of people helped work on this project, and together we were able to achieve something amazing.

If you're looking for other Zelda fan projects to tide you over until the decompilation is released, then you might want to check out the Spaceworld '97 Experience romhack, which came out last week.

:arrow: Source
 

B-alpha

Well-Known Member
Newcomer
Joined
Jul 6, 2020
Messages
85
Trophies
0
Age
21
XP
604
Country
Germany
Just saw the video as well. I really have to get into coding. I would love to mod the hud to my personal liking and give it a more modern look....

(I created this from various google images)
 

Attachments

  • ocarina of time hd2.png
    ocarina of time hd2.png
    720.7 KB · Views: 13

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
34,348
Trophies
2
Website
trastindustries.com
XP
23,453
Country
United Kingdom
Just saw the video as well. I really have to get into coding. I would love to mod the hud to my personal liking and give it a more modern look....

(I created this from various google images)
If it is anything like the Mario 64 setup (and enough of it was in my quick scan of it) then while you are not likely to be porting it out, or doing truly crazy things then there is a lot that can be done by someone with a basic overview of what goes for coding (as in give me a basic definition of programming loop, if you use a word like hud you probably know enough terminology, can search for general programming constructions on whatever C tutorial website you care to find), have maybe made a cheat (or can follow along with the ideas espoused in https://web.archive.org/web/20080309104350/http://etk.scener.org/?op=tutorial well enough), then basic English proficiency (things are generally named for what they are, both at file level and function call level) and maybe a choice tile editor (not sure what we are suggesting for the N64 these days but there is bound to be something on http://www.romhacking.net/utilities/ . If you are lucky then the thing will be basic BMP/PNG or something and the build script handles things) will see you able to do some serious damage. Plenty of people that would be the first to tell you they would not even be able to do a hello world in C were having fun tweaking variables for cameras, speeds, health and much more besides, things that would take a conventional otherwise seriously skilled ROM hacker some considerable time and effort to do.
Go through the later pages of the various Mario 64 threads ( https://gbatemp.net/threads/super-mario-64-has-been-decompiled.542918/ ) for if nothing else they detail some of the things you need to get a compiler for the N64 target going on.
If and when someone does go through and see what is needed for a PC port then if it is a comparatively simple as the Mario 64 stuff ultimately became (I did have a quick scan here but nothing jumped out at me as quite as obvious/funnelled into one like the Mario 64 thing, but it was a quick scan and I am no N64 versed C coder) your changes will probably (as in unless the porters also remake all the menus to work with a mouse or something) be almost trivially remade on anything there as well in case you were afraid of that one.


On a related note then while I have not seen anything here then have any of the many Zelda hacking forums and groups elsewhere on the internet done anything like the above yet where people get to fiddle? Simple things like camera angle, camera recovery times, lock on tweaks, health stuff... that you can get.
 

Marcelo20XX

New Member
Newbie
Joined
Apr 8, 2019
Messages
2
Trophies
0
Age
41
XP
32
Country
United States
I will be experimenting with the code to tweak the game once again to my liking, changing many things like the HUD and disabling NAVI. But I will wait until a PC Port akin to Super Mario 64 is being worked on...
 

Ottoclav

Well-Known Member
Member
Joined
May 27, 2020
Messages
128
Trophies
0
Age
41
XP
260
Country
United States
I'm really on the outside fringe of this type of thing. Please explain what this means for the community, please? You have a functioning PC port? or just got the screen to load up? or link something where you do explain so that it isn't directly in this public forum... cuz this looks exciting.
 

ut2k4master

Lord Tourettes
Member
Joined
Feb 20, 2010
Messages
1,468
Trophies
1
XP
2,687
Country
Germany
I'm really on the outside fringe of this type of thing. Please explain what this means for the community, please? You have a functioning PC port? or just got the screen to load up? or link something where you do explain so that it isn't directly in this public forum... cuz this looks exciting.
if means he successfully compiled an n64 rom from the source code (and the assets from an already existing rom). has nothing to do with a pc port, thats months away. anyone can compile the code right now, theres nothing special about it so far
 

godreborn

Well-Known Member
Member
Joined
Oct 10, 2009
Messages
24,228
Trophies
1
XP
15,279
Country
United States
I'm really on the outside fringe of this type of thing. Please explain what this means for the community, please? You have a functioning PC port? or just got the screen to load up? or link something where you do explain so that it isn't directly in this public forum... cuz this looks exciting.
You can compile it with Debian wsl version 2. You can change to version 2 in power shell, which creates a virtual Linux disk. One thing I needed was zlib 2.1.9 as well or else make setup failed. Think oot needs 8MBs of ram or black screen with project 64. It's very simple to do, just a reminder of things I encountered. And, yeah, it's not a port.
 
  • Like
Reactions: p1w1x and Ottoclav
General chit-chat
Help Users
    Veho @ Veho: https://i.imgur.com/O0UJ9o2.jpg +1