ptitSeb / Serious-Engine

A port to the OpenPandora (and working fine on plain Linux) of the open source version of a game engine developed by Croteam for the classic Serious Sam games. Status: Working (for both FE and SE).
https://pyra-handheld.com/boards/threads/serious-sam-first-encounter.77225/
GNU General Public License v2.0
75 stars 22 forks source link

Support system installation #8

Open PaddyMac opened 5 years ago

PaddyMac commented 5 years ago

I'm trying to make a Gentoo ebuild for this program so that it can easily be installed as a package. I'm currently trying to work out how to do this using the current build framework. But it would be much easier to do this is the build system provided a way to facilitate this. Perhaps a cmake parameter which allowed choosing the installation directories for the executable, libraries, and game data files.

Also, while this may be a separate issue, I'll mention it here. When running "make install", it installs the following files into the Bin/ directory: libEntitiesMP.so, libGameMP.so, libShaders.so, and ssam. But when I try running ssam, it looks for the nonexistant files libEntities.so and libGame.so. I must rename libEntitiesMP.so to libEntities.so and libGameMP.so to libGame.so. Why does the build system install these files with the wrong file names?

PaddyMac commented 5 years ago

I thought perhaps I could work around the limitations of the build system by installing the game to something like /opt/ssam-tse/Bin with the game's data in /opt/ssam-tse and then using a wrapper shell script to create a directory such as ~/.ssam-tse which contains symlinks to the data, binary, and libraries. The idea was to make the game think it's running from the user's home directory instead of the directory it's actually running from. But as I found out, the game is not fooled. The game runs fine, but when I try to save a game, for example, it gives me an error saying that it cannot create /opt/ssam-tse/SaveGame. If what I had attempted had actually succeeded, it would have created the directory and save game under ~/.ssam-tse/SaveGame.

ptitSeb commented 5 years ago

For now, SeriousSam expect the bin and lib to be in the Bin subfolder of the Data. I understand this can be a lmitation and I would like to add some mecanism to have more choice and be abble to split binary and data.

For The Second Encounter, it should be libEntitiesMP.so and libGameMP.so, the without MP should be for the first encounter. The of the MP or not MP is linked to a data file https://github.com/ptitSeb/Serious-Engine/blob/master/ModEXT.txt that define wich suffix to use.