Tools for the LithTech engine's games and their files: No One Lives Forever, Aliens versus Predator 2, No One Lives Forever 2, Contract J.A.C.K., Tron 2.0 and others of that era. Part of a game preservation effort: modern, cross-platform tools for the files these games ship, and the original development tools archived and reconstructed from their binaries for research.
| Directory | What it is |
|---|---|
tools/lithrez/ |
lithrez (command line) and LithRez Studio (Qt 6): cross-platform tools for .rez archives, with texture, model and sound previews; and core/, the C++17 library they share for the games' file formats (.rez, .dtx, .abc, .ltb, sounds, attribute files) |
plugins/blender/ |
a Blender extension that imports and exports LithTech models (.abc, .ltb, the PS2's .ltb) and DTX textures |
legacy/ |
the original LithTech development tools, archived and decompiled for research: the "Talon" tools of NOLF and AvP2, rebuilt as source that compiles to the shipped binaries, and the Jupiter tools of NOLF2 and its successors, built from Build 69's source |
scripts/ |
survey scripts: the inventory of every tools release (inventory.py), the format versions in each game's assets (fmtversions.py), and installer unpackers |
INVENTORY.md |
every public LithTech tools release for these games, and what built each binary (inventory.tsv has one row per binary) |
FORMATS.md |
which format versions each game ships and each tool build reads and writes |
downloads/, extracted/ and out/ are local working directories and are
not in the repository.
- lithrez and LithRez Studio: CMake, with clang, gcc or MSVC on Linux,
macOS and Windows; LithRez Studio needs Qt 6.2 or later. See
tools/lithrez/README.md. - The Blender extension: packaged by
plugins/blender/package.py; see its README. - The legacy tools: built in Docker with the period compilers (Visual
C++ 5 and 6, Intel C/C++ 4.0, Visual C++ .NET 2003) under Wine; see each
project's README under
legacy/.
tools.yml: builds and tests lithrez and LithRez Studio on Windows, Linux and macOS, packs the Blender extension, and publishes release builds.talon.yml: builds the Talon reconstruction from the original game discs (fetched from archive.org), checks every function recorded as byte-identical still is, and runs the behaviour tests against the shipped tools.
The tools workflow's builds (Windows, Linux AppImage, macOS universal, and the Blender extension) are attached to each tagged release, and to a nightly build of the latest commit.
This project builds on the work of others:
- Monolith Productions, for No One Lives Forever, Aliens versus
Predator 2, No One Lives Forever 2 and the other LithTech games, and
for the editing tools they released to their players, which
legacy/archives. - StenApp for generously sharing his invaluable, in-depth knowledge of all things NOLF and LithTech.