📈 GH Trending Explorer 🎲 Surprise me

← all repos

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)

2026-10-20 · 82 ★ 2026-10-22 · 84 ★
LanguageC++
License—
Created2026-10-10 (12d ago)
Last push1d ago
Watchers5
OwnerUser

GitHub topics

Links

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