Index: orxonox/trunk/src/subprojects/benchmark.cc
===================================================================
--- orxonox/trunk/src/subprojects/benchmark.cc	(revision 4164)
+++ orxonox/trunk/src/subprojects/benchmark.cc	(revision 4166)
@@ -463,4 +463,6 @@
 #else
 
+#include "debug.h"
+
 int startBenchmarks()
 {
Index: orxonox/trunk/src/track_manager.cc
===================================================================
--- orxonox/trunk/src/track_manager.cc	(revision 4164)
+++ orxonox/trunk/src/track_manager.cc	(revision 4166)
@@ -29,6 +29,4 @@
 
 using namespace std;
-
-CREATE_FACTORY(TrackManager);
 
 /**
@@ -405,5 +403,5 @@
 
 */
-TrackManager::TrackManager( TiXmlElement* root)
+bool TrackManager::load( TiXmlElement* root)
 {
 
Index: orxonox/trunk/src/track_manager.h
===================================================================
--- orxonox/trunk/src/track_manager.h	(revision 4164)
+++ orxonox/trunk/src/track_manager.h	(revision 4166)
@@ -153,5 +153,5 @@
   static TrackManager* getInstance(void);
 
-  TrackManager(TiXmlElement* root);
+  bool load(TiXmlElement* root);
 
   // Methods to change the Path (initialisation)
Index: orxonox/trunk/src/util/resource_manager.cc
===================================================================
--- orxonox/trunk/src/util/resource_manager.cc	(revision 4164)
+++ orxonox/trunk/src/util/resource_manager.cc	(revision 4166)
@@ -584,4 +584,8 @@
 }
 
+/**
+   \brief touches a File on the disk (thereby creating it)
+   \param fileName The file to touch
+*/
 bool ResourceManager::touchFile(const char* fileName)
 {
@@ -599,4 +603,8 @@
 }
 
+/**
+   \brief deletes a File from disk
+   \param fileName the File to delete
+*/
 bool ResourceManager::deleteFile(const char* fileName)
 {
@@ -606,4 +614,9 @@
 }
 
+/** 
+    \param fileName the Name of the file to check
+    \returns The name of the file, including the HomeDir
+    IMPORTANT: this has to be deleted from the outside
+*/
 char* ResourceManager::homeDirCheck(const char* name)
 {
@@ -628,4 +641,15 @@
 }
 
+/** 
+    \param fileName the Name of the File to check
+    \returns The full name of the file, including the DataDir
+    IMPORTANT: this has to be deleted from the outside
+*/
+char* ResourceManager::getFullName(const char* fileName)
+{
+  char* retName = new char[strlen(ResourceManager::getInstance()->getDataDir()) + strlen(fileName)+1];
+  sprintf(retName, "%s%s", ResourceManager::getInstance()->getDataDir(), fileName);
+  return retName;
+}
 
 
Index: orxonox/trunk/src/util/resource_manager.h
===================================================================
--- orxonox/trunk/src/util/resource_manager.h	(revision 4164)
+++ orxonox/trunk/src/util/resource_manager.h	(revision 4166)
@@ -18,5 +18,11 @@
 
 //! An eumerator for different fileTypes the resourceManager supports \todo WAV, MP3, OGG support
-enum ResourceType {OBJ, PRIM, WAV, MP3, OGG, TTF, IMAGE};
+enum ResourceType {OBJ,
+		   PRIM,
+		   WAV,
+		   MP3,
+		   OGG,
+		   TTF,
+		   IMAGE};
 //! An enumerator for different UNLOAD-types. 
 /**
@@ -26,5 +32,8 @@
    RP_GAME: will be unloaded at the end of the whole Game (when closing orxonox)
 */
-enum ResourcePriority {RP_NO = 0, RP_LEVEL = 1, RP_CAMPAIGN = 2, RP_GAME = 3};
+enum ResourcePriority {RP_NO = 0,
+		       RP_LEVEL = 1,
+		       RP_CAMPAIGN = 2,
+		       RP_GAME = 3};
 
 //! A Struct that keeps track about A resource its name its Type, and so on
@@ -66,5 +75,6 @@
   bool setDataDir(const char* dataDir);
   /** \returns the Name of the data directory */
-  inline const char*  getDataDir(void) {return this->dataDir;}
+  inline const char* getDataDir(void) const {return this->dataDir;}
+
   bool checkDataDir(const char* fileInside);
   bool addImageDir(char* imageDir);
@@ -84,5 +94,6 @@
   static bool touchFile(const char* fileName);
   static bool deleteFile(const char* fileName);
-  static char* homeDirCheck(const char* name);
+  static char* homeDirCheck(const char* fileName);
+  static char* getFullName(const char* fileName);
 
  private:
