Skip to content
forked from zeldaret/oot3d

Decompilation of The Legend of Zelda: Ocarina of Time 3D

License

Notifications You must be signed in to change notification settings

louist103/oot3d

 
 

Repository files navigation

The Legend of Zelda: Ocarina of Time 3D

This is a WIP decompilation of The Legend of Zelda: Ocarina of Time 3D. 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. The only build currently supported is the USA version.

It builds the following ROM:

  • oot3d.axf
  • code.bin md5: 20c7ec6288ba0af4feb6db646c6cc6d5

Re-building of romfs.bin and oot3d.3ds will be targeted in the future.

Note: This repository does not include any of the assets necessary to build the ROM. A prior copy of the game is required to extract the needed assets.

Website: https://zelda.deco.mp/

Discord: https://discord.zelda.deco.mp

Installation

These instructions and the tools in this repository all assume a Windows development environment. Cross-platform support may be added in the future.

To set up the repository, place a USA version of The Legend of Zelda: Ocarina of Time 3D (USA) in the disassembly directory of the repository and name it baserom.3ds. Any revision (v0 or v1) and either trimmed or untrimmed roms should be able to produce a correct repository.

Download and extract the contents of RVCT4.0 [Build 821] for Windows. Once extracted, the following environment variables must be set:

  • ARMCC_PATH: The root directory of the extracted contents, such that $ARMCC_PATH/win_32-pentium is the folder containing the compiler binaries
  • RVCT40INC: The include directory for ARM's Windows headers, most likely equal to $ARMCC_PATH/include/windows
  • RVCT40LIB: The library director for ARM's libaries, most likely equal to $ARMCC_PATH/lib

You will also need to have installed cmake, make, and python for Windows.

To begin, run cmake -B build -S . -G "Unix Makefiles". This should configure the build using the ARM compiler toolchain. If this succeeds, perform the first build using cmake --build build -t check. If all goes well, you should see:

build/code.bin: OK

Note: to speed up the build, you can pass -jN, where N is the number of threads to use in the build.

Building

A variety of useful cmake targets are available. Run cmake --build build -t [target] with the following values of [target]:

  • To build oot3d.axf, set [target] = oot3d
  • To build code.bin, set [target] = code
  • To check matching, set [target] = check

Contributing

TODO

Most discussions happen on our Discord Server, where you are welcome to ask if you need help getting started, or if you have any questions regarding this project and other decompilation projects.

About

Decompilation of The Legend of Zelda: Ocarina of Time 3D

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.9%
  • Python 1.2%
  • Other 0.9%