Index: code/branches/FICN/src/loader/LevelLoader.cc
===================================================================
--- code/branches/FICN/src/loader/LevelLoader.cc	(revision 681)
+++ code/branches/FICN/src/loader/LevelLoader.cc	(revision 682)
@@ -1,99 +1,94 @@
 /*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   License notice:
- *
- *   This program is free software; you can redistribute it and/or
- *   modify it under the terms of the GNU General Public License
- *   as published by the Free Software Foundation; either version 2
- *   of the License, or (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program; if not, write to the Free Software
- *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- *   Author:
- *     Nicolas Perrenoud <nicolape@ee.ethz.ch>
- *   Co-authors:
- *      ...
- *
- */
-
-// #include <string>
-// #include <vector>
-// #include <iostream>
-#include <algorithm>
-#include <iterator>
-
+*   ORXONOX - the hottest 3D action shooter ever to exist
+*
+*
+*   License notice:
+*
+*   This program is free software; you can redistribute it and/or
+*   modify it under the terms of the GNU General Public License
+*   as published by the Free Software Foundation; either version 2
+*   of the License, or (at your option) any later version.
+*
+*   This program is distributed in the hope that it will be useful,
+*   but WITHOUT ANY WARRANTY; without even the implied warranty of
+*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*   GNU General Public License for more details.
+*
+*   You should have received a copy of the GNU General Public License
+*   along with this program; if not, write to the Free Software
+*   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+*
+*   Author:
+*     Nicolas Perrenoud <nicolape@ee.ethz.ch>
+*   Co-authors:
+*      ...
+*
+*/
+
+#include <OgreOverlay.h>
 #include <OgreOverlayManager.h>
 
+#include "orxonox/core/Error.h"
+#include "orxonox/core/Debug.h"
+#include "orxonox/core/CoreIncludes.h"
+
+#include "audio/AudioManager.h"
+#include "orxonox/objects/BaseObject.h"
+#include "orxonox/Orxonox.h"
+
 #include "LevelLoader.h"
-// #include "tinyxml/tinyxml.h"
-#include "orxonox/core/CoreIncludes.h"
-#include "orxonox/core/Error.h"
-#include "orxonox/objects/BaseObject.h"
-#include "audio/AudioManager.h"
-#include "orxonox/Orxonox.h"
-
-using namespace std;
 
 namespace loader
 {
 
-LevelLoader::LevelLoader(string file, string path)
-{
-  valid_ = false;
-
-  // Load XML level file
-  path.append("/");
-  path.append(file);
-
-  // Open xml file
-  doc.LoadFile(path);
-
-  // Check if file was loaded
-  if (doc.LoadFile())
+  LevelLoader::LevelLoader(std::string file, std::string path)
   {
-    TiXmlHandle hDoc(&doc);
-    TiXmlHandle hRoot(0);
-    TiXmlElement* pElem;
-
-    // Check for root element
-    pElem = hDoc.FirstChildElement("orxonoxworld").Element();
-    if (pElem)
+    valid_ = false;
+
+    // Load XML level file
+    path.append("/");
+    path.append(file);
+
+    // Open xml file
+    doc_.LoadFile(path);
+
+    // Check if file was loaded
+    if (doc_.LoadFile())
     {
-      // Set root element
-      hRoot = TiXmlHandle(pElem);
-      rootElement = hRoot.Element();
-
-      // Set level description
-      pElem = hRoot.FirstChild("description").Element();
+      TiXmlHandle hDoc(&doc_);
+      TiXmlHandle hRoot(0);
+      TiXmlElement* pElem;
+
+      // Check for root element
+      pElem = hDoc.FirstChildElement("orxonoxworld").Element();
       if (pElem)
       {
-        description_ = pElem->GetText();
-      }
-
-      // Set level name
-      name_ = rootElement->Attribute("name");
-      image_ = rootElement->Attribute("image");
-
-      valid_ = true;
+        // Set root element
+        hRoot = TiXmlHandle(pElem);
+        rootElement_ = hRoot.Element();
+
+        // Set level description
+        pElem = hRoot.FirstChild("description").Element();
+        if (pElem)
+        {
+          description_ = pElem->GetText();
+        }
+
+        // Set level name
+        name_ = rootElement_->Attribute("name");
+        image_ = rootElement_->Attribute("image");
+
+        valid_ = true;
+      }
+      else
+      {
+        orxonox::Error("Level file has no valid root node");
+      }
     }
     else
     {
-      orxonox::Error("Level file has no valid root node");
+      orxonox::Error("Could not load level file ");
     }
   }
-  else
-  {
-    orxonox::Error("Could not load level file ");
-  }
-}
 
   void LevelLoader::loadLevel()
@@ -111,5 +106,5 @@
 
       // Set loading screen
-      loadElem = rootElement->FirstChildElement("loading");
+      loadElem = rootElement_->FirstChildElement("loading");
       if (loadElem)
       {
@@ -145,5 +140,5 @@
       // Load audio
       audio::AudioManager* auMan = orxonox::Orxonox::getSingleton()->getAudioManagerPointer();
-      audioElem = rootElement->FirstChildElement("audio");
+      audioElem = rootElement_->FirstChildElement("audio");
 
       if (audioElem)
@@ -174,5 +169,5 @@
 
       // Load world
-      worldElem = rootElement->FirstChildElement("world");
+      worldElem = rootElement_->FirstChildElement("world");
       if (worldElem)
       {
@@ -192,5 +187,5 @@
             else
             {
-                COUT(2) << "Warning: '"<< tElem->Value() <<"' is not a valid classname." << std::endl;
+              COUT(2) << "Warning: '"<< tElem->Value() <<"' is not a valid classname." << std::endl;
             }
           }
@@ -201,5 +196,5 @@
       {
         // FIXME: check for potential initialisation of mLoadOverlay
-         mLoadOverlay->hide();
+        mLoadOverlay->hide();
       }
 
@@ -214,6 +209,3 @@
   }
 
-
-
 }
-
Index: code/branches/FICN/src/loader/LevelLoader.h
===================================================================
--- code/branches/FICN/src/loader/LevelLoader.h	(revision 681)
+++ code/branches/FICN/src/loader/LevelLoader.h	(revision 682)
@@ -10,12 +10,10 @@
 
 #include <string>
-#include <vector>
-#include <iostream>
 
-#include "LoaderPlatform.h"
+#include "LoaderPrereqs.h"
 #include "tinyxml/tinyxml.h"
 
-//#include "xml/xmlParser.h"
-
+class TiXmlDocument;   // Forward declaration
+class TiXmlElement;    // Forward declaration
 
 namespace loader
@@ -25,7 +23,7 @@
   public:
     // Constructors, loads the level file and some information data
-    LevelLoader(std::string file, std::string dir="levels");
+    LevelLoader(std::string file, std::string dir = "levels");
     // Destructor
-    ~LevelLoader();
+    virtual ~LevelLoader();
     // Loads all level data
     void loadLevel();
@@ -52,7 +50,6 @@
 
     // Xml-Stuff
-    TiXmlDocument doc;
-    TiXmlElement* rootElement;
-
+    TiXmlDocument doc_;
+    TiXmlElement *rootElement_;
   };
 }
Index: code/branches/FICN/src/loader/LoaderPlatform.h
===================================================================
--- code/branches/FICN/src/loader/LoaderPlatform.h	(revision 681)
+++ 	(revision )
@@ -1,46 +1,0 @@
-/*
- *   ORXONOX - the hottest 3D action shooter ever to exist
- *
- *
- *   License notice:
- *
- *   This program is free software: you can redistribute it and/or modify
- *   it under the terms of the GNU General Public License as published by
- *   the Free Software Foundation, either version 3 of the License, or
- *   (at your option) any later version.
- *
- *   This program is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
- *
- *   You should have received a copy of the GNU General Public License
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *
- *   Author:
- *      Reto Grieder
- *   Co-authors:
- *      ...
- *
- */
-
-
-#ifndef _LoaderPlatform_H__
-#define _LoaderPlatform_H__
-
-
-#if defined( __WIN32__ ) || defined( _WIN32 )
-  #ifdef LOADER_BUILD
-    #define _LoaderExport __declspec( dllexport )
-  #elif defined(LOADER_STATIC)
-    #define _LoaderExport
-  #else
-    #define _LoaderExport __declspec( dllimport )
-  #endif
-#else
-  #define _LoaderExport
-#endif
-
-
-#endif /* _LoaderPlatform_H__ */
Index: code/branches/FICN/src/loader/LoaderPrereqs.h
===================================================================
--- code/branches/FICN/src/loader/LoaderPrereqs.h	(revision 682)
+++ code/branches/FICN/src/loader/LoaderPrereqs.h	(revision 682)
@@ -0,0 +1,65 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+ @file  OrxonoxPrereq.cc
+ @brief Contains all the necessary forward declarations for all classes, structs and enums.
+ */
+
+#ifndef _LoaderPrereqs_H__
+#define _LoaderPrereqs_H__
+
+#include "orxonox/OrxonoxPlatform.h"
+
+//-----------------------------------------------------------------------
+// Shared library settings
+//-----------------------------------------------------------------------
+#if (ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32) && !defined( LOADER_STATIC_BUILD )
+#  ifdef LOADER_SHARED_BUILD
+#    define _LoaderExport __declspec(dllexport)
+#  else
+#    if defined( __MINGW32__ )
+#      define _LoaderExport
+#    else
+#      define _LoaderExport __declspec(dllimport)
+#    endif
+#  endif
+#elif defined ( ORXONOX_GCC_VISIBILITY )
+#  define _LoaderExport  __attribute__ ((visibility("default")))
+#else
+#  define _LoaderExport
+#endif
+
+
+//-----------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------
+namespace loader {
+  class LevelLoader;
+}
+
+#endif /* _LoaderPrereqs_H__ */
