Ingeniería inversa de 3D Pinball for Windows - Space Cadet
, un juego incluido con Windows.
Coloque el ejecutable compilado en una carpeta que contenga recursos originales del juego (no incluidos).
Admite archivos de datos de las versiones Windows y Full Tilt del juego.
Plataforma | Autor | URL |
---|---|---|
PSVita | Axioma | https://github.com/suicvne/SpaceCadetPinball_Vita |
escritos | álula | https://github.com/alula/SpaceCadetPinball Juega en línea: https://alula.github.io/SpaceCadetPinball |
interruptor de nintendo | averna | https://github.com/averne/SpaceCadetPinball-NX |
webOS TV | mariotaku | https://github.com/webosbrew/SpaceCadetPinball |
Android (WIP) | iscle | https://github.com/Iscle/SpaceCadetPinball |
nintendowii | MaikelChan | https://github.com/MaikelChan/SpaceCadetPinball |
nintendo 3ds | MaikelChan | https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds |
nintendo ds | Disparo a la cabeza | https://github.com/headshot2017/3dpinball-nds |
nintendo wii u | Azulejos intrigantes | https://github.com/IntriguingTiles/SpaceCadetPinball-WiiU |
Estación de juegos 2 | Disparo a la cabeza | https://github.com/headshot2017/3dpinball-ps2 |
Sega Dreamcast | Disparo a la cabeza | https://github.com/headshot2017/3dpinball-dc |
Morfo | BeMundo | https://www.morphos-storage.net/?id=1688897 |
AmigaOS 4 | rjd324 | http://aminet.net/package/game/actio/spacecadetpinball-aos4 |
Android (WIP) | fexado | https://github.com/fexed/Pinball-on-Android |
Plataformas cubiertas por este proyecto: escritorio Windows, Linux y macOS.
pinball.exe
de Windows XP
(SHA-1 2A5B525E0F631BB6107639E2A69DF15986FB0D05
) y su PDB públicaCADET.EXE
versión de 32 bits de Full Tilt! Pinball
(SHA-1 3F7B5699074B83FD713657CD94671F2156DBEDC4
) Ghidra
, Ida
, Visual Studio
El proyecto usa C++11
y depende de las bibliotecas SDL2
.
Descargue y descomprima paquetes de desarrollo para SDL2
y SDL2_mixer
.
Establezca rutas para ellos en CMakeLists.txt
, consulte la ubicación sugerida en /Libs
.
Compilar con Visual Studio; Probado con 2019.
Instale paquetes de desarrollo para SDL2
y SDL2_mixer
.
Compilar con CMake; Probado con GCC 10, Clang 11.
Para realizar una compilación cruzada para Windows, instale una versión de 64 bits de mingw y sus distribuciones SDL2
y SDL2_mixer
, luego use la cadena de herramientas mingwcc.cmake
.
Algunas distribuciones proporcionan un paquete en su repositorio. Puede utilizarlos para facilitar la gestión de dependencias y las actualizaciones.
Este proyecto está disponible como Flatpak en Flathub.
Instale XCode (o al menos las herramientas de línea de comandos de Xcode con xcode-select --install
) y CMake.
cerveza casera
Puede instalar fácilmente el artefacto de compilación utilizando brew
.
brew tap draftbrew/tap
brew install --no-quarantine space-cadet-pinball
Tenga en cuenta que la bandera --no-quarantime
desactivará el Gatekeeper de macOS durante la instalación.
Compilación manual:
SDL2
, SDL2_mixer
.libSDL2
, libSDL2_mixer
. Compilar con CMake. Asegúrese de que la variable CMAKE_OSX_ARCHITECTURES
esté configurada para x86_64
Apple Intel o arm64
para Apple Silicon.
Probado con: macOS Big Sur (Intel) con Xcode 13 y macOS Montery Beta (Apple Silicon) con Xcode 13.
Compilación automatizada:
Ejecute el script build-mac-app.sh
desde la raíz del repositorio. La aplicación estará disponible en un archivo DMG llamado SpaceCadetPinball-<version>-mac.dmg
.
Probado con: macOS Ventura (Apple Silicon) con Xcode Command Line Tools 14 y macOS Big Sur en GitHub Runner (Intel) con XCode 13.
No lo encontré, el juego descompilado funcionó en modo x64 en el primer intento.
Se perdió durante la descompilación o se introdujo en el puerto x64/no estuvo presente en la compilación x86.
Según la descripción pública del error (sin colisión de bolas), supongo que el error estaba en TEdgeManager::TestGridBox