ستجد في هذا المستودع كود المصدر المعكوس بالكامل لـ GTA III (الفرع الرئيسي) وGTA VC (فرع ميامي).
لقد تم اختباره ويعمل على أنظمة التشغيل Windows وLinux وMacOS وFreeBSD وعلى أنظمة x86 وamd64 وarm وarm64.
تتم معالجة العرض إما عن طريق برنامج RenderWare الأصلي (D3D8) أو librw لإعادة التنفيذ (D3D9 أو OpenGL 2.1 أو أعلى أو OpenGL ES 2.0 أو أعلى).
يتم إجراء الصوت باستخدام MSS (باستخدام ملفات dll من GTA الأصلية) أو OpenAL.
تم أيضًا نقل المشروع إلى Nintendo Switch وPlaystation Vita وNintendo Wii U.
لا يمكننا البناء على PS2 أو Xbox بعد. إذا كنت مهتمًا بالقيام بذلك، تواصل معنا.
لقد قمنا بتنفيذ عدد من التغييرات والتحسينات على اللعبة الأصلية. يمكن تهيئتها في core/config.h
. يمكن تبديل بعضها في وقت التشغيل، والبعض الآخر لا يمكن ذلك.
الأشياء التالية سيكون من الجيد أن يكون لديك/تفعلها:
يجب أن تعمل تعديلات الأصول (النماذج، والملمس، والمعالجة، والبرنامج النصي، ...) بنفس الطريقة كما هو الحال مع GTA الأصلية في معظم الأحيان.
تعمل البرامج النصية CLEO مع CLEO Redux.
لن تعمل التعديلات التي تجري تغييرات على التعليمات البرمجية (dll/asi، أدوات ضبط الحد). بعض الأشياء التي تفعلها هذه التعديلات تم تنفيذها بالفعل في re3 (الكثير من SkyGFX، وGInput، وSilentPatch، وإصلاح Widescreen)، ويمكن تحقيق أشياء أخرى بسهولة (زيادة الحدود، راجع config.h
)، وسيتعين ببساطة إعادة كتابة أشياء أخرى ودمجها في الكود مباشرة. نأسف للإزعاج.
عند استخدام premake، قد ترغب في توجيه متغير البيئة GTA_III_RE_DIR إلى المجلد الجذر لـ GTA3 إذا كنت تريد نقل الملف القابل للتنفيذ إلى هناك عبر البرنامج النصي بعد الإنشاء.
استنساخ المستودع باستخدام git clone --recursive https://github.com/halpz/re3.git
. ثم cd re3
إلى المستودع المستنسخ.
بالنسبة إلى Linux الذي يستخدم premake، تابع: البناء على Linux
قم بتثبيت python وconan، ثم قم بتشغيل build.
conan export vendor/librw librw/master@
mkdir build
cd build
conan install .. re3/master@ -if build -o re3:audio=openal -o librw:platform=gl3 -o librw:gl3_gfxlib=glfw --build missing -s re3:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo
conan build .. -if build -bf build -pf package
بالنسبة لنظام التشغيل MacOS الذي يستخدم الإصدار المسبق، تابع: البناء على نظام التشغيل MacOS
بالنسبة لـ FreeBSD باستخدام premake، تابع: البناء على FreeBSD
بافتراض أن لديك Visual Studio 2015/2017/2019:
premake-vsXXXX.cmd
على المجلد الجذر.توقفت Microsoft مؤخرًا عن تنزيل DX9 SDK. يمكنك تنزيل نسخة مؤرشفة هنا: https://archive.org/details/dxsdk_jun10
إذا اخترت OpenAL على نظام Windows، فيجب عليك قراءة تشغيل إصدار OpenAL على نظام Windows.
يحتوي premake على خيار
--with-lto
إذا كنت تريد تجميع المشروع باستخدام Link Time Optimization.
هناك إعدادات مختلفة في config.h، قد ترغب في إلقاء نظرة هناك.
يستخدم re3 محرك عرض بديل لبرنامج RenderWare المنزلي بالكامل؛ librw. يأتي librw كوحدة فرعية من re3، ولكن يمكنك أيضًا استخدام متغير بيئة LIBRW لتحديد المسار إلى librw الخاص بك.
إذا شعرت بالحاجة، يمكنك أيضًا استخدام CodeWarrior 7 لتجميع re3 باستخدام مشروع codewarrior/re3.mcp المتوفر - وهذا يتطلب مكتبات RW33 الأصلية وDX8 SDK. الإصدار غير مستقر مقارنةً بتصميمات MSVC، ويُقصد به في الغالب أن يكون بمثابة مرجع.
طالما أنها ليست طبقة هيكلية/توافقية لنظام التشغيل Linux/عبر الأنظمة الأساسية، فإن جميع التعليمات البرمجية الموجودة في الريبو والتي لا تقع خلف حالة المعالج المسبق (مثل FIX_BUGS) هي تعليمات برمجية معكوسة تمامًا من الثنائيات الأصلية.
نحن لا نقبل الرموز المخصصة، طالما لم يتم تضمينها في شروط المعالج المسبق، أو أنها طبقة هيكلية/توافقية لنظام التشغيل Linux/عبر الأنظمة الأساسية.
نحن نقبل فقط هذه الأنواع من العلاقات العامة؛
لدينا مستند نمط الترميز الذي لا يتم اتباعه أو تنفيذه بشكل جيد.
لا تستخدم ميزات من C++ 11 أو الإصدارات الأحدث.
تم إطلاق لعبة re3 في وقت ما في ربيع عام 2018، في البداية كوسيلة لاختبار الاصطدام العكسي والرمز الفيزيائي داخل اللعبة. تم ذلك عن طريق استبدال الوظائف الفردية للعبة بنظيراتها المعكوسة باستخدام ملف dll.
بعد قليل من العمل، ظل المشروع خاملًا لمدة عام تقريبًا وتم انتشاله مرة أخرى ودفعه إلى github في مايو 2019. في ذلك الوقت، كنت (aap) قد عكست حوالي 10 آلاف سطر من التعليمات البرمجية وقدرت أن اللعبة النهائية تحتوي على حوالي 200- 250 ألف. وسرعان ما انضم آخرون إلى الجهود (Fire_Head، وshfil، وerorcun، وNick007J بالترتيب الزمني، وسيرج لاحقًا) وحققنا تقدمًا سريعًا للغاية طوال صيف عام 2019، وبعد ذلك تباطأت الوتيرة قليلاً.
نظرًا لبقاء الجميع في المنزل أثناء بداية جائحة كورونا، كان لدى الجميع الكثير من الوقت للعمل على re3 مرة أخرى وحصلنا أخيرًا على ملف exe مستقل في أبريل 2020 (حوالي 180 ألف خط بحلول ذلك الوقت).
بعد الإثارة الأولية وإصلاح الكود وصقله بشكل أكبر، تم بدء reVC في أوائل مايو 2020 من خلال البدء من كود re3، وليس من خلال البدء من الصفر باستبدال الوظائف بملف dll. بعد بضعة أشهر من التقدم المطرد في الغالب، اعتبرنا أن reVC قد انتهت في ديسمبر.
منذ ذلك الحين بدأنا reLCS، وهو قيد التنفيذ حاليًا.
لا نشعر بأننا في وضع يسمح لنا بمنح هذا الرمز ترخيصًا.
يجب استخدام الكود فقط للأغراض التعليمية والتوثيقية والتعديلية.
نحن لا نشجع القرصنة أو الاستخدام التجاري.
يرجى الاحتفاظ بالعمل المشتق مفتوح المصدر ومنح الائتمان المناسب.