Engenharia reversa de 3D Pinball for Windows - Space Cadet
, um jogo que acompanha o Windows.
Coloque o executável compilado em uma pasta contendo os recursos originais do jogo (não incluídos).
Suporta arquivos de dados das versões Windows e Full Tilt do jogo.
Plataforma | Autor | URL |
---|---|---|
PSVita | Axioma | https://github.com/suicvne/SpaceCadetPinball_Vita |
Escrito | alula | https://github.com/alula/SpaceCadetPinball Jogue online: https://alula.github.io/SpaceCadetPinball |
Interruptor Nintendo | Averne | https://github.com/averne/SpaceCadetPinball-NX |
webOSTV | mariotaku | https://github.com/webosbrew/SpaceCadetPinball |
Android (WIP) | Ilha | https://github.com/Iscle/SpaceCadetPinball |
NintendoWii | MaikelChan | https://github.com/MaikelChan/SpaceCadetPinball |
Nintendo 3DS | MaikelChan | https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds |
NintendoDS | Headshotnoby | https://github.com/headshot2017/3dpinball-nds |
Nintendo WiiU | Azulejos intrigantes | https://github.com/IntriguingTiles/SpaceCadetPinball-WiiU |
Playstation 2 | Headshotnoby | https://github.com/headshot2017/3dpinball-ps2 |
Sega Dreamcast | Headshotnoby | https://github.com/headshot2017/3dpinball-dc |
MorphOS | BeWorld | https://www.morphos-storage.net/?id=1688897 |
Amiga OS 4 | rjd324 | http://aminet.net/package/game/actio/spacecadetpinball-aos4 |
Android (WIP) | fedido | https://github.com/fexed/Pinball-on-Android |
Plataformas abrangidas por este projeto: desktop Windows, Linux e macOS.
pinball.exe
do Windows XP
(SHA-1 2A5B525E0F631BB6107639E2A69DF15986FB0D05
) e seu PDB públicoCADET.EXE
versão de 32 bits do Full Tilt! Pinball
(SHA-1 3F7B5699074B83FD713657CD94671F2156DBEDC4
) Ghidra
, Ida
, Visual Studio
O projeto usa C++11
e depende de bibliotecas SDL2
.
Baixe e descompacte os pacotes de desenvolvimento para SDL2
e SDL2_mixer
.
Defina caminhos para eles em CMakeLists.txt
, consulte o posicionamento sugerido em /Libs
.
Compilar com Visual Studio; testado com 2019.
Instale pacotes de desenvolvimento para SDL2
e SDL2_mixer
.
Compilar com CMake; testado com GCC 10, Clang 11.
Para compilação cruzada para Windows, instale uma versão de 64 bits do mingw e suas distribuições SDL2
e SDL2_mixer
e, em seguida, use o conjunto de ferramentas mingwcc.cmake
.
Algumas distribuições fornecem um pacote em seu repositório. Você pode usá-los para facilitar o gerenciamento e atualizações de dependências.
Este projeto está disponível como Flatpak no Flathub.
Instale o XCode (ou pelo menos as ferramentas de linha de comando do Xcode com xcode-select --install
) e o CMake.
HomeBrew
Você pode instalar facilmente o artefato de construção usando brew
.
brew tap draftbrew/tap
brew install --no-quarantine space-cadet-pinball
Esteja ciente de que o sinalizador --no-quarantime
desativará o Gatekeeper do macOS durante a instalação.
Compilação manual:
SDL2
, SDL2_mixer
.libSDL2
e libSDL2_mixer
. Compile com CMake. Certifique-se de que a variável CMAKE_OSX_ARCHITECTURES
esteja definida para x86_64
Apple Intel ou arm64
para Apple Silicon.
Testado com: macOS Big Sur (Intel) com Xcode 13 e macOS Montery Beta (Apple Silicon) com Xcode 13.
Compilação automatizada:
Execute o script build-mac-app.sh
na raiz do repositório. O aplicativo estará disponível em um arquivo DMG chamado SpaceCadetPinball-<version>-mac.dmg
.
Testado com: macOS Ventura (Apple Silicon) com Xcode Command Line Tools 14 e macOS Big Sur no GitHub Runner (Intel) com XCode 13.
Não encontrei, o jogo descompilado funcionou no modo x64 na primeira tentativa.
Ele foi perdido na descompilação ou introduzido na porta x64/não presente na compilação x86.
Com base na descrição pública do bug (sem colisão de bola), acho que o bug estava em TEdgeManager::TestGridBox