
معركة التكنولوجيا: بداية صقر الهلال الهندسة العكسية
تحليل هندسي عكسي وإعادة بناء باستخدام Godot 4 + C# للعبة BattleTech: The Crescent Hawk's Inception، لعبة MS-DOS من عام 1988 من Infocom.
├── docs/ # وثائق ونتائج الهندسة العكسية
│ ├── CONTEXT.md # السياق الرئيسي (أكثر من 1050 سطرًا)
│ ├── TECHNICAL_ANALYSIS.md # تحليل تقني شامل (3211 سطرًا)
│ ├── MEMORY_MAP.md # خريطة الذاكرة الكاملة (603 سطور)
│ ├── ADDRESS_REFERENCE.md # مرجع العناوين (1035 سطرًا)
│ ├── BLD_BYTECODE.md # مواصفات بايت كود BLD (342 سطرًا)
│ ├── WORLD_MAP_FINDINGS.md # تحليل خريطة العالم (321 سطرًا)
│ ├── REBUILD_PLAN.md # خطة إعادة البناء بـ Godot
│ ├── REBUILD_ROADMAP.md # خريطة طريق إعادة البناء
│ └── STORY_TEXT.txt # نص القصة المستخرج بالكامل
│
├── tools/ # أدوات تحليل Python
│ ├── bld/ # أدوات نصوص BLD (مفكك، محول، عارض)
│ ├── assets/ # أدوات استخراج وعرض الأصول
│ └── analysis/ # أدوات تحليل الهندسة العكسية
│
├── reko/ # مخرجات مفكك Reko
│ ├── UNBTECH.exe.c # تفكيك كامل بلغة C (2 ميجابايت)
│ ├── UNBTECH.exe.h # ملف رأس مع تعريفات الهياكل
│ ├── UNBTECH_all.asm # تجميع كامل (60 ألف سطر)
│ └── segments/ # ملفات .c/.asm/.dis لكل قطاع
│
├── asm/ # تحليل التجميع
│ └── discoveries.asm # ملاحظات تحليل يدوية
│
├── json/ # تحويلات BLD → JSON (26 ملفًا)
│
├── spice86/ # مخرجات محاكاة Spice86
│
├── BattleTechCHI/ # إعادة البناء بـ Godot 4 + C#
│
├── original/ # أصول اللعبة الأصلية (محلية فقط، غير مرفوعة)
│ ├── bld/ cmp/ icn/ mtp/ anm/ saves/ exe/
│
├── extracted_assets/ # ملفات PPM/PNG المستخرجة من أصول اللعبة
└── Assets/ # أوراق السبريت/البلاط المحولة
إعادة البناء في المرحلة 6 (دمج ANM + قتال ANM). حوالي 8,000 سطر C# عبر أكثر من 45 سكربت في BattleTechCHI/Scripts/.
محاكي Spice86 مع 19 أداة MCP خاصة بـ BattleTech لتفحص حالة اللعبة وقت التشغيل:
# تشغيل المحاكي مع خادم MCP على المنفذ 8081
dotnet exec bin/Debug/net10.0/UNBATTLETECH.dll \
--Exe "/path/to/BTECH.EXE" \
--CDrive "/path/to/game/" \
--HeadlessMode Minimal --McpHttpPort 8081 --NoGui
# قراءة حالة اللعبة
curl -s -X POST http://localhost:8081/mcp/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"bt_get_state","arguments":{}}}'
# تحويل BLD → JSON والعكس
python3 tools/bld/bld_json_converter.py to-json original/bld/
# استخراج نص القصة بالكامل
python3 tools/bld/extract_story.py
# فك تشفير جميع ملفات BLD مع تحليل رموز العمليات
python3 tools/bld/decode_bld.py
# عارض طرفي ASCII للخرائط
python3 tools/bld/ascii_viewer.py
# عرض أصول CMP إلى PPM
python3 tools/assets/extract_assets.py
# بناء إعادة البناء بلغة C#
cd BattleTechCHI && dotnet build
# بناء المحاكي
dotnet build UNBATTLETECH.csproj
هذا المستودع لا يحتوي على أصول اللعبة الأصلية (BLD، CMP، EXE، إلخ). فقط تحليل الهندسة العكسية والوثائق والكود المصدري الأصلي لإعادة بناء بطريقة الغرفة النظيفة (clean-room) مشمولة. تبقى أصول اللعبة الأصلية في original/ للتطوير المحلي فقط (مستبعدة من Git).