This is a port of 3D Pinball - Space Cadet for Nintendo Wii. It's originally a game that came bundled with Windows from Windows 95 up to Windows XP. This is the current state of the project:
- It is compatible with 3D Pinball - Space Cadet and the Space Cadet table from Full Tilt! Pinball.
- No menus, options, or results screen.
- Playable with the Wii remote and the GameCube pad.
- It plays sound effects and music (if the player supplies the music in OGG format).
- There are still some bugs here and there, but it's perfectly playable.
It is based on the PC decompilation made by k4zmu2a: https://github.com/k4zmu2a/SpaceCadetPinball
The PC decompilation uses SDL2 to render the game. This Wii port has been changed to use native GPU rendering with the GX library.
I also made the required changes to make the original game's binary assets work in this port. The Wii's CPU is big endian, instead of little endian like PC x86. These changes could be useful for porting to other big endian devices.
The main requirement is to have devkitPro.
Follow the instructions to install devkitPro here: https://devkitpro.org/wiki/Getting_Started You will also need the Wii development package, and also the libraries wii-sdl, wii-sdl_mixer and wii-opengx.
If you use Windows or Ubuntu, here are more detailed instructions.
Even though devkitPro offers a Windows installer, I've had some issues setting it up. It's easier to use WSL. If you want to use the Windows installer anyway, check the link above for instructions.
- Install WSL. By default it will install Ubuntu, which is fine.
- Open a WSL terminal and just follow the Ubuntu instructions below. With the difference that, if you want to clone the project into, for example, the
C:\
folder, you will need move to that folder inside the terminal with the commandcd /mnt/c/
.
- Open the terminal in the folder where you want to clone the project.
- Clone it with the command
git clone --branch wii https://github.com/MaikelChan/SpaceCadetPinball
. A subfolder calledSpaceCadetPinball
will be created containing the project. - Move to that subfolder with
cd SpaceCadetPinball
. - Follow the instructions to install the latest version of the custom devkitPro pacman, that will be used to download the compilers and libraries to build the project.
- Use the following command to sync pacman databases:
sudo dkp-pacman -Sy
. - Now update packages with
sudo dkp-pacman -Syu
. - Install the Wii development tools with
sudo dkp-pacman -S wii-dev
. - Install SDL with
sudo dkp-pacman -S wii-sdl
. - Install SDL_mixer with
sudo dkp-pacman -S wii-sdl_mixer
. - Install OpenGX with
sudo dkp-pacman -S wii-opengx
. - Set the DEVKITPRO environment variables so the system knows where the compilers and libraries are installed with these commands:
export DEVKITPRO=/opt/devkitpro
.export DEVKITPPC=/opt/devkitpro/devkitPPC
.
- Build the project with the command
make -j
.
After a successful build, you will get a file called SpaceCadetPinball.dol
, which is the main executable.
- Rename
SpaceCadetPinball.dol
toboot.dol
. - Go to the
sd
folder in this repository, and copy its contents to the root of the SD card you use for loading apps for the Hombrew channel. - Copy
boot.dol
toapps/SpaceCadetPinball/
in your SD card. - For legal reasons, you will need to get the original PC game on your own to obtain the assets like graphics and sound effects. Those are not contained in this repository.
- Copy all PC game's assets to
apps/SpaceCadetPinball/Data/
in your SD card. ForFull Tilt! Pinball
, copy all the files and theSOUND
folder that are located inside theCADET
folder. - Optionally, since this port doesn't play MIDI files, you'll need to convert the music to ogg format. Make sure that the music has a sample rate no higher than 44100Hz, or it won't play correctly:
- 3D Pinball - Space Cadet: name the file
PINBALL.ogg
and put it along the other assets in theData
folder. - Full Tilt! Pinball: name the file
TABA1.ogg
and put it along the other sound files in theData/SOUND
folder.
- 3D Pinball - Space Cadet: name the file
- If everything went fine, you should be able to see the game in your homebrew channel and run it.
- Get the Dolphin emulator if you don't have it.
- Create and edit a virtual SD card following these instructions.
- Mount that virtual card.
- Follow the steps 4, 5 and 6 in
Wii with homebrew channel
section. - Unmount the SD card, as Dolphin won't be able to access its contents while it's mounted.
- Open Dolphin, go to
Config
, then to theAudio
tab, and selectDSP LLE REcompiler (slow)
. Audio won't work without that. - Go to
Graphics
settings, then to theHacks
tab, and move theAccuracy
slider all the way to the left to set it asSafe
. - Go to the menu
File
and thenOpen...
. - Locate and open
SpaceCadetPinball.dol
(orboot.dol
in case you renamed it for the homebrew channel). - If everything went fine, you should be able to run the game.
2 : Launch the ball
A : Move the left paddle
1 : Move the right paddle
DPAD Left, Right, Up : Bump table
- : Start a new game
+ : Pause
A : Launch the ball
Z : Move the left paddle
B : Move the right paddle
DPAD Left, Right, Up : Bump table
- : Start a new game
+ : Pause
A : Launch the ball
L/ZL : Move the left paddle
R/ZR : Move the right paddle
DPAD Left, Right, Up : Bump table
- : Start a new game
+ : Pause
A : Launch the ball
L : Move the left paddle
R : Move the right paddle
DPAD Left, Right, Up : Bump table
Y : Start a new game
Start : Pause