Rekayasa balik 3D Pinball for Windows - Space Cadet
, sebuah game yang dibundel dengan Windows.
Tempatkan kompilasi yang dapat dieksekusi ke dalam folder yang berisi sumber daya game asli (tidak termasuk).
Mendukung file data dari game versi Windows dan Full Tilt.
Platform | Pengarang | URL |
---|---|---|
PS Vita | Aksioma | https://github.com/suicvne/SpaceCadetPinball_Vita |
Ditulis | alula | https://github.com/alula/SpaceCadetPinball Mainkan online: https://alula.github.io/SpaceCadetPinball |
Nintendo Beralih | averne | https://github.com/averne/SpaceCadetPinball-NX |
TV webOS | mariotaku | https://github.com/webosbrew/SpaceCadetPinball |
Android (WIP) | Pulau | https://github.com/Iscle/SpaceCadetPinball |
Nintendo Wii | Maikel Chan | https://github.com/MaikelChan/SpaceCadetPinball |
Nintendo 3DS | Maikel Chan | https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds |
Nintendo DS | Tertembak di kepala | https://github.com/headshot2017/3dpinball-nds |
Nintendo Wii U | Ubin Menarik | https://github.com/IntriguingTiles/SpaceCadetPinball-WiiU |
PlayStation 2 | Tertembak di kepala | https://github.com/headshot2017/3dpinball-ps2 |
Sega Dreamcast | Tertembak di kepala | https://github.com/headshot2017/3dpinball-dc |
MorfOS | Jadilah Dunia | https://www.morphos-storage.net/?id=1688897 |
AmigaOS 4 | rjd324 | http://aminet.net/package/game/actio/spacecadetpinball-aos4 |
Android (WIP) | ditipu | https://github.com/fexed/Pinball-on-Android |
Platform yang dicakup oleh proyek ini: desktop Windows, Linux, dan macOS.
pinball.exe
dari Windows XP
(SHA-1 2A5B525E0F631BB6107639E2A69DF15986FB0D05
) dan PDB publiknyaCADET.EXE
versi 32bit dari Full Tilt! Pinball
(SHA-1 3F7B5699074B83FD713657CD94671F2156DBEDC4
) Ghidra
, Ida
, Visual Studio
Proyek menggunakan C++11
dan bergantung pada lib SDL2
.
Unduh dan buka paket pengembangan untuk SDL2
dan SDL2_mixer
.
Tetapkan jalur ke sana di CMakeLists.txt
, lihat penempatan yang disarankan di /Libs
.
Kompilasi dengan Visual Studio; diuji dengan 2019.
Instal paket pengembangan untuk SDL2
dan SDL2_mixer
.
Kompilasi dengan CMake; diuji dengan GCC 10, Dentang 11.
Untuk melakukan kompilasi silang untuk Windows, instal mingw versi 64-bit dan distribusi SDL2
dan SDL2_mixer
, lalu gunakan rantai alat mingwcc.cmake
.
Beberapa distribusi menyediakan paket di repositori mereka. Anda dapat menggunakannya untuk manajemen ketergantungan dan pembaruan yang lebih mudah.
Proyek ini tersedia sebagai Flatpak di Flathub.
Instal XCode (atau setidaknya Alat Baris Perintah Xcode dengan xcode-select --install
) dan CMake.
BerandaBrew
Anda dapat dengan mudah menginstal artefak build dengan menggunakan brew
.
brew tap draftbrew/tap
brew install --no-quarantine space-cadet-pinball
Ketahuilah bahwa tanda --no-quarantime
akan menonaktifkan Gatekeeper macOS selama instalasi.
Kompilasi manual:
SDL2
, SDL2_mixer
.libSDL2
, libSDL2_mixer
macports. Kompilasi dengan CMake. Pastikan variabel CMAKE_OSX_ARCHITECTURES
disetel untuk x86_64
Apple Intel atau arm64
untuk Apple Silicon.
Diuji dengan: macOS Big Sur (Intel) dengan Xcode 13 & macOS Montery Beta (Apple Silicon) dengan Xcode 13.
Kompilasi otomatis:
Jalankan skrip build-mac-app.sh
dari root repositori. Aplikasi ini akan tersedia dalam file DMG bernama SpaceCadetPinball-<version>-mac.dmg
.
Diuji dengan: macOS Ventura (Apple Silicon) dengan Xcode Command Line Tools 14 & macOS Big Sur di GitHub Runner (Intel) dengan XCode 13.
Saya tidak menemukannya, game yang didekompilasi berfungsi dalam mode x64 pada percobaan pertama.
Itu hilang saat dekompilasi atau diperkenalkan di port x64/tidak ada di build x86.
Berdasarkan deskripsi publik tentang bug tersebut (tidak ada tabrakan bola), saya kira bug tersebut ada di TEdgeManager::TestGridBox