amireh / Vertigo

An arcade game that tests your reflexes! Written in C++ using Ogre3D, Bullet Physics and OpenAL.
http://www.vertigo-game.com/
GNU General Public License v3.0
11 stars 1 forks source link

Port to Ogre 1.9.0 #1

Open akien-mga opened 9 years ago

akien-mga commented 9 years ago

I've tried to build Vertigo against OGRE 1.9.0 on Mageia 5, and after some tweaking to get the dependencies installed (ParticleUniverse and OgreOggSound), I hit errors relative to Ogre, namely (excerpt):

g++ `pkg-config --cflags OGRE OGRE-Overlay OIS bullet` -Iinclude -Imodules/include -Imodules/include/ogre -Imodules/include/ogre-procedural -Imodules/include/btogre -Imodules/include/tinyxml -Imodules/include/tinyxmlresource -I/usr/include/OGRE/Plugins/ParticleUniverse -I/usr/local/include/OgreOggSound -O2  -c src/Tunnel.cpp -o src/Tunnel.o
In file included from include/UIEngine.h:35:0,
                 from include/Level.h:31,
                 from src/Tunnel.cpp:24:
modules/include/ogre/OgreSdkTrays.h: In static member function 'static void OgreBites::Widget::nukeOverlayElement(Ogre::OverlayElement*)':
modules/include/ogre/OgreSdkTrays.h:139:5: error: incomplete type 'Ogre::OverlayManager' used in nested name specifier
     Ogre::OverlayManager::getSingleton().destroyOverlayElement(element);
     ^
modules/include/ogre/OgreSdkTrays.h: In static member function 'static bool OgreBites::Widget::isCursorOver(Ogre::OverlayElement*, const Ogre::Vector2&, Ogre::Real)':
modules/include/ogre/OgreSdkTrays.h:148:31: error: incomplete type 'Ogre::OverlayManager' used in nested name specifier
    Ogre::OverlayManager& om = Ogre::OverlayManager::getSingleton();
                               ^
modules/include/ogre/OgreSdkTrays.h:149:59: error: invalid use of incomplete type 'class Ogre::OverlayManager'
             Ogre::Real l = element->_getDerivedLeft() * om.getViewportWidth();
                                                           ^
In file included from /usr/include/OGRE/Overlay/OgreOverlayContainer.h:32:0,
                 from /usr/include/OGRE/Plugins/ParticleUniverse/ParticleUniverseSystemManager.h:56,
                 from include/Probe.h:33,
                 from include/Tunnel.h:27,
                 from src/Tunnel.cpp:22:
/usr/include/OGRE/Overlay/OgreOverlayPrerequisites.h:43:11: error: forward declaration of 'class Ogre::OverlayManager'
     class OverlayManager;
           ^

It would be nice to get the code base updated for recent libs, so that the game can still be built in recent environments (and maybe attract new contributors, or at least distro packagers?).

amireh commented 9 years ago

Can you publish your fork? I'll take a look at this soon. Would be nice to get this running again with the latest libraries, especially now that ParticleUniverse is open source which means this can get into the OSS channels!

akien-mga commented 9 years ago

My changes were pretty basic, it was mostly to make sure the libraries are found on my system, and overriding some of them bundled headers with newer ones from upstream. Since it did not work in the end, I did not keep my git clone.

But indeed, I packaged ParticleUniverse a while ago for the Summoning Wars game, so I would like to package Vertigo for Mageia too :)