icculus / Serious-Engine

An open source version of a game engine developed by Croteam for the classic Serious Sam games.
GNU General Public License v2.0
165 stars 23 forks source link

load plugin didn't consider MP suffix #63

Open comicfans opened 8 years ago

comicfans commented 8 years ago

linux debug build , TFE=false will build libEntitiesMPD.so libGameMPD.so libShadersD.so (I've found CMakeLists.txt:631 only SHADERSLIB didn't append MP suffix, is this correct ?)

but when run game engine, it reports didn't found file libEntitiesD.so

which comes from EntityClass.cpp:242

    #ifndef NDEBUG
    fnmDLL = fnmDLL.FileDir()+"Debug\\"+fnmDLL.FileName()+_strModExt+"D"+fnmDLL.FileExt();
    #else
    fnmDLL = fnmDLL.FileDir()+fnmDLL.FileName()+_strModExt+fnmDLL.FileExt();
    #endif

this didn't consider MP suffix .

monreal commented 8 years ago

I ran into this, too. Needed to do the following as a workaround:

ln -s libEntitiesMPD.so libEntitiesD.so ln -s libGameMPD.so libGameD.so

DanielGibson commented 8 years ago

this didn't consider MP suffix .

doesn't _strModExt contain "MP" in this case?

You shouldn't need any symlinks, but you need a ModEXT.txt file in your serious sam install directory, containing just MP. If that file is found by the game, it should load libEntitiesMPD.so instead of libEntitiesD.so, i.e. _strModExt should contain "MP" instead of being empty ("") then.

monreal commented 8 years ago

I did not copy the ModEXT.txt file because the README only mentions .gro files. After copying the textfile everything works fine.

yamgent commented 8 years ago

The readme does not mention ModEXT.txt because that file already exist in the repository, and the readme assumes that you are running the game inside the repository.

I have made some changes to the readme in a new pull request with regards to this issue, but if you feel that further changes can be made to make it even clearer, feel free to contribute. :)