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
Indiana Jones and the Infernal Machine (infernal-machine-decomp)
PORTSNATIVE

Indiana Jones and the Infernal Machine (infernal-machine-decomp)

NATIVE PORTROLE-PLAYING / RPGWINDOWSALPHA

Indiana Jones and the Infernal Machine (infernal-machine-decomp)

Indiana Jones and the Infernal Machine

TechnologyDecompilation and reconstruction in C/C++

Available forWindows

View official project

About the project

Indiana Jones y la Máquina Infernal es un videojuego para PC, Game Boy Color y Nintendo 64 publicado en 1999, que basa su trama en el personaje cinematográfico Indiana Jones, desarrollado por LucasArts. Una versión para PlayStation se planifica pero fue cancelada al principio del desarrollo.

2 versions of Indiana Jones and the Infernal Machine

You're viewing: Indiana Jones and the Infernal Machine (infernal-machine-decomp)

Indiana Jones and the Infernal Machine (infernal-machine-decomp)github.com/andrewspode/infernal-machine-decomp-public
Windows
Current
Indiana Jones and the Infernal Machine (OpenJones3D)github.com/smlu/OpenJones3D
Windows
›

Official project information

Author's original READMEOpen on GitHub ↗

Indiana Jones and the Infernal Machine

A 100% byte-exact decompilation of LucasArts' Indiana Jones and the Infernal Machine (1999): C source that, built with the same compilers LucasArts used, turns back into the original Indy3D.exe, byte for byte.

This repository is not a port or a modernisation; it is a reference for how the game was actually written, for preservation and to help ports in development.

OpenJones3D was our starting point, but only around 15% of its functions were byte-exact. Partly that was because some of the game wasn't there yet (the INSANE movie player, zlib, the SSE renderer and a few hundred functions that still called into the retail executable), but also because they intentionally fixed bugs and improved things along the way, drifting further from LucasArts' code.

Despite the drift, it still gave us a huge head start: the file names and module layout, function and variable names, structures and types, and readable C for most of the game. That's far more than most decompilations have on day one, and truly awe-inspiring work, the result of nearly a decade spent on this game.

Using AI assistance (mostly Opus 5.5) and tooling loosely based on decomp-toolkit, it took a little over a month to track down the exact compilers used in 1999 and rebuild the code. A byte match on its own proves very little, as code can be bent until the bytes line up, so the goal throughout was the source LucasArts actually wrote, as close as we could get it, not 100% for the sake of it.

Strict rules banned the usual tricks for forcing a match, and every decision the evidence couldn't settle on its own was logged. Of the 3,300 functions, 3,102 rest on evidence alone; the other 198 depend on a measured choice, with me as the final decision-maker. Each one is labelled in the source, and every decision is documented.

In the process, we also released intel-cc-4.0-setup, which installs the Intel C/C++ 4.0 compiler that took some serious sleuthing to find (if anyone has the retail version, please get in touch), and a fix to wibo's heap emulation, both of which should help other decompilation projects. All the files OpenJones3D was missing will also be contributed straight back to it.

A big thank you to smlu of OpenJones3D for their help and support, and to Jack Price-Burns of Decomp Academy, who set up the initial toolchain and the anti-slop guidelines the agents worked under, based on his extensive experience bringing Star Fox Adventures to 100%.

What's in this repository

  • The source code for versions 1.2 (latest update) and 1.0 (retail CD), including the functions found only in the debug build.
  • The toolchain: a setup script that downloads and verifies every compiler the game was built with, and a build that recreates Indy3D.exe and checks it against your own copy of the game (BUILDING.md).
  • The documentation: how it was built, the decisions we made and what we learned about the original code.
PageWhat it covers
BYTE-BREAKDOWN.mdWhere every byte of the rebuilt executable comes from, and figures for every area and file
BUILDING.mdHow to set it up and build it, and which copies of the game work
METHODOLOGY.mdThe rules we followed, and what counts as a match
DECISIONS.mdThe evidence behind the source, and every kind of choice the evidence couldn't settle
DECISIONS-LIST.mdEvery function that rests on one of those choices, and the choice made
SOURCE-TREE.mdHow LucasArts laid out their source, how we mirror it, and what else is in the repository
HOUSE-STYLE.mdThe coding conventions LucasArts' programmers followed
VERSIONS.mdThe releases of Indy3D.exe relevant here (including Steam and GOG), and what 1.2 changed
DEBUG-BUILD.mdThe debug build found on the Italian CD, and what it taught us
INSANE.mdThe SMUSH/INSANE movie player built into the game
COMPILERS.mdHow we identified all five build tools (four compilers and an assembler) and their flags
COMPILER-INTERNALS.mdWhat we learned about how Visual C++ 5.0 generates code
BUILD-PIPELINE.mdHow the build works, step by step, and what it still copies from the retail executable
REPRODUCIBILITY.mdEvery download the build depends on, and how each one is pinned

Additional acknowledgments

Thanks to OpenJKDF2, whose work on the related Jedi Knight engine informs many names, and to the authors of wibo, objdiff and the compiler packages listed in REPRODUCIBILITY.md. zlib 1.0.9 is by Jean-loup Gailly and Mark Adler.

License

AGPL v3, inherited from OpenJones3D.

View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Role-Playing / RPG
Status
alpha
Original platform
—
Technology
Decompilation and reconstruction in C/C++
Version
—
Updated
—

Target platforms 1

Windows
View on GitHub
Advertisement