Work-in-progress reconstruction of the original 1996 Windows C++ codebase behind
LEMBALL.EXE.
The goal of this project is to create a fully functional decompilation of Lemmings Paintball. The goal is to be as accurate as possible by matching the recompiled instructions to the original machine code. The goal is to provide a workable codebase that can be modified, improved, and later ported to other platforms.
Note: This repository is for decompilation only and its code is true to the original release. The reconstructed game target will not compile for targets other than 32-bit Windows.
msvc420is the byte-matching verification lane. This is the one CI should trust for rebuilt-binary comparison.openwatcom-win32is an optional local compile-check lane for non-Windows hosts. It targets 32-bit Win32 through Open Watcom 2.x and is only meant to catch portability and syntax issues earlier. It is not expected to produce byte-matching output.
This repository follows the same broad reporting pattern as marijnvdwerf/legoland: CI verifies the rebuilt binary with reccmp and then publishes an objdiff-format report.json generated from the comparison results.
tools/generate_reccmp_report.pybuilds the report artifact from thereccmpcompare results plus the source markers and Ghidra-backed manifest.make reportwrites that artifact tobuild/report.json.- CI uploads the report as
LEMBALL_report, which matches decomp.dev's expected artifact naming.
Example:
cmake --preset openwatcom-win32
cmake --build --preset openwatcom-win32This preset expects wcl386 to be available on PATH.