Compiling the code for shareware Wolfenstein 3D and Spear of Destiny

The source code comes prepared to build version 1.4 of the full version of Wolfenstein 3D, but is actually capable of building for multiple different versions of the game, as well as Spear of Destiny!

This guide will show you how to change the code to compile for different games and different versions of them. It assumes you already have a game project that successfully compiles. If not, you'll want to check out the guide for setting up a Wolf4SDL project.

Setting up the Wolf4SDL Source Code

Wolf4SDL was released in 2007, a project by DHW member Moritz "Ripper" Kroll to port Wolfenstein 3D to modern systems. While there were other notable attempts at ports like NewWolf and WinWolf3D, this particular port stood out for it's closeness to the original look and feel of the game, as well as it's relative similarities to the original source in respect to modding.

This particular port has been one of the most common for people to make games using, and is even used as the base for ECWolf.


This guide answers common questions regarding the long-maintained Wolf4SDL source port.

Enabling Feature Flags (High Resolution Textures, Cloudy Skies, etc)

Wolf4SDL comes with extra features already added and just needing to be activated. This guide teaches you what is in Feature Flags, how to activate them, and how to use them.

Add a Rocket Launcher (Wolf4SDL)

Rocket launchers are a weapon introduced in the last three episodes of Wolfenstein 3D, but only for the Boss enemies. Let's fix that!

This guide will take you through the steps to adding a Rocket Launcher for the player to use in your Wolf4SDL project.

By the end you will have learned:

Adding a second ammo type

Wolfenstein 3D's three weapons each use the same ammo type. However, your project may require more types to accompany the weapons (For instance, a rocket launcher).

This guide will take you through the process of adding support for a second ammo type which we will apply to the chaingun. It is designed to be easily expandable for more ammo types!