- Issue:
- SDKTray has some minor changes so that the constructor needs a parameter changed.
- Solution:
- Create the project as usual.
- In project settings:
- Add the "$(OGRE_HOME)\include\OGRE\Overlay" into include directory
- In Linker tab, add "OgreOverlay_d.lib" into the text box
In BaseApplication.h append in class member variable
Code Block language cpp title Create Overlay System linenumbers true #if OGRE_VERSION >= ((1 << 16) | (9 << 8) | 0) // Added OverlaySystem Ogre::OverlaySystem* mOverlaySystem; #endif
In BaseApplication.cpp append after "mRoot->createSceneManager(Ogre::ST_GENERIC);" append
Code Block language cpp title Creating the OverlaySystem #if OGRE_VERSION >= ((1 << 16) | (9 << 8) | 0) mOverlaySystem = new Ogre::OverlaySystem(); mSceneMgr->addRenderQueueListener(mOverlaySystem); #endif
In BaseApplication.cpp find "mTrayMgr = new OgreBites::SdkTrayManager("InterfaceName", mWindow, mMouse, this);" append
Code Block language cpp title InputContext Patch linenumbers true #if OGRE_VERSION >= ((1 << 16) | (9 << 8) | 0) OgreBites::InputContext tTrayMgrOBI; tTrayMgrOBI.mAccelerometer = NULL; tTrayMgrOBI.mMouse = this->mMouse; tTrayMgrOBI.mKeyboard = this->mKeyboard; tTrayMgrOBI.mMultiTouch = NULL; mTrayMgr = new OgreBites::SdkTrayManager("InterfaceName", mWindow, tTrayMgrOBI, this); #else mTrayMgr = new OgreBites::SdkTrayManager("InterfaceName", mWindow, mMouse, this); #endif
- Seems 1.9.0 has Overlay as an independent unit instead of linking it all in OgreMain_d.lib
- A working copy available to checkout at http://158.132.58.80:7990/projects/OGRE3D/repos/3dgamedevelopment/browse/Sample%20Projects/AppWizard190