A Quick Word about the Versions of Wolfenstein 3D
Compiling the wolf3d binary takes less than five minutes and to do so is straightforward. The short compile times means it can be repeated until the right one for your version of Wolfenstein 3D is obtained.
Build Wolf4sdl binary for your version
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
Obtain the source code and unzip the data with following commands.
wget https://sites.google.com/site/dosonthepi/master.zip
unzip master.zip
Before you compile, you need to edit the source code to create a binary for the version of your game data. The file to edit is version.h in the wolf4sdl-master folder. To do this, run the following commands.
cd wolf4sdl-master
sudo nano version.h
The lines to edit are 10 to 12. If you brought the full version of Wolfenstein 3D 1.4 from 3D Realms, then you need to leave line 16 uncommented as below.
//#define UPLOAD
//#define GOODTIMES
#define CARMACIZED
If you have the full version 1.4 from GT interactive, ID or Activision, then you need to leave line 15 uncomment as well.
//#define UPLOAD
#define GOODTIMES
#define CARMACIZED
If you have shareware version, have versions other than 1.4 or wish to create a binary for Spear of Destiny, then refer to lines 22 to 31 in version.h to find which lines to leave uncommented.
Save your changes to version.h. To compile, run the following command.
make
As mentioned earlier, the compile will take no more than five minutes. Once done, there will be a binary called wolf3d in the wolf4sdl-master folder.
Set up and Run Wolf4sdl
cd ~
mkdir wolf3d
cp /home/pi/wolf4sdl-master/wolf3d /home/pi/wolf3d/wolf3d
sudo cp -r *.wl6 /usr/share/games/wolf3d/
For shareware versions, the game extensions are *.WL1 so change *.wl6 to *.wl1 in the command above.
Before you can run the game, all filenames need to be changed to lowercase. As a check, the data files required are:
- audiohed.wl6
- audiot.wl6
- config.wl6
- gamemaps.wl6
- maphead.wl6
- vgadict.wl6
- vgagraph.wl6
- vgahead.wl6
- vswap.wl6
Now run the following commands to check that Wolfenstein 3D runs.
cd wolf3d
./wolf3d --res 640 480
If the game runs fine, then you can now delete the source code in the wolf4sdl-master folder if you wish.
Troubleshooting
It's likely that you will have to play around with both versions of the version.h file described above before you get the right binary.
NO WOLFENSTEIN 3-D DATA FILES to be found!
NO WOLFENSTEIN 3-D DATA FILES to be found!
Check that the *.wl6 data files are in the same directory as the
wolf3d binary and their names are in lowercase. If they are and you are still getting this error, then re-edit the version.h file (see above) and recompile.
ps
you forgot to update NUMCHUNKS
If you receive this error, then it's likely that you have a binary for the wrong version. Re-edit the version.h file (see above) and recompile.
If this does not resolve the problem, then try again with a different source for your game data.
Integration into Retropie
Ports in Retropie 2.x now use shell scripts to launch games in emulationstation. Do the same for Wolf4sdl by using the commands below to create a script, wolf3d.sh.
cd ~/RetroPie/roms/ports
sudo nano wolf3d.sh
Copy and paste the code below.
#!/bin/bash
cd /home/pi/wolf3d
/opt/retropie/supplementary/runcommand/runcommand.sh 0 "./wolf3d --res 640 480"
Save and exit. Next make the wolf3d.sh executable so it can be launched from emulationstation.
sudo chmod +x wolf3d.sh
Restart emulationstation and Wolfenstein 3D will appear in the Ports category.
If you are running Retropie version 2.3 or earlier, then it's probable that you will see a black screen on game exit and the pi can only be rebooted through a power cycle. In which case, you can fix this by either getting the latest Retropie image or carrying out the following updates on your existing image:
If you are running Retropie version 2.3 or earlier, then it's probable that you will see a black screen on game exit and the pi can only be rebooted through a power cycle. In which case, you can fix this by either getting the latest Retropie image or carrying out the following updates on your existing image:
- Update the Retropie binaries by choosing option 6 in the Retropie setup script;
- Update the runcommand.sh script.