Skip to content

Releases: DreamyCecil/SE1-ModSDK

SDK update (2024-07-14)

14 Jul 11:22
Compare
Choose a tag to compare

Changes since v1.5.3

  • Added legacy Entities and EntitiesMP projects from old SDKs (sdk105 and sdk107 respectively) with little to no changes to the code and the project structure to allow porting existing mods onto this SDK.
  • Added EntitiesSSR project that attempts to recreate entity logic from Serious Sam Revolution (WIP).
  • Fixed a typo in the manual TSE compilation script that didn't compile item entities.
  • Fixed a compilation error in WorldBase.es from EntitiesTFE when building under 1.10.

Changes to SDK includes

  • Unified headers of the EngineGUI library from all the engine versions under common engine headers.
  • Unified "exploration3d", "Math" and "Sound" code from all the engine versions under common engine headers.
  • Adapted headers of old engine versions (pre-1.10) to the new VS2010+ compilers.
  • Removed unnecessary extra code from EngineEx.
  • Made Engine.h of every engine version automatically configure the mod SDK if property sheets have not been used.
  • Significantly updated SDK for Serious Sam Revolution.
  • Added include guard to GameV/SessionProperties.h from all the engine versions.

SDK update (2024-01-14)

14 Jan 12:54
Compare
Choose a tag to compare

Changes since v1.5.2

  • Removed inclusion of Game/PlayerSettings.h from EntitiesAPI.h due to being not that important.
  • Added support for stereo rendering to EntitiesTFE.
  • Made entity logic of EntitiesTFE and EntitiesTSE on 1.05 compatible with their vanilla logic.

Changes to SDK includes

  • Removed inclusion of PlayerSettings.h from StdH.h of vanilla entities.
    • Added class keyword to CPlayerSettings in vanilla entity headers.
  • Updated Entity Class Compiler to version 1.0.10.

SDK update (2023-08-16)

16 Aug 16:56
Compare
Choose a tag to compare

Changes since v1.5.1

  • Added special API headers to Entities libraries for easier linkage that also includes all the necessary stuff like in StdH.h.
  • Added include guard to Game/SessionProperties.h.
  • Fixed a bug in Game for The Second Encounter build configurations that would render the intro book texture over the world map if the game was started from "In The Last Episode" level.
  • Renamed (LibMain).cpp back to LibMain.cpp. It can now be named anything without worrying about the order of code initialization.

Changes to SDK includes

  • Added entity table method for gathering entity property identifiers in a container.
  • Implemented tables of property references for easier property search by using the identifier name (like in Revolution).
  • Added new header library under the Common/EngineEx directory that contains headers with useful custom functionality.
  • Updated Entity Class Compiler to version 1.0.9.
  • Regenerated vanilla entity headers using updated Entity Class Compiler.
  • Removed SE1_101 macro for 1.01 engine version due to not being an actual version.
  • Massively improved SDK for Serious Sam Revolution, making it nearly perfect for common use cases (e.g. entity pack creation).

SDK update (2023-06-02)

02 Jun 20:26
Compare
Choose a tag to compare

Changes since v1.5

  • Made project files compatible with Visual Studio 2010.
  • Made project works under directories that contains spaces.
  • Added batch scripts for sorting and compiling entities under EntitiesTFE.

Changes to SDK includes

  • Removed DirectX8 SDK headers and replaced needed types with dummies.
  • Added missing "Debug" libraries for vanilla SDKs for linking modules under Debug configurations.
  • Added helper headers that need to surround included STL headers.
  • Uploaded manually recreated headers & libraries of Serious Sam Revolution (WIP).

SDK update (2023-02-15)

15 Feb 09:44
Compare
Choose a tag to compare

Changes since v1.4

  • Renamed LibMain.cpp into (LibMain).cpp to always automatically keep it on the top of all source files in the project file.
  • Replaced engine version numbers with proper macros that define engine versions.
  • Removed entity headers and tables from the Entities project files to prevent them from appearing in searches and to keep project files cleaner and easier to maintain.
  • Made Game project compatible with both The First Encounter and The Second Encounter.
  • Renamed Entities project into EntitiesTSE to signify that it contains entity code specifically for The Second Encounter.
  • Added EntitiesTFE project that contains entity code specifically for The First Encounter.
  • Made all file includes have paths relative to the project directory, rather than the solution.

Changes to SDK includes

  • Added new property sheets with common properties that were previously defined in projects specifically.
  • Moved model headers under the "Common" directory for consistency.
  • Moved property sheets with definitions of engine versions and games from the SDK to includes.
  • Added headers and static libraries of vanilla entities for projects that depends on vanilla entity logic (TFE 1.05 and TSE 1.05 & 1.07).
  • Updated Entity Class Compiler to the 1.0.5 version.
    • Added support for generating tables of entity property identifiers, the indices of which match properties in their respective tables inside CDLLEntityClass.
    • Added a -compat command line argument for compiling entity sources that are compatible with the vanilla SDK.
    • Added an -export command line argument for forcing class export from the library regardless of whether or not it's marked with an export keyword.

SDK update (2022-12-23)

23 Dec 05:30
Compare
Choose a tag to compare

From this point on, there won't be any archives with only the source code attached, since it was just including everything that's already under the repository's Sources directory. Click on Source code (zip) or Source code (tar.gz) instead to download the whole package.

Changes since v1.3.1

  • Replaced SE1_TFE macro with a more versatile SE1_GAME that defines a current game. For example, a #ifdef SE1_TFE check would now become #if SE1_GAME == SS_TFE. Find out more in the wiki.
  • Removed project files for Visual Studio 2019. Having multiple project files is useful only when the project is included in another project. This SDK is supposed to be standalone.
  • Got rid of obsolete SeriousSam_SDK107 name from everywhere.
  • Changed build directories to append Visual Studio version to configuration folder names instead of build directory folder names. For example, Bin.vs2013/Release_TSE107 is now Bin/vs2013.Release_TSE107.
  • Grouped entity source files under their respective directories that mirror the project tree.
    • Also moved source & header files that are generated by ECC under their own subfolders in the project tree.
  • Removed unfinished ExotechLarvaAnimator and LightStyle entities from files.
  • Replaced 1.05 compatibility methods with preprocessor checks that the new ECC supports.
  • Replaced StdH.cpp with LibMain.cpp and defined a library entry point method.
    • Also defined extra ECC features by including its source file there.
  • Introduced exportable tables of entities that list every entity class available in the library.

Changes to SDK includes

  • Unified code of template classes (from Engine/Templates) under the new "Common" engine directory.
  • Backported features for template classes from 1.50.
  • Added methods to template container iterators that return the current iteration index.
  • Made sure that container methods for searching for specific objects returned -1 instead of 0 upon failure to find an object.
  • Fixed incorrect deletion of elements in the CDynamicStackArray container template.
  • Moved DirectX8 includes under the "Common" directory.
  • Introduced a custom Entity Class Compiler with new features for entity source files.
    • It now includes EccExtras.h header into every entity header to provide extended functionality.
    • It now generates tables of event classes for each entity source using backported CDLLEntityEvent class from 1.50.
    • It now generates an entry in the global entity table with pointers to its CDLLEntityClass class and a brand new array of CDLLEntityEvent classes.

Source Code Only (2022-08-22 #2)

22 Aug 12:17
Compare
Choose a tag to compare

This archive (SDK.zip) includes only the source code with project files, without the mod shell.

Changes since v1.3

  • Removed MP suffix from project directories.
  • Added Croteam license header to all source files.
  • Borrowed code fixes from Serious Engine 1.10 for some source files.
  • Removed obsolete ECL and message files from Entities project files.
  • Removed definitions of custom weapon indices from WeaponPositions.h and utilize indices from WeaponType enum instead.

Keep in mind that the libraries are compiled in the Bin folder one level above the source code folder (e.g. C:\Mod\Bin if the source code is in C:\Mod\Sources).

Source Code Only (2022-08-22)

21 Aug 23:48
Compare
Choose a tag to compare

This archive (SDK.zip) includes only the source code with project files, without the mod shell.

Changes since v1.2

  • Added configurations for building under The First Encounter 1.05.
  • Renamed build configurations to properly indicate their purpose.
  • Added property sheets for projects to unify paths to includes, libraries & builds between projects and Visual Studio versions.

Keep in mind that the libraries are compiled in the Bin folder one level above the source code folder (e.g. C:\Mod\Bin if the source code is in C:\Mod\Sources).

Source Code Only (2022-05-21)

21 May 18:02
Compare
Choose a tag to compare

This archive (SDK107.zip) includes only the source code with project files, without the mod shell.

Changes since v1.1

  • Moved engine and model headers into a separate submodule, which resides in Sources/Includes in order to not copypaste the files across different projects since those files are very rarely changed.
  • Two sets of projects, for Visual Studio 2013 and Visual Studio 2019 (both of which target MSVC6.0 for 1.07 configurations and MSVC12.0 for 1.10). Project files are suffixed with _vs2013 and _vs2019 respectively.

Keep in mind that the libraries are compiled in the Bin folder one level above the source code folder (e.g. C:\Mod\Bin if the source code is in C:\Mod\Sources).

Source Code Only (2021-05-16)

16 May 13:34
Compare
Choose a tag to compare

This archive (SDK107.zip) includes only the source code with project files, without the mod shell.

Changes since v1.0.1

  • Included headers and libraries of Engine and EngineGUI from SE1.10 and a new set of configurations for building the SDK for the clean Serious Engine 1.10.
  • These headers and libraries can also be copied from a custom fork of Serious Engine 1.10, assuming there aren't many significant changes that conflict with the entity and game code.

Keep in mind that the libraries are compiled in the Bin folder one level above the source code folder (e.g. C:\Mod\Bin if the source code is in C:\Mod\Sources).