Index: code/branches/libs/src/libraries/core/GraphicsManager.cc
===================================================================
--- code/branches/libs/src/libraries/core/GraphicsManager.cc	(revision 9668)
+++ code/branches/libs/src/libraries/core/GraphicsManager.cc	(revision 9669)
@@ -402,7 +402,15 @@
         The name of this log (so you can have several listeners
         for different logs, and identify them)
+    @param skipThisMessage
+        If set to true by the messageLogged() implementation message will not be logged
     */
+#if OGRE_VERSION >= 0x010800
+    void GraphicsManager::messageLogged(const std::string& message,
+        Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName, bool& skipThisMessage)
+        // TODO: do we have to ignore the message if skipThisMessage is set?
+#else
     void GraphicsManager::messageLogged(const std::string& message,
         Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName)
+#endif
     {
         OutputLevel orxonoxLevel;
Index: code/branches/libs/src/libraries/core/GraphicsManager.h
===================================================================
--- code/branches/libs/src/libraries/core/GraphicsManager.h	(revision 9668)
+++ code/branches/libs/src/libraries/core/GraphicsManager.h	(revision 9669)
@@ -108,6 +108,9 @@
 
         // event from Ogre::LogListener
-        void messageLogged(const std::string& message, Ogre::LogMessageLevel lml,
-        bool maskDebug, const std::string& logName);
+#if OGRE_VERSION >= 0x010800
+        void messageLogged(const std::string& message, Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName, bool& skipThisMessage);
+#else
+        void messageLogged(const std::string& message, Ogre::LogMessageLevel lml, bool maskDebug, const std::string& logName);
+#endif
 
         // console commands
Index: code/branches/libs/src/libraries/core/Resource.cc
===================================================================
--- code/branches/libs/src/libraries/core/Resource.cc	(revision 9668)
+++ code/branches/libs/src/libraries/core/Resource.cc	(revision 9669)
@@ -101,5 +101,9 @@
                 ptr->group = group;
                 ptr->size = it->uncompressedSize;
+#if OGRE_VERSION >= 0x010800
+                if (dynamic_cast<const Ogre::FileSystemArchive*>(it->archive) != NULL)
+#else
                 if (dynamic_cast<Ogre::FileSystemArchive*>(it->archive) != NULL)
+#endif
                 {
                     boost::filesystem::path base(it->archive->getName());
Index: code/branches/libs/src/modules/objects/Planet.cc
===================================================================
--- code/branches/libs/src/modules/objects/Planet.cc	(revision 9668)
+++ code/branches/libs/src/modules/objects/Planet.cc	(revision 9669)
@@ -108,9 +108,11 @@
                 float scaleFactor = this->getScale();
 
-    #if OGRE_VERSION >= 0x010700
+#if OGRE_VERSION >= 0x010800
+                Ogre::ProgressiveMesh::LodValueList distList;
+#elif OGRE_VERSION >= 0x010700
                 Ogre::Mesh::LodValueList distList;
-    #else
+#else
                 Ogre::Mesh::LodDistanceList distList;
-    #endif
+#endif
 
                 distList.push_back(10.0f*scaleFactor);
@@ -127,5 +129,10 @@
                 float reductionValue = 0.2f;
 
+#if OGRE_VERSION >= 0x010800
+                Ogre::ProgressiveMesh::generateLodLevels(this->mesh_.getEntity()->getMesh().get(), distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL,
+                    reductionValue);
+#else
                 this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, reductionValue);
+#endif
                 billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->atmosphere_, Vector3(0,0,0));
 
Index: code/branches/libs/src/orxonox/graphics/Model.cc
===================================================================
--- code/branches/libs/src/orxonox/graphics/Model.cc	(revision 9668)
+++ code/branches/libs/src/orxonox/graphics/Model.cc	(revision 9669)
@@ -30,4 +30,5 @@
 
 #include <OgreEntity.h>
+#include <OgreProgressiveMesh.h>
 
 #include "core/CoreIncludes.h"
@@ -162,5 +163,7 @@
                 orxout(verbose, context::lod) << "Setting lodLevel for " << this->meshSrc_<< " with lodLevel_: " << this->lodLevel_ <<" and volume: "<< volume << ":" << endl;
 
-#if OGRE_VERSION >= 0x010700
+#if OGRE_VERSION >= 0x010800
+                Ogre::ProgressiveMesh::LodValueList distList;
+#elif OGRE_VERSION >= 0x010700
                 Ogre::Mesh::LodValueList distList;
 #else
@@ -190,5 +193,10 @@
 
                     //Generiert LOD-Levels
+#if OGRE_VERSION >= 0x010800
+                    Ogre::ProgressiveMesh::generateLodLevels(this->mesh_.getEntity()->getMesh().get(), distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL,
+                        this->lodReductionRate_);
+#else
                     this->mesh_.getEntity()->getMesh()->generateLodLevels(distList, Ogre::ProgressiveMesh::VRQ_PROPORTIONAL, this->lodReductionRate_);
+#endif
                 }
                 else
