প্রকল্প সম্পর্কে

Open-BFME-2 একটি ওপেন-সোর্স প্রকল্প, যার লক্ষ্য দ্য লর্ড অফ দ্য রিংস: দ্য ব্যাটল ফর মিডল-আর্থ II-এর রিটেইল ইঞ্জিন বাইনারি (game.dat) পুনর্গঠিত C++ সোর্স কোড থেকে বাইট-ফর-বাইট পুনর্নির্মাণ করা। এটি Open-BFME-1-এর একটি সহযোগী প্রকল্প এবং একই MSVC 7.1 টুলচেইন ও কর্মপ্রবাহ ব্যবহার করে, যেখানে BFME 1-এর রূপান্তরিত সোর্স একটি সাবমডিউল রেফারেন্স হিসেবে অন্তর্ভুক্ত রয়েছে। প্রকল্পটি রিটেইল .text সেকশনের ১৬.১৬% নির্ভুল বাইট কভারেজ রিপোর্ট করে, যার মধ্যে রয়েছে ১,২৯৯,২৯২টি C++ বাইট এবং ৯,০৩৭টি শুধুমাত্র-ASM বাইট। সোর্স-সমর্থিত পুনর্নির্মাণ প্রকৃত কোডের ১২.৭৭% গঠন করে, যেখানে ভেন্ডরকৃত লাইব্রেরি সোর্স এবং জেনারেটর-লিখিত C++ থেকে অতিরিক্ত অবদান রয়েছে। lib_probe.py-এর মতো টুল স্ট্যাটিকভাবে লিঙ্ক করা Visual C++ 7.1 সাপোর্ট লাইব্রেরি সদস্যদের স্থাপন করতে সাহায্য করে। ভেন্ডরকৃত DirectX আর্কাইভগুলো স্থাপন হয় না কারণ BFME 2 BFME 1-এর জন্য রাখা সামার ২০০৩ আর্কাইভের চেয়ে পরবর্তী SDK লিঙ্ক করে। নির্ভুল পুনর্নির্মাণের বাইরে, রোডম্যাপে আধুনিকীকরণ উন্নতি অন্তর্ভুক্ত রয়েছে: ৬০/১২০ FPS সমর্থন, একটি মেমরি ফিক্স, উন্নত ক্র্যাশ লগ, মাল্টি-CPU সমর্থন, ওয়ার্ল্ড বিল্ডার সোর্স কোড, বড় ম্যাপ এবং রাইজ অফ দ্য উইচ-কিং সমর্থন। অফ-হোস্ট বিলম্ব ইতিমধ্যে কমিউনিটি প্যাচ দ্বারা ঠিক করা হয়েছে এবং ইচ্ছাকৃতভাবে বাদ দেওয়া হয়েছে। রিপোজিটরিতে একটি বিল্ড সিস্টেম অন্তর্ভুক্ত রয়েছে যা প্রতিটি ট্র্যাক করা ফাংশন রিটেইল বাইনারির বিরুদ্ধে যাচাই করে। একটি প্রি-কমিট বাইট-চেক হুক উপলব্ধ রয়েছে, এবং বিল্ড স্ক্রিপ্টে একটি ফাইল বা নাম পাস করে পৃথক ফাংশন পরীক্ষা করা যেতে পারে। প্রকল্পটি AGENTS.md-এ বর্ণিত একটি নির্দিষ্ট কর্মপ্রবাহের মাধ্যমে AI-সহায়তাপ্রাপ্ত অবদানকে উৎসাহিত করে, যেখানে প্রতিটি যাচাইকৃত ফাংশন আলাদাভাবে কমিট করা হয় এবং একটি পুল রিকোয়েস্ট হিসেবে জমা দেওয়া হয়।