This is the source code of an Entity Class Compiler (ECC), which is a custom build tool used to compile entity source files (.es) for Serious Engine 1.
This fork of ECC includes new features and also supports other engine versions, such as Serious Engine 1.50 and Serious Sam Revolution.
Original source code is taken from Serious Engine 1.10.
Release executables are built under the ClassicsEnhanced configuration and are compatible with entity sources from most versions of Serious Engine 1.
| Visual Studio configuration | CMake option | Description | Compatibility |
|---|---|---|---|
Classics |
ECC_FOR_CLASSICS=1 |
ECC for entities from vanilla games. Serves as a base for the rest of the compilers. | 1.05; 1.07; 1.10 |
ClassicsEnhanced |
ECC_FOR_ENHANCED=1 |
ECC designed specifically for this Serious Engine 1 Mod SDK. | 1.05; 1.07; 1.10; SSR |
SE150 |
ECC_FOR_SE150=1 |
ECC for entities from Serious Engine 1.50 that support its features. | b1.50; 1.50 |
SSR |
ECC_FOR_SSR=1 |
ECC for entities from Serious Sam Classics: Revolution that support its features. | SSR |
Project files require Visual Studio 2010 or later.
Quick repository setup in some directory:
git clone --recurse-submodules -j8 https://github.com/DreamyCecil/SE1-ECC.git
- Open
EntityClassCompiler.slnsolution. - Select an appropriate build configuration for the desired ECC version.
- Press F7 or Build -> Build solution to build the entire project.
Before building, you need to install certain modules if they aren't already there.
Quick repository setup in some directory:
sudo apt install git cmake build-essential libopenal-dev
git clone --recurse-submodules -j8 https://github.com/DreamyCecil/SE1-ECC.git
cd ./SE1-ECC
- Create a build directory with
mkdir cmake-buildand then enter it withcd cmake-build - Configure CMake project with
cmake ..or with some options likecmake -DCMAKE_BUILD_TYPE=Release -DECC_FOR_ENHANCED=1 .. - Build the project with
make
Add subdirectory with this project to your CMake project to build it with everything else, something like this:
# Relative to the initial CMakeLists.txt
add_subdirectory(${CMAKE_SOURCE_DIR}/ThirdParty/SE1-ECC)
# Or relative to the file
add_subdirectory(SE1-ECC)This project is licensed under GNU GPL v2 (see LICENSE file).