عن المشروع

ra-port هو منفذ مصدري غير رسمي للعبة Command & Conquer: Red Alert (1996) يعمل أصليًا على macOS وLinux وAndroid وiOS. يستند إلى الشيفرة المصدرية التي أصدرتها Electronic Arts تحت GPLv3 مع شروط إضافية، ويحافظ على بنية الشيفرة الأصلية قابلة للتعرف مع إضافة طبقة منصة مبنية على SDL2 للفيديو والصوت والإدخال. دعم المنصات - macOS على Apple Silicon: يُبنى ويعمل باستخدام CMake/Ninja كملف تنفيذي خام (لا يوجد حزمة .app بعد). - Linux على Ubuntu: يُبنى ويعمل كملف تنفيذي سطح مكتب أصلي بـ SDL2، مع اختبار دخان اختياري عبر Xvfb/ImageMagick للتحقق بدون واجهة. - Android: يبني APK تصحيح محلي arm64-v8a، مقفل على الوضع الأفقي، مع إدخال لمسي أصلي؛ تُستخرج الأصول إلى تخزين التطبيق عند أول تشغيل. - iOS: يبني تطبيق تصحيح أفقي للمحاكي أو بناء موقّع لجهاز arm64، وينسخ البيانات المجمعة إلى تخزين قابل للكتابة في التطبيق عند أول تشغيل. حالة اللعب يُذكر أن الحملة (الحلفاء والسوفييت)، والمبارزة المحلية، والفيديوهات مع الصوت تعمل، إلى جانب التحكم بلوحة المفاتيح والفأرة على سطح المكتب واللمس/الصوت على الجوال. اللعب الجماعي عبر الإنترنت/الشبكة، وأدوات التشغيل/الإعداد، وحزم التوسعة، وتغليف الإصدارات لـ Android/iOS، وتغليف .app لـ macOS غير منفذة. بيانات اللعبة لا تتضمن أي أصول للعبة أو أفلام أو موسيقى أو صور أقراص أو مثبتات. يجب على اللاعبين توفير ملفات Red Alert التي حصلوا عليها قانونيًا من أقراصهم أو نسخهم الاحتياطية؛ ينسخ سكربت تحضيري هذه الملفات إلى أدلة متجاهلة بواسطة git تحت assets/redalert. تبني إصدارات الجوال التصحيحية هذه البيانات المحلية عن قصد ولا ينبغي توزيعها. البناء والتشغيل تستخدم إصدارات سطح المكتب CMake مع Ninja وتتطلب حزم تطوير SDL2؛ تتعامل سكربتات مساعدة مع تحضير الأصول وتوقيع الشيفرة على macOS والتشغيل. يتطلب Android إصدار JDK 17 وAndroid SDK Platform 36 وNDK 28.2.13676358 وحزمة Android CMake؛ ويتطلب iOS Xcode كاملًا. يمكن تمكين ملء الشاشة عبر متغير بيئة أو تبديلها بـ Command+Return على macOS وAlt+Return على Linux. تُشغَّل الاختبارات على مستوى الشيفرة وفحوص السكربتات عبر tests/run_script_tests.sh. المشروع متحفظ عن قصد، ويفضل ملفات دعم صغيرة خاصة بكل منصة بدلًا من إعادة كتابة واسعة. تشمل مجالات المساهمة المقترحة التغليف، والتحقق على الأجهزة الفعلية، وتقوية الحفظ/التحميل، ودعم التوسعات، وتغطية CI. اللعب الجماعي عبر الشبكة خارج نطاق المرحلة الحالية.