The approach
Byte for byte
Each function is written so the period compiler — Visual C++ 6, .NET 2003, Intel C/C++ — turns it into exactly the retail machine code. A scoreboard checks every one, and the build fails if a matching function ever stops matching.
Two builds
Legacy is the game as it shipped, bugs and all — a faithful record. Modern is the same source with fixes and new features, kept behind a define so the legacy build keeps matching.
No game data
The repositories contain source only. Public releases come with install scripts that copy the data out of your own disc images, checking every file against verified redump.org checksums.
Plays today
Builds run under Wine and Proton on Linux and the Steam Deck, on macOS through CrossOver, and natively on Windows.




The modern build at 1920×1080: Direct3D 9 with antialiasing, model shadows, 32-bit textures and 16× anisotropic filtering.
Every binary of the game — the LithTech engine (lithtech.exe,
server.dll, the d3d.ren renderer), the launcher, the dedicated server and
the three game DLLs — compiled from source with the original 2000-era
compilers.
Monolith never released the engine source, so src/engine/ is a
reconstruction written to recompile to the retail machine code. The game code
is Monolith’s own v1.003 source release, with the Game of the Year changes
reconstructed from the retail DLLs.
Modern build
- Direct3D 9 renderer, widescreen, AA and anisotropic filtering
- XInput controller support
- High frame rates that play correctly
- Open-source audio and video, with OpenMiles and FFmpeg
- Fixes and features from the NOLF Modernizer, reimplemented in source
- Bundled DirectMusic, so the music plays under Wine and Proton
- Multiplayer backed by OpenSpy


The game code is Monolith’s public source release of 1.3, the game’s last
update, compiled with Visual C++ 6 SP5 as retail was. Where the release
differs from what actually shipped, the retail code is reconstructed in place
and marked RETAIL:.
The engine — Lithtech.exe and server.dll — is built from the 2006
LithTech Jupiter source, back-ported to 2002. The sound driver and message DLL
are reconstructed from the retail binaries, and the server directory from
Monolith’s Titan code. Nothing of the retail engine remains in the game
directory.
Modern build
- Widescreen and FOV, up to 8× AA and 16× AF
- XInput controller support
- High frame rates that play correctly
- Our own Bink player on FFmpeg — no RAD binaries
- NOLF 2 Modernizer fixes, reimplemented in source
Byte-identical code
29,261 of 32,894 functions · retail 1.3, engine included
View nolf2src → ReleasesMonolith never released Contract J.A.C.K.’s source. But its binaries show it was built from the same tree as NOLF 2 — so this project starts from NOLF 2’s game source and the LithTech Jupiter engine, and brings each function to what the retail binaries are, compiled with Visual C++ .NET 2003 under Wine.
The newest of the three, and already well along: the launcher, dedicated server, sound driver and client effects are all above 99%.
Modern build
- Widescreen and FOV
- XInput controller support
- High frame rates that play correctly
- Intro movies through our FFmpeg-based Bink player
- Speech plays with no codec to install
- NOLF 2 Modernizer fixes, carried over


For NOLF, Aliens versus Predator 2, NOLF 2, Contract J.A.C.K., Tron 2.0 and the rest of that era: modern, cross-platform tools for the files these games ship — and the original development tools, archived and reconstructed for research.
lithrez & LithRez Studio
A command-line tool whose classic commands behave like Monolith’s LITHREZ and write byte-identical .rez archives; and a Qt 6 successor to WinRez LT Studio with texture, model and sound previews and a string-table editor. Linux, macOS and Windows.
Blender extension
Imports and exports LithTech models — .abc, .ltb and the PS2’s .ltb — and DTX textures.
Talon tools, decompiled
DEdit, ModelEdit, the world processors and the 3ds Max and Maya plug-ins from NOLF and AvP2, reconstructed as C++ that compiles to the shipped binaries. 56.9% byte-identical so far.
Jupiter tools
The tools of NOLF 2, Contract J.A.C.K. and Tron 2.0 — DEdit, ModelEdit, FxED, the packers — built from Jupiter Build 69’s source.
Plus an inventory of every public LithTech tools release, and a map of which format versions each game and tool reads and writes.
With thanks
- Monolith Productions, for the games, and for releasing their source.
- LithTech, Inc. (later Touchdown Entertainment), for the Jupiter engine.
- StenApp, for an in-depth knowledge of all things NOLF and LithTech.
- HeyThereCoffeee (haekb), for the NOLF and NOLF 2 Modernizers.
- ChthonVII and Daniel Gibson, for their Modernizer fixes.
- OpenSpy, whose master server brings the internet server lists back to life.
- OpenMiles, the open reimplementation of the Miles Sound System.
- FFmpeg, which our Bink player is built on.
- Wine, Proton and DXVK, which run the games on Linux and the Steam Deck.
- redump.org and archive.org, for verifying and keeping the discs.