| # HG changeset patch |
| # User Yaron Cohen-Tal <yaronct@gmail.com> |
| # Date 1468180751 -10800 |
| # Branch v0-8 |
| # Node ID cce0889ac7b4841a0518a6d5185be9a7ea11b433 |
| # Parent 1bf57eb8472954a61aff848900bcb513c1b6cf92 |
| Fix problems I've created in the sample framework with the Ogre renderer. |
| |
| diff --git a/cmake/FindOgre.cmake b/cmake/FindOgre.cmake |
| --- a/cmake/FindOgre.cmake |
| +++ b/cmake/FindOgre.cmake |
| @@ -142,11 +142,11 @@ |
| # Find the release and debug libraries. |
| find_library(OGRE_LIB NAMES ${OGRE_LIBRARY_NAMES} |
| PATHS ${OGRE_PREFIX_PATH} |
| - PATH_SUFFIXES Release lib/Release) |
| + PATH_SUFFIXES Release lib/Release release lib/release) |
| |
| find_library(OGRE_LIB_DBG NAMES ${OGRE_LIBRARY_NAMES}_d |
| PATHS ${OGRE_PREFIX_PATH} |
| - PATH_SUFFIXES Debug lib/Debug) |
| + PATH_SUFFIXES Debug lib/Debug debug lib/debug) |
| |
| if (NOT OGRE_LIB AND OGRE_LIB_DBG) |
| set(OGRE_LIB OGRE_LIB_DBG) |
| diff --git a/samples_framework/include/CEGuiBaseApplication.h b/samples_framework/include/CEGuiBaseApplication.h |
| --- a/samples_framework/include/CEGuiBaseApplication.h |
| +++ b/samples_framework/include/CEGuiBaseApplication.h |
| @@ -163,8 +163,7 @@ |
| the CEGUI::DefaultResourceProvider - override if the sample base app |
| being implemented uses something else! |
| */ |
| - virtual void initialiseResourceGroupDirectories |
| - (const CEGUI::String& dataPathPrefixOverride); |
| + virtual void initialiseResourceGroupDirectories(); |
| |
| //! initialise the standard default resource groups used by the samples. |
| virtual void initialiseDefaultResourceGroups(); |
| diff --git a/samples_framework/include/CEGuiOgreBaseApplication.h b/samples_framework/include/CEGuiOgreBaseApplication.h |
| --- a/samples_framework/include/CEGuiOgreBaseApplication.h |
| +++ b/samples_framework/include/CEGuiOgreBaseApplication.h |
| @@ -84,6 +84,7 @@ |
| bool frameRenderingQueued(const Ogre::FrameEvent& evt); |
| |
| bool isInitialised(); |
| + void run(); |
| |
| protected: |
| // override from base class since we use a non-default resource provider. |
| diff --git a/samples_framework/src/CEGuiBaseApplication.cpp b/samples_framework/src/CEGuiBaseApplication.cpp |
| --- a/samples_framework/src/CEGuiBaseApplication.cpp |
| +++ b/samples_framework/src/CEGuiBaseApplication.cpp |
| @@ -121,7 +121,8 @@ |
| "", logFile); |
| |
| // initialise resource system |
| - initialiseResourceGroupDirectories(dataPathPrefixOverride); |
| + initDataPathPrefix(dataPathPrefixOverride); |
| + initialiseResourceGroupDirectories(); |
| initialiseDefaultResourceGroups(); |
| |
| const CEGUI::Rectf scrn(CEGUI::Vector2f(0, 0), d_renderer->getDisplaySize()); |
| @@ -186,14 +187,12 @@ |
| } |
| |
| //----------------------------------------------------------------------------// |
| -void CEGuiBaseApplication::initialiseResourceGroupDirectories |
| - (const CEGUI::String& dataPathPrefixOverride) |
| +void CEGuiBaseApplication::initialiseResourceGroupDirectories() |
| { |
| // initialise the required dirs for the DefaultResourceProvider |
| CEGUI::DefaultResourceProvider* rp = |
| static_cast<CEGUI::DefaultResourceProvider*> |
| (CEGUI::System::getSingleton().getResourceProvider()); |
| - initDataPathPrefix(dataPathPrefixOverride); |
| CEGUI::String dataPathPrefix(getDataPathPrefix()); |
| |
| /* for each resource type, set a resource group directory. We cast strings |
| diff --git a/samples_framework/src/CEGuiOgreBaseApplication.cpp b/samples_framework/src/CEGuiOgreBaseApplication.cpp |
| --- a/samples_framework/src/CEGuiOgreBaseApplication.cpp |
| +++ b/samples_framework/src/CEGuiOgreBaseApplication.cpp |
| @@ -140,14 +140,6 @@ |
| |
| Ogre::ResourceGroupManager::getSingleton().initialiseAllResourceGroups(); |
| |
| - // start rendering via Ogre3D engine. |
| - CEGUI_TRY |
| - { |
| - d_ogreRoot->startRendering(); |
| - } |
| - CEGUI_CATCH(...) |
| - {} |
| - |
| return true; |
| } |
| |
| @@ -261,6 +253,18 @@ |
| } |
| |
| //----------------------------------------------------------------------------// |
| +void CEGuiOgreBaseApplication::run() |
| +{ |
| + // start rendering via Ogre3D engine. |
| + CEGUI_TRY |
| + { |
| + d_ogreRoot->startRendering(); |
| + } |
| + CEGUI_CATCH(...) |
| + {} |
| +} |
| + |
| +//----------------------------------------------------------------------------// |
| void CEGuiOgreBaseApplication::setupDefaultConfigIfNeeded() |
| { |
| // Check if the config exists |