Windows에 번들로 제공되는 게임인 3D Pinball for Windows - Space Cadet
의 리버스 엔지니어링입니다.
컴파일된 실행 파일을 원본 게임 리소스(포함되지 않음)가 포함된 폴더에 넣습니다.
Windows 및 Full Tilt 버전의 게임에서 데이터 파일을 지원합니다.
플랫폼 | 작가 | URL |
---|---|---|
PS 비타 | 공리 | https://github.com/suicvne/SpaceCadetPinball_Vita |
엠스크립트 | 알룰라 | https://github.com/alula/SpaceCadetPinball 온라인 플레이: https://alula.github.io/SpaceCadetPinball |
닌텐도 스위치 | 애번 | https://github.com/averne/SpaceCadetPinball-NX |
웹OS TV | 마리오타쿠 | https://github.com/webosbrew/SpaceCadetPinball |
안드로이드(WIP) | 섬 | https://github.com/Iscle/SpaceCadetPinball |
닌텐도 Wii | 마이켈찬 | https://github.com/MaikelChan/SpaceCadetPinball |
닌텐도 3DS | 마이켈찬 | https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds |
닌텐도 DS | 헤드샷노비 | https://github.com/headshot2017/3dpinball-nds |
닌텐도 Wii U | 흥미로운 타일 | https://github.com/IntriguingTiles/SpaceCadetPinball-WiiU |
플레이스테이션 2 | 헤드샷노비 | https://github.com/headshot2017/3dpinball-ps2 |
세가 드림캐스트 | 헤드샷노비 | https://github.com/headshot2017/3dpinball-dc |
MorphOS | 비월드 | https://www.morphos-storage.net/?id=1688897 |
아미가OS 4 | RJD324 | http://aminet.net/package/game/actio/spacecadetpinball-aos4 |
안드로이드(WIP) | 겁에 질린 | https://github.com/fexed/Pinball-on-Android |
이 프로젝트에서 다루는 플랫폼: 데스크톱 Windows, Linux 및 macOS.
Windows XP
(SHA-1 2A5B525E0F631BB6107639E2A69DF15986FB0D05
) 및 해당 공개 PDB의 pinball.exe
CADET.EXE
32비트 버전 Full Tilt! Pinball
(SHA-1 3F7B5699074B83FD713657CD94671F2156DBEDC4
) Ghidra
, Ida
, Visual Studio
프로젝트는 C++11
사용하며 SDL2
라이브러리에 의존합니다.
SDL2
및 SDL2_mixer
용 개발 패키지를 다운로드하고 압축을 풉니다.
CMakeLists.txt
에서 경로를 설정하세요. /Libs
에서 제안된 배치를 참조하세요.
Visual Studio로 컴파일합니다. 2019로 테스트했습니다.
SDL2
및 SDL2_mixer
용 개발 패키지를 설치합니다.
CMake로 컴파일하세요. GCC 10, Clang 11로 테스트되었습니다.
Windows용으로 크로스 컴파일하려면 mingw의 64비트 버전과 해당 SDL2
및 SDL2_mixer
배포판을 설치한 다음 mingwcc.cmake
도구 체인을 사용하세요.
일부 배포판은 저장소에 패키지를 제공합니다. 더 쉬운 종속성 관리 및 업데이트를 위해 이를 사용할 수 있습니다.
이 프로젝트는 Flathub에서 Flatpak으로 제공됩니다.
XCode(또는 최소한 xcode-select --install
사용하는 Xcode 명령줄 도구) 및 CMake를 설치합니다.
홈브루
brew
사용하여 빌드 아티팩트를 쉽게 설치할 수 있습니다.
brew tap draftbrew/tap
brew install --no-quarantine space-cadet-pinball
--no-quarantime
플래그는 설치 중에 macOS의 Gatekeeper를 비활성화한다는 점에 유의하십시오.
수동 컴파일:
SDL2
, SDL2_mixer
홈브루 패키지를 설치합니다.libSDL2
, libSDL2_mixer
macports 패키지를 설치합니다. CMake로 컴파일합니다. x86_64
Apple Intel 또는 Apple Silicon의 경우 arm64
에 대해 CMAKE_OSX_ARCHITECTURES
변수가 설정되어 있는지 확인하세요.
테스트 대상: Xcode 13이 설치된 macOS Big Sur(Intel) 및 Xcode 13이 설치된 macOS Montery Beta(Apple Silicon).
자동 컴파일:
저장소 루트에서 build-mac-app.sh
스크립트를 실행합니다. 이 앱은 SpaceCadetPinball-<version>-mac.dmg
라는 DMG 파일로 제공됩니다.
테스트 대상: Xcode 명령줄 도구 14가 포함된 macOS Ventura(Apple Silicon) 및 XCode 13이 포함된 GitHub Runner(Intel)의 macOS Big Sur.
찾지 못했습니다. 디컴파일된 게임은 첫 번째 시도에서 x64 모드에서 작동했습니다.
디컴파일에서 손실되었거나 x64 포트에 도입되었거나 x86 빌드에는 없습니다.
버그에 대한 공개 설명(공 충돌 없음)에 따르면 버그는 TEdgeManager::TestGridBox
에 있었던 것 같습니다.