Serious Engine - MacSourcePorts/MSPBuildSystem GitHub Wiki
Information
Source Port | Serious-Engine |
Game(s) | Serious Sam: The First Encounter, Serious Sam: The Second Encounter |
Homepage | https://github.com/ptitSeb/Serious-Engine |
Source Code | https://github.com/ptitSeb/Serious-Engine |
Build Type: | Mac Source Ports Fork |
MSP Fork | https://github.com/MacSourcePorts/Serious-Engine |
Port Type | Original Source Code |
Project Build Strategy | Project doesn’t do Mac builds |
Source Code Strategy | Source available |
Projct Release Strategy | No releases |
Mac Support Status | No official Mac support |
Build System | CMake |
Programming Language(s) | C/C++ |
Data Situation | Needs data to be in ~/Library/Application Support/Serious-Engine/serioussamfe for First Encounter, and ~/Library/Application Support/Serious-Engine/serioussamse for Second Encounter. Also has different builds for the different games. |
Homebrew Requirements | brew install sdl2 libogg libvorbis |
Notes
After noticing someone posting working builds, albeit unsigned loose executables, I finally figured out the deal. Those loose executables worked as long as they were in the Bin subfolder of the game data.
To get the game to bundle I had to figure out how to have it load the dylibs it needs (libEntites.dylib
, libGame.dylib
and libShaders.dylib
) from the app bundle but load all the other files elsewhere.
Also, like wrathplaces, it loads in the ogg/vorbis libraries but does not link to it so you have to have them there, lipo'd and signed, but since they're not linked in dylibbundler
doesn't grab them for you.
These libraries are, for right now, in the Resources folder which is what the SDL method SDL_GetBasePath()
returns but that's not best practice. But for now I'm using it since I suck with strings in C/C++.
MSP Fork Differences
Sources/Engine/Base/Unix/UnixDynamicLoader.cpp
Sources/Engine/Engine.cpp
Sources/Engine/Entities/EntityClass.cpp
Sources/SeriousSam/SeriousSam.cpp