nolffan / nolfsrc
git clone https://github.com/nolffan/nolfsrc.git
The Operative: No One Lives Forever source code
+0
stars, 24h · #35,342
+~0
stars, 7 days · #35,817
+82
stars, 30 days · #6,317
84
★ total
3
forks · 20 open issues
Star history (as recorded here)
LanguageC++
License—
Created2026-10-10 (12d ago)
Last push1d ago
Watchers5
OwnerUser
GitHub topics
Links
- GitHub: github.com/nolffan/nolfsrc
- Releases · Issues · Hacker News mentions
README excerpt
# No One Lives Forever, built from source Source code and a build for **The Operative: No One Lives Forever** (Game of the Year Edition, PC, 2000/2001): every executable and DLL of the game -- the LithTech engine (`lithtech.exe`, `server.dll`, the Direct3D renderer `d3d.ren`), the `NOLF.exe` launcher, the `NolfServ.exe` dedicated server, `ltmsg.dll`, `sres.dll` and the three game DLLs -- compiled from the source in this repository with the original 2000-era compilers. The modern build at 1920x1080: the Direct3D 9 renderer with antialiasing, model shadows, 32-bit textures and 16x anisotropic filtering. The engine source in `src/engine/` is a reconstruction: Monolith never released it, so it was written to recompile to the retail machine code. The game code in `src/game/` is Monolith's own NOLF Source Code v1.003 release, which predates the Game of the Year Edition: the GOTY changes to it, reconstructed from the retail GOTY game DLLs, are made in place and marked `GOTY:`, and the modern build's changes sit inside `#ifdef NOLFSRC_MODERN` blocks. See `docs/LICENSE-NOTES.md` for what is whose. This project, and its modern build in particular, is not made or supported by Monolith Productions. **No game data is included.** The build takes the game's data (and the Miles and Bink sound/video runtime, the only binaries not built from source) from the retail Game of the Year Edition, which the `rez/` submodule installs from the redump images of its two discs, fetched from archive.org. The modern build replaces that runtime with open-source builds from `ext/`: OpenMiles for Miles, and our own Bink player on FFmpeg. ## Roadmap 1. **Byte-for-byte compatibility, for preservation.** Every binary compiles to exactly the machine code that shipped, so this source is a faithful record of the game as released. The whole game already builds from this source and plays; how much of it already compiles to the retail bytes is under Progress. The rest is written and working, but not yet identical. 2. **Integrate the NOLF Modernizer patch**, so its improvements are part of the source rather than a patch applied on top. 3. **Fix the bugs found during reverse engineering.** Rebuilding the engine to the exact bytes means reproducing its original bugs as well; once the byte-exact version is preserved, the fixes can go on top of it. The bugs found so far are listed in `docs/RETAIL_BUGS.md`. Fixes go behind the `NOLFSRC_MODERN` define and are built by `make modern`, so the release build keeps matching the retail one. 4. **Move the renderer from Direct3D 7 to Vulkan**, for native play on every platform, without Wine. ## Progress How much of each binary compiles to exactly the bytes of the retail game (the Game of the Year Edition, version 1.003). A function counts when our compiled code is identical to the retail function, with only the addresses the linker fills in left out of the comparison; the bars measure the share of each binary's code, by size, those function