프로젝트 소개
Open-BFME-2는 반지의 제왕: 중간계 전투 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 지원 기여를 장려하며, 검증된 각 함수는 개별적으로 커밋되고 풀 리퀘스트로 제출됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.