Dante's Inferno Recompiled
Dante's Inferno Recompiled brings Dante's Inferno to PC.
- Type: PC port
- Game: Dante's Inferno
- Runs on Windows
- By florinp93
- Latest release v0.7.2-beta-hotfix, 2026-09-16
- Source: https://github.com/florinp93/hells-gate-recomp
README
Dante's Inferno - Xbox 360 to PC Port (ReXGlue)
Fan artwork by POOTERMAN (#12)
A static recompilation port of Dante's Inferno (Xbox 360) to native PC, built with the ReXGlue SDK.
ReXGlue converts Xbox 360 PowerPC XEX executables into portable C++ that runs natively on Windows (D3D12) and Linux (Vulkan) - no emulation, no JIT at runtime.
🤖 AI Usage Disclosure
Transparency and integrity are important to this project. Artificial Intelligence (AI) tools were utilized as part of the development and maintenance workflow, strictly serving as an assistant to handle repetitive, time-consuming, and low-level tasks.
How AI Was Used:
- Documentation: Generating initial drafts, organizing notes, and structuring documentation to keep project progress up to date.
- Research & Exploration: Investigating APIs, syntax references, and conceptual troubleshooting.
- Git Workflows: Assisting with routine commit descriptions, repository maintenance tasks, and boilerplate structuring.
Human Oversight:
While AI accelerated the auxiliary workflow, all core architectural decisions, advanced problem-solving, code implementation, and final reviews were entirely human-driven. The AI served to eliminate friction, allowing focus on high-level logic and feature development.
Linux build (Ubuntu)
The project can also be built natively on Linux using Vulkan.
The commands below use Clang 22 and the same ReXGlue workflow used by the Windows build, with the additional Linux GPU plugin and generated-code patch step.
1. Install the required Linux dependencies
Make manifest backup and make the provided dependency installer executable and run it:
cp dantes_inferno_manifest.toml dantes_inferno_manifest.toml.back
chmod +x ./scripts/install_dantes_min.sh
./scripts/install_dantes_min.sh
This installs the compiler/toolchain and the development libraries needed by ReXGlue on Ubuntu.
2. Set up the SDK
Run the existing project setup script with PowerShell:
pwsh ./setup.ps1
3. Configure Linux and build the ReXGlue CLI
cmake -B out/build/linux-release \
-G Ninja \
-DCMAKE_C_COMPILER=/usr/bin/clang-22 \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++-22 \
-DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -I$(pwd)/thirdparty/rexglue-sdk/thirdparty/imgui -mssse3 -mavx2" \
-DREXSDK_DIR=thirdparty/rexglue-sdk
cmake --build out/build/linux-release --target rexglue
4. Build the Xenos GPU plugin
cmake --build out/build/linux-release --target rexgpu-xenos
cp thirdparty/rexglue-sdk/out/linux-amd64/lib*.so \
./out/build/linux-release/
5. Regenerate the SDK-managed project files
Make sure game/default.xex is present before running this command:
thirdparty/rexglue-sdk/out/linux-amd64/rexglue init \
--force \
--project-name dantes_inferno \
--project-root . \
--xex-path game/default.xex \
--game-root game
6. Generate the recompiled C++ sources
Reconfigure the project:
cmake -B out/build/linux-release \
-G Ninja \
-DCMAKE_C_COMPILER=/usr/bin/clang-22 \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++-22 \
-DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -I$(pwd)/thirdparty/rexglue-sdk/thirdparty/imgui -mssse3 -mavx2" \
-DREXSDK_DIR=thirdparty/rexglue-sdk
Restore the project manifest backup, then run codegen:
cp dantes_inferno_manifest.toml.back dantes_inferno_manifest.toml
cmake --build out/build/linux-release \
--target dantes_inferno_codegen
7. Apply the generated-code patches
The generated sources need the project-specific patches before the final game build:
python3 patches/generated/apply_generated_patches.py
8. Build the Linux executable
Reconfigure once more:
cmake -B out/build/linux-release \
-G Ninja \
-DCMAKE_C_COMPILER=/usr/bin/clang-22 \
-DCMAKE_CXX_COMPILER=/usr/bin/clang++-22 \
-DCMAKE_CXX_FLAGS="-stdlib=libstdc++ -I$(pwd)/thirdparty/rexglue-sdk/thirdparty/imgui -mssse3 -mavx2" \
-DREXSDK_DIR=thirdparty/rexglue-sdk
Restore the manifest and build the port:
cp dantes_inferno_manifest.toml.back dantes_inferno_manifest.toml
cmake --build out/build/linux-release --target dantes_inferno
The resulting Linux executable is:
out/build/linux-release/dantes_inferno
Remove manifest backup:
cp dantes_inferno_manifest.toml.back dantes_inferno_manifest.toml
rm -rf dantes_inferno_manifest.toml.back
9. Run on Linux
From the repository root:
./scripts/dantes_inferno_exe.sh
Code dantes_inferno_exe.sh is:
LD_LIBRARY_PATH="$PWD/thirdparty/rexglue-sdk/out/linux-amd64:$LD_LIBRARY_PATH"
./out/build/linux-release/dantes_inferno
Progress Tracker
-
Game boots, runs, and is fully playable
- ReXGlue SDK v0.10.0 codegen + native build
- VMX/AltiVec PowerPC instructions supported
- VP6/Bink FMV corruption fixed (upstream PR to be made)
- Save system fixed (fiber/setjmp/longjmp +
XUserFindUsershandler)
-
Graphics & input configured
- Resolution scaling, anisotropic override, post-effect cvars
- Aspect ratio control: 4:3 / 16:9 / 16:10 / 21:9 / 32:9
- SDL input backend set as default
- Mouse & keyboard keybind defaults configured
In progress
- DLC auto-install hook (
OnPostSetupSTFS package scan) - 120 Hz / high-refresh timing polish (gameplay OK; menu/minigame timing under reverse engineering)
- Native DiligentCore/Vulkan renderer migration (working, not fully implemented)
Roadmap
| Phase | Feature | Status |
|---|---|---|
| 1 | Graphics quality cvars (resolution scale, AA, filtering) | Done |
| 2 | Input defaults + SDL backend | Done |
| 3 | DLC auto-install | In progress |
| 4 | Ultrawide / aspect-ratio support | Done |
| 5 | Button glyph replacement (input-device RE) | Planned |
| 6 | Native DiligentCore/Vulkan renderer migration | In progress (working, not final) |