Skip to content

Building

Dreamy Cecil edited this page Jul 9, 2024 · 5 revisions

This guide explains how to build projects under any version of Serious Engine 1 on modern Windows systems.

Project setup

Before building, make sure to update all submodules in the repository:

git submodule update --init --recursive

Building under 1.10

Any project derived from this SDK can be built under Serious Engine 1.10, including its forks. By default, this SDK includes:

  • Headers based on the open-source release:
    • Includes/Engine110/Engine
  • Static libraries built using Visual Studio 2013:
    • Includes/Engine110/Engine.lib
    • Includes/Engine110/EngineD.lib
    • Includes/Engine110/EngineGUI.lib
    • Includes/Engine110/EngineGUID.lib

Build configurations for 1.10 engines that you may encounter:

  • Debug_TSE110 - Debug build for Serious Engine 1.10.
  • Release_TSE110 - Release build for Serious Engine 1.10.
  • Debug_SSR110 - Debug build for Serious Sam: Revolution (using headers and libraries under Includes/EngineRev instead).
  • Release_SSR110 - Release build for Serious Sam: Revolution (using headers and libraries under Includes/EngineRev instead).

Clean 1.10 sources

If you wish to build this SDK under clean 1.10 sources, you must use 2013's compiler for proper linking with the included libraries. Otherwise you need to manually rebuild them using your preferred compiler and replace existing static libraries under Includes/Engine110.

Forks of 1.10

If you wish to build this SDK under another version/fork of 1.10, follow these steps:

  1. Copy all header files from Engine folder into Includes/Engine110/Engine.
  2. Copy built static libraries and replace existing ones under Includes/Engine110.

Building under 1.05, 1.07, 1.50 etc.

This SDK is designed to be built under the most relevant versions of Serious Engine 1, more specifically 1.05 (TFE, TSE) and 1.07 (TSE).

In order to make the code compatible with these versions, you have to use MSVC 6.0 compiler. Since this SDK is designed for modern IDEs, you cannot use an old compiler out of the box.

  1. Install Microsoft Visual C++ 6.0 with Service Pack 6. See guide with details.
  2. Install Visual Studio 2010. See guide with details.
  3. Install Daffodil, which contains build configurations for old compilers for Visual Studio 2010. Source.
  4. (Optional) Install a Visual Studio of your choice (if it's newer than 2010).

Before building projects, make sure that their platform toolset is set to v60 (Project properties -> Configuration Properties -> General -> Platform Toolset).

Debugging

Visual Studio after 2010 cannot use program database files (.pdb) that are generated with MSVC 6.0, making traditional debugging impossible.

There are two ways around this:

  1. Attach to the running process using Microsoft Visual C++ 6.0 or Visual Studio 2010.
  2. Build under Serious Engine 1.10 using the same IDE that was used for the engine sources and debug using it.