• 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

      Create Overlay System
      #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

      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

      InputContext Patch
      #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://learning.sd.polyu.edu.hk/stash/projects/REMC/repos/appwizard190/browse