Hi, I'm the Fedora package maintainer of funguloids. While still hoping that someone had already ported funguloids to 1.9, google found this bug, but alas no patch was available.
So I've written a patch myself. Which I've attached to this mail to avoid you guys doing double work. Regards, Hans
--- funguloids/configure.ac 2014-06-08 17:51:44.423179835 +0200 +++ funguloids.new/configure.ac 2014-06-08 14:52:54.384959442 +0200 @@ -31,7 +31,7 @@ AC_CHECK_HEADERS([stdlib.h string.h sys/param.h wchar.h]) # OGRE ---------------------------------------------------- -PKG_CHECK_MODULES(OGRE, [OGRE >= 1.4]) +PKG_CHECK_MODULES(OGRE, [OGRE >= 1.9 OGRE-Overlay >= 1.9]) AC_SUBST(OGRE_CFLAGS) AC_SUBST(OGRE_LIBS) --- funguloids/include/game.h 2007-04-20 13:19:40.000000000 +0200 +++ funguloids.new/include/game.h 2014-06-08 14:52:54.385959417 +0200 @@ -27,6 +27,9 @@ #define GAME_H #include "ogreapp.h" +#include <Overlay/OgreOverlay.h> +#include <Overlay/OgreOverlayManager.h> + #include "menu.h" #include "SimpleIni.h" --- funguloids/include/menu.h 2007-03-11 16:37:32.000000000 +0100 +++ funguloids.new/include/menu.h 2014-06-08 14:52:54.385959417 +0200 @@ -27,7 +27,8 @@ #define MENU_H #include "ogreapp.h" -#include <OgreTextAreaOverlayElement.h> +#include <Overlay/OgreOverlay.h> +#include <Overlay/OgreTextAreaOverlayElement.h> class HiscoreList; --- funguloids/include/mpakogre.h 2014-06-08 17:51:44.448178885 +0200 +++ funguloids.new/include/mpakogre.h 2014-06-08 14:52:54.385959417 +0200 @@ -79,7 +79,7 @@ virtual ~MPakArchiveFactory() {} const String &getType(void) const; - Archive *createInstance(const String &name) { + Archive *createInstance(const String &name, bool readOnly) { return new MPakArchive(name, "MPK"); } --- funguloids/include/ogreapp.h 2007-03-11 16:35:44.000000000 +0100 +++ funguloids.new/include/ogreapp.h 2014-06-08 17:48:54.510790299 +0200 @@ -28,6 +28,9 @@ #include <Ogre.h> #include <OgreConfigFile.h> +#include <Overlay/OgreOverlay.h> +#include <Overlay/OgreOverlaySystem.h> + #include "ogrelistener.h" using namespace Ogre; @@ -39,6 +42,7 @@ OgreApplication() { mFrameListener = 0; mRoot = 0; + mOverlaySystem = 0; } virtual ~OgreApplication(); @@ -65,6 +69,7 @@ protected: Root *mRoot; + OverlaySystem* mOverlaySystem; Camera *mCamera; SceneManager *mSceneMgr; RenderWindow *mWindow; --- funguloids/include/ogrelistener.h 2007-03-11 16:29:00.000000000 +0100 +++ funguloids.new/include/ogrelistener.h 2014-06-08 14:52:54.386959392 +0200 @@ -29,6 +29,7 @@ #include <Ogre.h> #include <OgreStringConverter.h> #include <OgreException.h> +#include <Overlay/OgreOverlay.h> #include "input.h" --- funguloids/include/player.h 2007-04-16 01:31:39.000000000 +0200 +++ funguloids.new/include/player.h 2014-06-08 14:52:54.386959392 +0200 @@ -27,7 +27,8 @@ #define PLAYER_H #include <Ogre.h> -#include <OgreTextAreaOverlayElement.h> +#include <Overlay/OgreOverlay.h> +#include <Overlay/OgreTextAreaOverlayElement.h> #include "movingobject.h" #include "mushroom.h" #include "soundsystem.h" --- funguloids/include/soundsystem.h 2007-04-24 19:30:32.000000000 +0200 +++ funguloids.new/include/soundsystem.h 2014-06-08 14:52:54.386959392 +0200 @@ -66,7 +66,7 @@ if(!grp) OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Cannot locate a resource group called 'General'", "ResourceGroupManager::openResource"); - OGRE_LOCK_MUTEX(grp->OGRE_AUTO_MUTEX_NAME) // lock group mutex + OGRE_LOCK_MUTEX(grp->OGRE_AUTO_MUTEX_NAME); // lock group mutex ResourceLocationIndex::iterator rit = grp->resourceIndexCaseSensitive.find(filename); if(rit != grp->resourceIndexCaseSensitive.end()) { // Found in the index --- funguloids/src/hiscore.cpp 2007-05-04 12:56:12.000000000 +0200 +++ funguloids.new/src/hiscore.cpp 2014-06-08 17:47:39.772663131 +0200 @@ -28,7 +28,7 @@ #include <stdio.h> #include "game.h" #include "hiscore.h" -#include <OgreTextAreaOverlayElement.h> +#include <Overlay/OgreTextAreaOverlayElement.h> // Global high score list HiscoreList hiscoreList; --- funguloids/src/menu.cpp 2007-05-04 12:53:37.000000000 +0200 +++ funguloids.new/src/menu.cpp 2014-06-08 17:47:39.772663131 +0200 @@ -28,7 +28,6 @@ #include "objectsystem.h" #include "soundsystem.h" #include "hiscore.h" -#include <OgreTextAreaOverlayElement.h> // Version string --- funguloids/src/ogreapp.cpp 2014-06-08 17:51:44.431179531 +0200 +++ funguloids.new/src/ogreapp.cpp 2014-06-08 17:51:13.035451662 +0200 @@ -72,6 +72,8 @@ OGRE_CONFIG_AND_LOG_PATH + "Ogre.log" ); + mOverlaySystem = new OverlaySystem(); + ConfigFile cfg; cfg.load(String(OGRE_PLUGINS_AND_RESOURCES_PATH) + "plugins.cfg"); String pluginDir = cfg.getSetting("PluginFolder"); @@ -161,6 +163,9 @@ if(mFrameListener) delete mFrameListener; + if (mOverlaySystem) + delete mOverlaySystem; + if(mRoot) delete mRoot; --- funguloids/src/scriptsystem.cpp 2014-06-08 17:51:44.455178619 +0200 +++ funguloids.new/src/scriptsystem.cpp 2014-06-08 17:47:39.772663131 +0200 @@ -67,7 +67,7 @@ if(!grp) OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Cannot locate a resource group called 'General'", "ResourceGroupManager::openResource"); - OGRE_LOCK_MUTEX(grp->OGRE_AUTO_MUTEX_NAME) // lock group mutex + OGRE_LOCK_MUTEX(grp->OGRE_AUTO_MUTEX_NAME); // lock group mutex ResourceLocationIndex::iterator rit = grp->resourceIndexCaseSensitive.find(filename); if(rit != grp->resourceIndexCaseSensitive.end()) { // Found in the index --- funguloids/src/game.cpp~ 2007-05-04 12:56:29.000000000 +0200 +++ funguloids/src/game.cpp 2014-06-08 20:35:50.365150966 +0200 @@ -206,6 +206,8 @@ void GameApplication::createScene() { // Create the menus and go to the title screen mMenu = new Menu(mSceneMgr); mMenu->setMenu("TitleScreen"); + + mSceneMgr->addRenderQueueListener(mOverlaySystem); }