A decompilation of Metroid Prime brought to you by fans of the series.
Go to file
Phillip Stephens 6a83d09d43 Link dvdlow.c (DVDLowRead matches except for stack) 2023-02-06 23:53:28 -08:00
.github/workflows Attempted fix for git-in-container 2023-01-31 01:02:59 -05:00
.vscode IDvdRequest is fake, remove it 2023-01-29 14:16:45 -08:00
asm CAutoMapper: fix symbols 2023-02-06 22:07:26 -08:00
buildstrings Add build string files 2022-10-06 14:25:33 -07:00
include Match and link CExplosion 2023-02-06 21:55:32 -08:00
libc Match and link sscanf, string and mbstring 2023-01-18 21:16:39 -08:00
sha1 Add missing sha1 files 2022-08-22 10:18:31 -04:00
src Link dvdlow.c (DVDLowRead matches except for stack) 2023-02-06 23:53:28 -08:00
tools frank.py update 2023-02-04 02:04:04 -05:00
.clang-format Start matching CScriptPlatform; more CScriptMazeNode 2022-09-18 01:55:13 -04:00
.gitattributes Initial commit 2022-03-23 17:22:48 -04:00
.gitignore Add frank.py; configure.py --frank (non-matching) 2023-01-31 00:41:53 -05:00
CONTRIBUTING.md Replace metaforce_renames.sh with a python script 2022-10-23 16:43:51 +03:00
README.md Use decomp-toolkit 2022-11-27 23:57:46 -05:00
configure.py Link dvdlow.c (DVDLowRead matches except for stack) 2023-02-06 23:53:28 -08:00
diff_settings.py Add header dependency tracking; add asm-differ config & more 2022-04-12 23:55:49 -04:00
dtk_version Update dtk 2023-01-05 09:14:05 -05:00
ldscript.lcf Use FORCEACTIVE for OSMessage rather than FORCEFILES 2023-01-14 14:25:17 -08:00
progress.py Build static libs by default; update progress.py 2022-12-14 21:17:16 -05:00

README.md

Metroid Prime Build Status Code Progress Data Progress

A decompilation of Metroid Prime.

This repository builds the following DOLs:

949c5ed7368aef547e0b0db1c3678f466e2afbff  build/mp1.0/main.dol (USA 0-00)
860141f9671fc141ce8f55448643f713bc64b349  build/mp1.1/main.dol (USA 0-01)
52316d2a71c0d18c84f054fd6f1e58bdd7bf0ded  build/mp1.kor/main.dol (KOR)

If you'd like to contribute, see CONTRIBUTING.md.

Dependencies

Windows:

  • Install ninja and add it to %PATH%.
  • Install devkitPro with GameCube development package.
  • Open C:\devkitPro\msys2\msys2.exe
  • Install GameCube development packages:
    pacman -Sy --noconfirm --needed msys2-keyring
    pacman -Su --noconfirm --needed gcc git gamecube-dev
    

macOS:

  • Install ninja:
    brew install ninja
    
  • Install wine-crossover:
    brew install --cask --no-quarantine gcenx/wine/wine-crossover
    
  • Install devkitPro.
  • Install GameCube development packages:
    sudo dkp-pacman -Syu --noconfirm --needed gamecube-dev
    

Linux:

  • Install ninja.
  • Install wine from your package manager.
    • Faster alternative: WiBo, a minimal 32-bit Windows binary wrapper.
      Ensure the binary is in PATH.
  • Install devkitPro.
  • Install GameCube development packages:
    sudo dkp-pacman -Syu --noconfirm --needed gamecube-dev
    

Building

  • Checkout the repository:
    git clone https://github.com/PrimeDecomp/prime.git
    
  • Download GC_WII_COMPILERS.zip
  • Extract the contents of the GC directory to tools/mwcc_compiler.
    • Resulting structure should be (for example) tools/mwcc_compiler/1.3.2/mwcceppc.exe
  • Configure:
    python configure.py
    
  • Build:
    ninja