Compiling sfall
Programs required:
- Visual Studio 2019
- DirectX
SDK
- If you get error S1023 when installing the SDK, uninstall Microsoft C++ Redistributable 2010 and then try to install DirectX SDK
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.
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.