AxioDL / metaforce

A native reimplementation of the Metroid Prime engine
https://axiodl.com
Other
584 stars 41 forks source link
c-plus-plus dawn game metroid metroid-prime nintendo reimplementation reverse-engineering webgpu

Metaforce Build Status Discord Badge

A reverse-engineered, native reimplementation of Metroid Prime.

This project is currently in alpha state.
Builds are currently unavailable while the project undergoes large changes.

Separately, a matching decompilation of Metroid Prime is currently underway. Contributions are welcome.
Progress on the decompilation benefits Metaforce with bug fixes and new implementations.

Metaforce screenshot

Platform Support

Usage

Windows:

macOS:

Linux:

CLI options (non-exhaustive)

Build Prerequisites:

git clone --recursive https://github.com/AxioDL/metaforce.git
cd metaforce

Update Directions

cd metaforce
git pull
git submodule update --recursive

Build Directions

For Windows, it's recommended to use Visual Studio. See below.

ninja (Windows/macOS/Linux)

Builds using RelWithDebInfo by default.

cmake -B out -G Ninja # add extra options here
cmake --build out --target metaforce hecl visigen

CMake configure options

CLion (Windows/macOS/Linux)

(main development / debugging IDE)

Open the repository's CMakeLists.txt.

Optionally configure CMake options via File > Settings > Build, Execution, Deployment > CMake.

Qt Creator (Windows/macOS/Linux)

Open the repository's CMakeLists.txt via File > Open File or Project.

Configure the desired CMake targets to build in the Projects area of the IDE.

Visual Studio (Windows)

Verify all required VS packages are installed from the above Build Prerequisites section.

Open the metaforce directory in Visual Studio (imports CMake configuration).

MSVC and clang-cl configurations should import automatically.

Xcode (macOS)

cmake -G Xcode ../metaforce

Then open metaforce.xcodeproj