About this project
Open-BFME-2 is an open-source project aiming to recreate the retail engine binary (game.dat) of The Lord of the Rings: The Battle for Middle-earth II byte-for-byte from reconstructed C++ source code. It is a sister project of Open-BFME-1 and uses the same MSVC 7.1 toolchain and workflow, with BFME 1's converted source included as a submodule reference.
The project reports 16.16% exact byte coverage of the retail .text section, comprising 1,299,292 C++ bytes and 9,037 ASM-only bytes. Source-backed reconstruction accounts for 12.77% of real code, with additional contributions from vendored library source and generator-written C++. Tools such as lib_probe.py help place statically linked Visual C++ 7.1 support library members. The vendored DirectX archives do not place because BFME 2 links a later SDK than the Summer 2003 archives kept for BFME 1.
Beyond exact reconstruction, the roadmap includes modernization improvements: 60/120 FPS support, a memory fix, better crash logs, multi-CPU support, World Builder source code, bigger maps, and Rise of the Witch-king support. Off-host delay is already fixed by community patches and is deliberately excluded.
The repository includes a build system that verifies every tracked function against the retail binary. A pre-commit byte-check hook is available, and individual functions can be checked by passing a file or name to the build script. The project encourages AI-assisted contributions through a specific workflow described in AGENTS.md, with each verified function committed separately and submitted as a pull request.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.