这个项目能做什么

Open-BFME-2 是一个开源项目,旨在通过重构的 C++ 源代码,逐字节还原《指环王:中土大战2》零售引擎二进制文件(game.dat)。它是 Open-BFME-1 的姊妹项目,使用相同的 MSVC 7.1 工具链和工作流程,并将 BFME 1 转换后的源代码作为子模块引用。 该项目报告称,零售 .text 段的精确字节覆盖率为 16.16%,包含 1,299,292 个 C++ 字节和 9,037 个纯汇编字节。基于源代码的重构占实际代码的 12.77%,其余部分来自捆绑的库源代码和生成器编写的 C++。诸如 lib_probe.py 之类的工具可帮助放置静态链接的 Visual C++ 7.1 支持库成员。捆绑的 DirectX 存档无法放置,因为 BFME 2 链接的是比 BFME 1 保留的 2003 年夏季存档更新的 SDK。 除了精确重构之外,路线图还包括现代化改进:60/120 FPS 支持、内存修复、更好的崩溃日志、多 CPU 支持、World Builder 源代码、更大的地图以及《巫王的崛起》支持。非主机延迟已由社区补丁修复,并有意排除在外。 该仓库包含一个构建系统,可对照零售二进制文件验证每个已跟踪的函数。提供了预提交字节检查钩子,并且可以通过向构建脚本传递文件或名称来检查单个函数。该项目鼓励通过 AGENTS.md 中描述的特定工作流程进行 AI 辅助贡献,每个已验证的函数单独提交并作为拉取请求提交。