Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Gauntlet Dark Legacy
PORTSNATIVE

Gauntlet Dark Legacy

NATIVE PORTACTION / ADVENTUREWINDOWSLINUXMACOSALPHA

Gauntlet Dark Legacy

OriginGameCube

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

Gauntlet Dark Legacy es un videojuego de acción y aventura publicado por Midway Games en 2001.

Official project information

Author's original READMEOpen on GitHub ↗

Gauntlet Dark Legacy
Build Status Code Progress Data Progress Linked Progress

<img src="https://decomp.dev/sabishii-bit/Gauntlet-Dark-Legacy-Decompilation.svg?w=512&h=256" width="512" height="256">

<!-- The progress badges and graphic above are served by https://decomp.dev. They stay blank until the repository is registered there: sign in at decomp.dev with GitHub and add this project. CI already uploads the `report.json` progress report on every build of the default branch, which decomp.dev ingests automatically once the project is registered. -->

A work-in-progress decompilation of Gauntlet Dark Legacy for the Nintendo GameCube, built with decomp-toolkit and the dtk-template project structure.

This repository does not contain any game assets or assembly whatsoever. An existing copy of the game is required.

The required original main.dol input is:

VersionGame IDSHA-1
Rev 1 (USA)GUNE5D7cba77aa496eb0fc5ffec60efd9680aa9635d679

Dependencies

Windows

On Windows, it's highly recommended to use native tooling. WSL or msys2 are not required.
When running under WSL, objdiff is unable to get filesystem notifications for automatic rebuilds.

  • Install Python and add it to %PATH%.
  • Download ninja and add it to %PATH%.
    • Quick install via pip: pip install ninja

macOS / Linux

  • Install ninja.

wibo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used to run the CodeWarrior compilers.

All other tools (compilers, objdiff-cli, sjiswrap, etc.) are downloaded automatically during the build.

The optional, locally derived GC/1.2.5s and GC/1.2.5sn matching profiles are not distributed in the compiler archive. Their open, hash-pinned setup is documented in tools/gdl/mwcc_p6/README.md.

Building

  • Clone the repository:

    git clone https://github.com/sabishii-bit/Gauntlet-Dark-Legacy-Decompilation.git
    
  • Copy your game's disc image into orig/GUNE5D/.

    • Supported formats: ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ, TGC
    • Alternatively, place extracted files directly (e.g. orig/GUNE5D/sys/main.dol).
    • After the initial build, the disc image can be deleted to save space (objects are extracted to the filesystem).
  • Configure:

    python configure.py
    
  • Build:

    ninja
    

The build is verified against config/GUNE5D/build.sha1, which targets the extab-cleaned reference, not the original input hash above.

ExceptionPPC.cpp links from stock GC 1.2.5 output without postprocessing. Its runtime header retains a user-approved NMWEXCEPTION_CPP compatibility split between inline and out-of-line exception methods; this has a strict C++ one-definition-rule caveat, documented in AGENTS.md. NMWException.cpp itself still uses an extracted fallback object.

Diffing

Once the initial build succeeds, an objdiff.json should exist in the project root.

Download the latest release from encounter/objdiff. Under project settings, set Project directory. The configuration should be loaded automatically.

Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, configure.py, splits.txt or symbols.txt.

Xbox debug symbols

research/xbox_symbols/ contains ~3,500 type definitions (structs, enums, unions — with exact field offsets and sizes) extracted from leaked PDB debug symbols of the Xbox version of the game. Because Midway shared the game codebase across platforms, these layouts carry over to the GameCube binary.

[!NOTE] Verified: decompiling AtreeFindNode/AtreeMatch in the GUNE5D DOL shows every field offset, struct size, and array stride matching the PDB definitions of atree, anode, anodeinfo, atreelist, and atreeinfo exactly (11/11 offsets checked — e.g. atree.nanodes @ 0x3C, sizeof(anode) = 0x28, atreeinfo.offset @ 0x20).

View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Action / Adventure
Status
alpha
Original platform
GameCube
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement