[Orxonox-commit 936] r5659 - code/branches/resource2/src/orxonox

rgrieder at orxonox.net rgrieder at orxonox.net
Tue Aug 18 11:41:56 CEST 2009


Author: rgrieder
Date: 2009-08-18 11:41:56 +0200 (Tue, 18 Aug 2009)
New Revision: 5659

Modified:
   code/branches/resource2/src/orxonox/LevelManager.cc
Log:
Convinced LevelManager to use the Resources rather than the file system to look for levels.

Modified: code/branches/resource2/src/orxonox/LevelManager.cc
===================================================================
--- code/branches/resource2/src/orxonox/LevelManager.cc	2009-08-18 09:14:25 UTC (rev 5658)
+++ code/branches/resource2/src/orxonox/LevelManager.cc	2009-08-18 09:41:56 UTC (rev 5659)
@@ -29,7 +29,7 @@
 #include "LevelManager.h"
 
 #include <map>
-#include <boost/filesystem.hpp>
+#include <OgreResourceGroupManager.h>
 
 #include "core/CommandLine.h"
 #include "core/ConfigValueIncludes.h"
@@ -134,18 +134,13 @@
     {
         availableLevels_.clear();
 
-        boost::filesystem::directory_iterator file(Core::getDataPathString() + "levels");
-        boost::filesystem::directory_iterator end;
+        availableLevels_ = *Ogre::ResourceGroupManager::getSingleton().findResourceNames(
+            Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, "*.oxw");
 
-        while (file != end)
-        {
-            if (!boost::filesystem::is_directory(*file) && file->string()[file->string().length()-1] != '~')
-            {
-                std::string filename = file->path().leaf();
-                if (filename.length() > 4)
-                    availableLevels_.push_back(filename.substr(0,filename.length()-4));
-            }
-            ++file;
-        }
+        for (std::vector<std::string>::iterator it = availableLevels_.begin(); it != availableLevels_.end();)
+            if (it->find("old/") == 0)
+                it = availableLevels_.erase(it);
+            else
+                ++it;
     }
 }




More information about the Orxonox-commit mailing list