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
98
Trophies
0
Age
23
XP
1,421
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: 69

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,321
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
43
XP
55
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
132
Trophies
0
Age
43
XP
290
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,718
Trophies
2
XP
3,766
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

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,136
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

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,136
Country
United States
managed to compile it with ubuntu this time and docker instead of the normal way. it took a little while, but it worked:

1638987276565.png

1638987212763.png
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    Had a ton of bugs and often crashed. It even didn't support DOS compatibility with older games. :feelsbadman:
  • SylverReZ @ SylverReZ:
    I only grew up with Windows XP because I was lucky.
  • RedColoredStars @ RedColoredStars:
    I downloaded XP on dialup when it came out. Overnights for like a week. cuz I couldn't tie up the phone line during the day. It was so awesome and worked so great going from ME to XP.
  • K3Nv2 @ K3Nv2:
    Vga pins were a dick
  • K3Nv2 @ K3Nv2:
    I kind of want down a large pizza at 10am then crash out
  • ZeroT21 @ ZeroT21:
    Having pizza all day? done it
  • K3Nv2 @ K3Nv2:
    Nah pizza hut open at 10:30
  • ZeroT21 @ ZeroT21:
    just buy a stack of pizza and keep the rest you don't need yet frozen
  • K3Nv2 @ K3Nv2:
    Or buy frozen pizza
  • ZeroT21 @ ZeroT21:
    I buy the regular kind, not the frozen stuff
  • ZeroT21 @ ZeroT21:
    supermarket pizza is ass
  • K3Nv2 @ K3Nv2:
    x65 would just yell at me
  • ZeroT21 @ ZeroT21:
    sounds ok, he didn't pull a gun out ,so...
  • K3Nv2 @ K3Nv2:
    $12 large any style pizza deal
  • K3Nv2 @ K3Nv2:
    Each bite is a $1 well spent
  • SylverReZ @ SylverReZ:
    @ZeroT21, Agreed. I hate oven pizza, only from pizza place.
    +1
  • K3Nv2 @ K3Nv2:
    Nah I can still go for totinos
  • RedColoredStars @ RedColoredStars:
    i like totinos party pizzas. lol.
  • RedColoredStars @ RedColoredStars:
    the cracker-like crust is great on those
  • RedColoredStars @ RedColoredStars:
    My neighbor and I are going to make this next month....
  • SylverReZ @ SylverReZ:
    Tiger crust is great.
  • K3Nv2 @ K3Nv2:
    I'm beefing with a neighbor currently each time I ask him for help with something he makes bs excuses then ignores my calls text but seems to randomly speak when I'm done with the project after doing things to help him
  • RedColoredStars @ RedColoredStars:
    DiGiorno Crispy Pan Pizza tasted pretty dang close to Pizza hut pan pizza, but Im not sure if theyve been discontinued or not. Havent seen them locally for a couple of months now.
  • RedColoredStars @ RedColoredStars:
    The croissant crust is still available though, but not quite as good imo.
    RedColoredStars @ RedColoredStars: The croissant crust is still available though, but not quite as good imo.