الهندسة العكسية للعبة 3D Pinball for Windows - Space Cadet
، وهي لعبة مرفقة مع Windows.
ضع الملف القابل للتنفيذ المجمع في مجلد يحتوي على موارد اللعبة الأصلية (غير مضمنة).
يدعم ملفات البيانات من إصدارات Windows وFull Tilt من اللعبة.
منصة | مؤلف | عنوان URL |
---|---|---|
بي اس فيتا | اكسيوم | https://github.com/suicvne/SpaceCadetPinball_Vita |
إمسكريتن | alula | https://github.com/alula/SpaceCadetPinball العب عبر الإنترنت: https://alula.github.io/SpaceCadetPinball |
نينتندو سويتش | أفيرني | https://github.com/averne/SpaceCadetPinball-NX |
تلفزيون ويب أو إس | ماريوتاكو | https://github.com/webosbrew/SpaceCadetPinball |
أندرويد (ويب) | جزيرة | https://github.com/Iscle/SpaceCadetPinball |
نينتندو وي | مايكل تشان | https://github.com/MaikelChan/SpaceCadetPinball |
نينتندو 3 دي إس | مايكل تشان | https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds |
نينتندو دي إس | طلقة الرأس | https://github.com/headshot2017/3dpinball-nds |
نينتندو وي يو | مثيرة للاهتمامالبلاط | https://github.com/IntriguingTiles/SpaceCadetPinball-WiiU |
بلاي ستيشن 2 | طلقة الرأس | https://github.com/headshot2017/3dpinball-ps2 |
سيجا دريم كاست | طلقة الرأس | https://github.com/headshot2017/3dpinball-dc |
مورفوس | BeWorld | https://www.morphos-storage.net/?id=1688897 |
أميغا أو إس 4 | rjd324 | http://aminet.net/package/game/actio/spacecadetpinball-aos4 |
أندرويد (ويب) | متوتر | https://github.com/fexed/Pinball-on-Android |
الأنظمة الأساسية التي يغطيها هذا المشروع: سطح المكتب Windows وLinux وmacOS.
pinball.exe
من Windows XP
(SHA-1 2A5B525E0F631BB6107639E2A69DF15986FB0D05
) وملف PDB العام الخاص بهCADET.EXE
32 بت من Full Tilt! Pinball
(SHA-1 3F7B5699074B83FD713657CD94671F2156DBEDC4
) Ghidra
، Ida
، Visual Studio
يستخدم المشروع C++11
ويعتمد على SDL2
libs.
قم بتنزيل وفك حزم التطوير الخاصة بـ SDL2
و SDL2_mixer
.
قم بتعيين المسارات لها في CMakeLists.txt
، راجع الموضع المقترح في /Libs
.
ترجمة مع Visual Studio؛ تم اختباره مع 2019.
قم بتثبيت حزم التطوير لـ SDL2
و SDL2_mixer
.
ترجمة مع CMake؛ تم اختباره مع دول مجلس التعاون الخليجي 10، كلانج 11.
للترجمة التبادلية لنظام التشغيل Windows، قم بتثبيت إصدار 64 بت من mingw وتوزيعاته SDL2
و SDL2_mixer
، ثم استخدم سلسلة أدوات mingwcc.cmake
.
توفر بعض التوزيعات حزمة في مستودعها. يمكنك استخدامها لتسهيل إدارة التبعية والتحديثات.
هذا المشروع متاح كـ Flatpak على Flathub.
قم بتثبيت XCode (أو على الأقل أدوات سطر أوامر Xcode باستخدام xcode-select --install
) وCMake.
هومبرو
يمكنك بسهولة تثبيت قطعة أثرية للبناء باستخدام brew
.
brew tap draftbrew/tap
brew install --no-quarantine space-cadet-pinball
انتبه إلى أن العلامة --no-quarantime
ستؤدي إلى تعطيل Gatekeeper الخاص بنظام التشغيل macOS أثناء التثبيت.
التجميع اليدوي:
SDL2
و SDL2_mixer
.libSDL2
و libSDL2_mixer
macports. ترجمة مع CMake. تأكد من تعيين المتغير CMAKE_OSX_ARCHITECTURES
إما لـ x86_64
Apple Intel أو arm64
لـ Apple Silicon.
تم الاختبار مع: macOS Big Sur (Intel) مع Xcode 13 وmacOS Montery Beta (Apple Silicon) مع Xcode 13.
التجميع الآلي:
قم بتشغيل البرنامج النصي build-mac-app.sh
من جذر المستودع. سيكون التطبيق متاحًا في ملف DMG باسم SpaceCadetPinball-<version>-mac.dmg
.
تم الاختبار مع: macOS Ventura (Apple Silicon) مع Xcode Command Line Tools 14 وmacOS Big Sur على GitHub Runner (Intel) مع XCode 13.
لم أجدها، اللعبة التي تم فك ترجمتها عملت في وضع x64 في المحاولة الأولى.
تم فقده أثناء عملية إلغاء الترجمة أو تم تقديمه في منفذ x64/غير موجود في الإصدار x86.
استنادًا إلى الوصف العام للخطأ (لا يوجد تصادم للكرة)، أعتقد أن الخطأ كان موجودًا في TEdgeManager::TestGridBox