I got the latest code from github built and running under Linux Mint yesterday. It's looking good. Nice work upgrading to Ogre 1.11 and I like having the config inside the game.
I had quite a few issues with it but I figured most of them out last night. Some of them were partly my own fault because I downloaded and built Ogre 1.11.5 myself instead of using ror-dependencies to build it.
Here's what I found:
and
On my machine "file.filename" began with "/config/" causing it to double up. Changing it to "file.basename" fixes the issue.
Ogre 1.11.5 seems to always need a resource group name when calling resourceExists(), so this was always returning false which meant it was trying to create a duplicate manual mesh with the same name, causing a null pointer.
I fixed it with the following code (although RESOURCE_GROUP_NAME might work and be more efficient - I haven't tried that):
I had quite a few issues with it but I figured most of them out last night. Some of them were partly my own fault because I downloaded and built Ogre 1.11.5 myself instead of using ror-dependencies to build it.
Here's what I found:
- For some reason on my system it was looking for config files in "/config/config/" instead of "/config/". I tracked it down to code at lines 152 and 165 in main.cpp :
CreateFolder(dst_path + file.filename);
and
Ogre::String path = file.path + file.filename;
On my machine "file.filename" began with "/config/" causing it to double up. Changing it to "file.basename" fixes the issue.
- At first there were loads of errors with materials not being found, causing almost all the textures not to appear. It turned out it was because Ogre was defaulting to a strict mode OGRE_RESOURCEMANAGER_STRICT=3 when I built it. It needs to be 0. This is all because I downloaded Ogre 1.11 myself. If you build it using ror-dependencies this is set automatically, but it would be nice if this was mentioned more prominently on Ogre's website considering how much old content it breaks!
- When I enabled Caelum the game crashed. Have you guys had it working with Ogre 1.11.5? I tracked it down to InternalUtilities.cpp :
void InternalUtilities::generateSphericDome (const Ogre::String &name, int segments, DomeType type)
{
// Return now if already exists
if (Ogre::MeshManager::getSingleton ().resourceExists (name))
Ogre 1.11.5 seems to always need a resource group name when calling resourceExists(), so this was always returning false which meant it was trying to create a duplicate manual mesh with the same name, causing a null pointer.
I fixed it with the following code (although RESOURCE_GROUP_NAME might work and be more efficient - I haven't tried that):
if (Ogre::MeshManager::getSingleton ().resourceExists (name, AUTODETECT_RESOURCE_GROUP_NAME))
- I did have a go at running the prebuilt Linux binary from itch on Linux Mint. Oddly, when I use the RunRoR script to start it, it crashes complaining it can't find a codec for png files, even though there's a libpng library bundled with it. If I run it using the system libraries instead, the problem seems to go away. I downloaded that yesterday.