Zelda64Recomp/BUILDING.md

3.5 KiB

Building Guide

This guide will help you build the project on your local machine. The process will require you to provide a decompressed ROM of the US version of the game.

These steps cover: decompressing the ROM, running the recompiler and finally building the project.

1. Clone the Zelda64Recomp Repository

This project makes use of submodules so you will need to clone the repository with the --recurse-submodules flag.

git clone --recurse-submodules
# if you forgot to clone with --recurse-submodules
# cd /path/to/cloned/repo && git submodule update --init --recursive

2. Install Dependencies

Linux

For Linux the instructions for Ubuntu are provided, but you can find the equivalent packages for your preferred distro.

# For Ubuntu, simply run:
sudo apt-get install cmake ninja-build libsdl2-dev libgtk-3-dev lld llvm clang

Windows

You will need to install Visual Studio 2022. In the setup process you'll need to select the following options and tools for installation:

  • Desktop development with C++
  • C++ Clang Compiler for Windows
  • C++ CMake tools for Windows

The other tool necessary will be make which can be installe via Chocolatey:

choco install make

3. Decompressing the target ROM

You will need to decompress the NTSC-U N64 Majora's Mask ROM (sha1: d6133ace5afaa0882cf214cf88daba39e266c078) before running the recompiler.

There are a few tools that can do it:

Regardless of which method you use, copy the decompressed ROM to the root of the Zelda64Recomp repository with this filename:

  • mm.us.rev1.rom_uncompressed.z64

4. Generating the C code

Now that you have the required files, you must build N64Recomp and run it to generate the C code to be compiled. The building instructions can be found here. That will build the executables: N64Recomp and RSPRecomp which you should copy to the root of the Zelda64Recomp repository.

After that, go back to the repository root, and run the following commands:

./N64Recomp us.rev1.toml
./RSPRecomp aspMain.us.rev1.toml
./RSPRecomp njpgdspMain.us.rev1.toml

5. Building the Project

Finally, you can build the project! 🚀

On Windows, you can open the repository folder with Visual Studio, and you'll be able to [build / run / debug] the project from there.

If you prefer the command line or you're on a Unix platform you can build the project using CMake:

cmake -S . -B build-cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -G Ninja -DCMAKE_BUILD_TYPE=Release # or Debug if you want to debug
cmake --build build-cmake --target Zelda64Recompiled -j$(nproc) --config Release # or Debug

6. Success

Voilà! You should now have a Zelda64Recompiled executable in the build directory! If you used Visual Studio this will be out/build/x64-[Configuration] and if you used the provided CMake commands then this will be build-cmake. You will need to run the executable out of the root folder of this project or copy the assets folder to the build folder to run it.

[!IMPORTANT]
In the game itself, you should be using a standard ROM, not the decompressed one.