Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7960


Ignore:
Timestamp:
Feb 25, 2011, 3:07:17 AM (13 years ago)
Author:
rgrieder
Message:

Applied C++ code changes to compile Orxonox with CEGUI 0.7 (does not run yet).

Location:
code/branches/kicklib
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • code/branches/kicklib/cmake/tools/FindCEGUI.cmake

    r7941 r7960  
    2626#                 > www.orxonox.net <
    2727
     28INCLUDE(CompareVersionStrings)
    2829INCLUDE(DetermineVersion)
    2930INCLUDE(FindPackageHandleAdvancedArgs)
    3031INCLUDE(HandleLibraryTypes)
    3132
    32 # Find CEGUI library
     33# Find headers
    3334FIND_PATH(CEGUI_INCLUDE_DIR CEGUI.h
    3435  PATHS $ENV{CEGUIDIR}
    3536  PATH_SUFFIXES include include/CEGUI CEGUI.framework/Headers
    3637)
     38
     39# Inspect CEGUIVersion.h for the version number
     40DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h)
     41
     42# Find CEGUI library
    3743FIND_LIBRARY(CEGUI_LIBRARY_OPTIMIZED
    3844  NAMES CEGUIBase CEGUI
     
    7278)
    7379
    74 # Inspect CEGUIVersion.h for the version number
    75 DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h)
     80# Newer versions of CEGUI have the renderer for OGRE shipped with them
     81COMPARE_VERSION_STRINGS("${CEGUI_VERSION}" "0.7" _version_compare TRUE)
     82IF(_version_compare GREATER -1)
     83  # Find CEGUI OGRE Renderer libraries
     84  FIND_LIBRARY(CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED
     85    NAMES CEGUIOgreRenderer
     86    PATHS $ENV{CEGUIDIR}
     87    PATH_SUFFIXES lib bin
     88  )
     89  FIND_LIBRARY(CEGUI_OGRE_RENDERER_LIBRARY_DEBUG
     90    NAMES CEGUIOgreRendererd CEGUIOgreRenderer_d
     91    PATHS $ENV{CEGUIDIR}
     92    PATH_SUFFIXES lib bin
     93  )
     94  SET(CEGUI_OGRE_RENDERER_LIBRARY_NAME CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED)
     95ELSE()
     96  SET(CEGUI_OGRE_RENDERER_BUILD_REQUIRED TRUE)
     97ENDIF()
    7698
    7799# Handle the REQUIRED argument and set CEGUI_FOUND
     
    82104  CEGUILUA_LIBRARY_OPTIMIZED
    83105  CEGUI_TOLUA_LIBRARY_OPTIMIZED
     106  ${CEGUI_OGRE_RENDERER_LIBRARY_NAME}
    84107)
    85108
     
    88111HANDLE_LIBRARY_TYPES(CEGUILUA)
    89112HANDLE_LIBRARY_TYPES(CEGUI_TOLUA)
     113IF(NOT CEGUI_OGRE_RENDERER_BUILD_REQUIRED)
     114  HANDLE_LIBRARY_TYPES(CEGUI_OGRE_RENDERER)
     115ENDIF()
    90116
    91117MARK_AS_ADVANCED(
     
    97123  CEGUI_TOLUA_LIBRARY_OPTIMIZED
    98124  CEGUI_TOLUA_LIBRARY_DEBUG
     125  CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED
     126  CEGUI_OGRE_RENDERER_LIBRARY_DEBUG
    99127)
  • code/branches/kicklib/src/CMakeLists.txt

    r7956 r7960  
    9999ENDIF()
    100100
     101############## CEGUI OGRE Renderer ##############
     102
     103IF(CEGUI_OGRE_RENDERER_BUILD_REQUIRED)
     104  SET(CEGUI_OGRE_RENDERER_LIBRARY ogreceguirenderer_orxonox)
     105ENDIF()
     106
    101107################### Tolua Bind ##################
    102108
  • code/branches/kicklib/src/external/CMakeLists.txt

    r7941 r7960  
    2525ADD_SUBDIRECTORY(enet)
    2626ADD_SUBDIRECTORY(loki)
    27 ADD_SUBDIRECTORY(ogreceguirenderer)
     27IF(CEGUI_OGRE_RENDERER_BUILD_REQUIRED)
     28  ADD_SUBDIRECTORY(ogreceguirenderer)
     29ENDIF()
    2830ADD_SUBDIRECTORY(ois)
    2931ADD_SUBDIRECTORY(tinyxml)
  • code/branches/kicklib/src/libraries/core/CMakeLists.txt

    r7948 r7960  
    9393    ${CEGUILUA_LIBRARY}
    9494    ${CEGUI_TOLUA_LIBRARY}
     95    ${CEGUI_OGRE_RENDERER_LIBRARY}
    9596    ${LUA5.1_LIBRARY}
    9697    cpptcl_orxonox
    97     ogreceguirenderer_orxonox
    9898    ois_orxonox
    9999    tinyxml_orxonox
  • code/branches/kicklib/src/libraries/core/CorePrereqs.h

    r7849 r7960  
    3838#include "OrxonoxConfig.h"
    3939#include <boost/version.hpp>
     40#include <CEGUIVersion.h>
    4041
    4142//-----------------------------------------------------------------------
     
    305306    class LuaScriptModule;
    306307
     308#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    307309    class OgreCEGUIRenderer;
    308310    class OgreCEGUIResourceProvider;
    309311    class OgreCEGUITexture;
     312#else
     313    class OgreRenderer;
     314    class OgreResourceProvider;
     315    class OgreImageCodec;
     316#endif
    310317}
    311318
  • code/branches/kicklib/src/libraries/core/GUIManager.cc

    r7957 r7960  
    3232#include <memory>
    3333#include <boost/bind.hpp>
     34#include <OgreRenderQueue.h>
     35#include <OgreRenderWindow.h>
    3436
    3537#include <CEGUIDefaultLogger.h>
     
    4446#include <elements/CEGUIListboxItem.h>
    4547
    46 #include <CEGUILua.h>
    47 #include <ogreceguirenderer/OgreCEGUIRenderer.h>
     48#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
     49#  include <CEGUILua.h>
     50#  include <ogreceguirenderer/OgreCEGUIRenderer.h>
     51#else
     52#  include <ScriptingModules/LuaScriptModule/CEGUILua.h>
     53#  include <RendererModules/Ogre/CEGUIOgreImageCodec.h>
     54#  include <RendererModules/Ogre/CEGUIOgreRenderer.h>
     55#  include <RendererModules/Ogre/CEGUIOgreResourceProvider.h>
     56#endif
    4857
    4958#include "util/Clock.h"
     
    118127        , guiSystem_(NULL)
    119128        , resourceProvider_(NULL)
     129#if CEGUI_VERSION_MAJOR >= 1 || CEGUI_VERSION_MINOR >= 7
     130        , imageCodec_(NULL)
     131#endif
    120132        , camera_(NULL)
    121133    {
     
    128140
    129141        // Note: No SceneManager specified yet
     142#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    130143        guiRenderer_ = new OgreCEGUIRenderer(GraphicsManager::getInstance().getRenderWindow(), Ogre::RENDER_QUEUE_OVERLAY, false, 3000);
    131144        resourceProvider_ = guiRenderer_->createResourceProvider();
     145#else
     146        guiRenderer_ = &OgreRenderer::create(*GraphicsManager::getInstance().getRenderWindow());
     147        resourceProvider_ = &OgreRenderer::createOgreResourceProvider();
     148        imageCodec_ = &OgreRenderer::createOgreImageCodec();
     149#endif
    132150        resourceProvider_->setDefaultResourceGroup("General");
    133151
     
    137155        // This is necessary to ensure that input events also use the right resource info when triggering lua functions
    138156        luaState_->setDefaultResourceInfo(this->rootFileInfo_);
     157#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    139158        scriptModule_ = new LuaScriptModule(luaState_->getInternalLuaState());
     159#else
     160        scriptModule_ = &LuaScriptModule::create(luaState_->getInternalLuaState());
     161#endif
    140162        scriptModule_->setDefaultPCallErrorHandler(LuaState::ERROR_HANDLER_NAME);
    141163
     
    149171
    150172        // Create the CEGUI system singleton
     173#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    151174        guiSystem_ = new System(guiRenderer_, resourceProvider_, 0, scriptModule_);
     175#else
     176        guiSystem_ = &System::create(*guiRenderer_, resourceProvider_, 0, imageCodec_, scriptModule_);
     177#endif
    152178
    153179        // Align CEGUI mouse with OIS mouse
     
    178204        using namespace CEGUI;
    179205
     206#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    180207        delete guiSystem_;
    181208        delete guiRenderer_;
    182209        delete scriptModule_;
     210#else
     211        System::destroy();
     212        OgreRenderer::destroyOgreResourceProvider(*resourceProvider_);
     213        OgreRenderer::destroyOgreImageCodec(*imageCodec_);
     214        OgreRenderer::destroy(*guiRenderer_);
     215        LuaScriptModule::destroy(*scriptModule_);
     216#endif
    183217        delete luaState_;
    184218    }
     
    223257    {
    224258        this->camera_ = camera;
     259#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    225260        if (camera == NULL)
    226261            this->guiRenderer_->setTargetSceneManager(0);
    227262        else
    228263            this->guiRenderer_->setTargetSceneManager(camera->getSceneManager());
     264#endif
    229265    }
    230266
     
    512548    void GUIManager::windowResized(unsigned int newWidth, unsigned int newHeight)
    513549    {
     550#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    514551        this->guiRenderer_->setDisplaySize(CEGUI::Size(newWidth, newHeight));
     552#else
     553        this->guiRenderer_->setDisplaySize(CEGUI::Size((float)newWidth, (float)newHeight));
     554#endif
    515555    }
    516556
  • code/branches/kicklib/src/libraries/core/GUIManager.h

    r7957 r7960  
    4242#include <string>
    4343#include <CEGUIForwardRefs.h>
    44 #include <boost/scoped_ptr.hpp>
     44#include <CEGUIVersion.h>
    4545#include <boost/shared_ptr.hpp>
    4646#include <loki/ScopeGuard.h>
     
    147147        Loki::ObjScopeGuardImpl0<GUIManager, void (GUIManager::*)()> destroyer_;
    148148
     149#if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7
    149150        CEGUI::OgreCEGUIRenderer*            guiRenderer_;      //!< CEGUI's interface to the Ogre Engine
    150151        CEGUI::ResourceProvider*             resourceProvider_; //!< CEGUI's resource provider
     152#else
     153        CEGUI::OgreRenderer*                 guiRenderer_;      //!< CEGUI's interface to the Ogre Engine
     154        CEGUI::OgreResourceProvider*         resourceProvider_; //!< CEGUI's resource provider
     155        CEGUI::OgreImageCodec*               imageCodec_;
     156#endif
    151157        LuaState*                            luaState_;         //!< LuaState, access point to the Lua engine
    152158        CEGUI::LuaScriptModule*              scriptModule_;     //!< CEGUI's script module to use Lua
  • code/branches/kicklib/src/libraries/util/Exception.cc

    r7947 r7960  
    9595            throw;
    9696        }
    97         catch (const std::exception& ex)
    98         {
    99             return ex.what();
    100         }
    10197        catch (const CEGUI::Exception& ex)
    10298        {
    10399            return GeneralException(ex.getMessage().c_str(), ex.getLine(),
    104100                ex.getFileName().c_str(), ex.getName().c_str()).getDescription();
     101        }
     102        catch (const std::exception& ex)
     103        {
     104            return ex.what();
    105105        }
    106106        catch (...)
Note: See TracChangeset for help on using the changeset viewer.