このプロジェクトについて

Open-BFME-2は、『The Lord of the Rings: The Battle for Middle-earth II』のリテールエンジンバイナリ(game.dat)を、再構築したC++ソースコードからバイト単位で正確に再現することを目指すオープンソースプロジェクトです。Open-BFME-1の姉妹プロジェクトであり、同じMSVC 7.1ツールチェーンとワークフローを使用し、BFME 1の変換済みソースをサブモジュール参照として含んでいます。 このプロジェクトは、リテールの.textセクションに対して16.16%の完全なバイト一致を報告しており、その内訳は1,299,292バイトのC++コードと9,037バイトのASMのみのコードです。ソースに基づく再構築は実際のコードの12.77%を占め、ベンダー提供のライブラリソースやジェネレーターで生成されたC++による追加の貢献もあります。lib_probe.pyなどのツールは、静的にリンクされたVisual C++ 7.1サポートライブラリのメンバーを配置するのに役立ちます。ベンダー提供のDirectXアーカイブは配置されません。BFME 2はBFME 1用に保持されているSummer 2003アーカイブよりも新しいSDKをリンクしているためです。 正確な再構築に加えて、ロードマップには近代化の改善が含まれています:60/120 FPS対応、メモリ修正、より良いクラッシュログ、マルチCPU対応、World Builderのソースコード、より大きなマップ、Rise of the Witch-king対応などです。オフホスト遅延はコミュニティパッチによって既に修正されており、意図的に除外されています。 リポジトリには、追跡されているすべての関数をリテールバイナリと照合して検証するビルドシステムが含まれています。コミット前のバイトチェックフックが利用可能で、ビルドスクリプトにファイルまたは名前を渡すことで個々の関数をチェックできます。このプロジェクトは、AGENTS.mdに記載された特定のワークフローを通じてAI支援の貢献を奨励しており、検証された各関数は個別にコミットされ、プルリクエストとして提出されます。