Update BUILDING.md

This commit is contained in:
David Chavez 2024-05-17 23:38:28 +02:00 committed by GitHub
parent 7a024eb909
commit 85c5fbcab8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -6,7 +6,7 @@ This guide will help you build the project on your local machine. The process wi
We'll walk you through acquiring these, running the required processes and finally building the project. We'll walk you through acquiring these, running the required processes and finally building the project.
### 1. Clone the Zelda64Recomp Repository ## 1. Clone the Zelda64Recomp Repository
This project makes use of submodules so you will need to clone the repository with the `--recurse-submodules` flag. This project makes use of submodules so you will need to clone the repository with the `--recurse-submodules` flag.
```bash ```bash
@ -15,7 +15,7 @@ git clone --recurse-submodules
# cd /path/to/cloned/repo && git submodule update --init --recursive # cd /path/to/cloned/repo && git submodule update --init --recursive
``` ```
### 2. Install Dependencies ## 2. Install Dependencies
You will need a few dependencies. For Linux we provide the instructions for Ubuntu, but you can find the equivalent packages for your preferred distro. You will need a few dependencies. For Linux we provide the instructions for Ubuntu, but you can find the equivalent packages for your preferred distro.
@ -27,7 +27,7 @@ cmake ninja libsdl2-dev libgtk-3-dev lld llvm clang-15
choco cmake install ninja sdl2 gtk3 llvm choco cmake install ninja sdl2 gtk3 llvm
``` ```
### 3. Creating the ELF file & decompressed ROM ## 3. Creating the ELF file & decompressed ROM
You will need to build [this commit](https://github.com/zeldaret/mm/tree/23beee0717364de43ca9a82957cc910cf818de90) of the Majora's Mask decompilation. Follow their build instructions to generate the ELF file and decompressed ROM. While building you may get the following build error: You will need to build [this commit](https://github.com/zeldaret/mm/tree/23beee0717364de43ca9a82957cc910cf818de90) of the Majora's Mask decompilation. Follow their build instructions to generate the ELF file and decompressed ROM. While building you may get the following build error:
```bash ```bash
RuntimeError: 'jr' instruction does not have an 'jump label' field RuntimeError: 'jr' instruction does not have an 'jump label' field
@ -43,7 +43,7 @@ Upon successful build it will generate the two required files. Copy them to the
- `mm.us.rev1.rom_uncompressed.elf` - `mm.us.rev1.rom_uncompressed.elf`
- `mm.us.rev1.rom_uncompressed.z64` - `mm.us.rev1.rom_uncompressed.z64`
### 4. Generating the C code ## 4. Generating the C code
Now that you have the required files, we have to build [N64Recomp](https://github.com/Mr-Wiseguy/N64Recomp) and run it to generate the C code to be compiled. The building instructions can be found in that repo. That will build the executables: `N64Recomp` and `RSPRecomp` which you should copy to the root of the Zelda64Recomp repository. Now that you have the required files, we have to build [N64Recomp](https://github.com/Mr-Wiseguy/N64Recomp) and run it to generate the C code to be compiled. The building instructions can be found in that repo. That will build the executables: `N64Recomp` and `RSPRecomp` which you should copy to the root of the Zelda64Recomp repository.
@ -54,16 +54,16 @@ After that, go back to the repository root, and run the following commands:
./RSPRecomp[.exe] njpgdspMain.us.rev1.toml ./RSPRecomp[.exe] njpgdspMain.us.rev1.toml
``` ```
### 5. Building the Project ## 5. Building the Project
Finally, you can build the project! We'll use be using CMake: Finally, you can build the project! We'll use be using CMake:
```bash ```bash
cmake -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE=Release # or Debug if you want to debug cmake -S . -B cmake-build -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 cmake --build build-cmake --target Zelda64Recompiled -j$(nproc) --config Release # or Debug
``` ```
### 6. Profit ## 6. Profit
Voilà! You should now have a `Zelda64Recompiled[.exe]` file in the `build-cmake` directory! Voilà! You should now have a `Zelda64Recompiled[.exe]` file in the `build-cmake` directory!
_Note: In the game itself, you should be using a standard ROM, not the decompressed one._ _Note: In the game itself, you should be using a standard ROM, not the decompressed one._