Compiling sfall

Programs required:

First you need to download and unzip the source code. Then go to sfall directory and open ddraw.vcxproj with Visual Studio. Because the project is made for MSVC 2015 and 2017 you probably need to retarget the project. To do this first select "Release" build type and not "Debug" then right-click on the project in solution explorer and click "Retarget project" then click "Ok".

Now we need to fix a few things for it to compile in Visual Studio 2019. First right-click on ddraw in solution explorer and go to Properties. The go co C/C++ > General and enable Multi-processor Compilation, this will make the compilation process a lot faster. Then in the same Properties window go to Linker > Input and in Additional Dependencies look for dinput.lib and change it to dinput8.lib. Then go to Build Events > Post-build Event and delete the value inside Command Line, otherwise the build will result in an error for some reason. Now close the Properties window.

dinput8.dll Post-build Command removed

Now to fix the last compilation error include "intrin.h" header file in WindowRender.cpp which is located under Modules/SubModules in the solution explorer. WindowRender.cpp uses assembly instructions and intrinsic functions to optimize rendering and inclusion of "intrin.h" is required to use those intrinsic functions on MSVC2019.

To include the header go to the beginning of the file and look for other #include statements and type #include <intrin.h> on a new line. The beginning of a file should now look something like this:

#include "..\..\main.h"
#include "..\..\FalloutEngine\Fallout2.h"

#include "..\..\Game\GUI\render.h"

#include "WindowRender.h"
#include <intrin.h>

Now click "Build" on menu bar and click "Build ddraw" or just press Ctrl+B on your keyboard. The project should now compile. Now go to Release folder inside the sfall folder and copy ddraw.dll to the game folder. Also copy ddraw.ini and ddraw.dat form artifacts folder to the game folder.

Now we have the newest version of sfall. After modifying the game I would suggest going through ddraw.ini and tweaking it to your liking.

If the game crashes after intro cutscene try installing pre-built binaries from SourceForge or installing a different version.