Index: /code/branches/FICN/src/audio/AudioBuffer.cc
===================================================================
--- /code/branches/FICN/src/audio/AudioBuffer.cc	(revision 714)
+++ /code/branches/FICN/src/audio/AudioBuffer.cc	(revision 715)
@@ -30,5 +30,5 @@
 namespace audio
 {
-	AudioBuffer::AudioBuffer(orxonox::String fileName)
+	AudioBuffer::AudioBuffer(std::string fileName)
 	{
 		// Load wav data into buffers.
Index: /code/branches/FICN/src/audio/AudioBuffer.h
===================================================================
--- /code/branches/FICN/src/audio/AudioBuffer.h	(revision 714)
+++ /code/branches/FICN/src/audio/AudioBuffer.h	(revision 715)
@@ -9,5 +9,5 @@
 	{
 	public:
-		AudioBuffer(orxonox::String fileName);
+		AudioBuffer(std::string fileName);
 		~AudioBuffer();
 	private:
@@ -15,5 +15,5 @@
 		ALuint buffer;
 		// Identifier
-		orxonox::String name;
+		std::string name;
 		// True if AL was able to load data
 		ALboolean loaded;
Index: /code/branches/FICN/src/audio/AudioIncludes.h
===================================================================
--- /code/branches/FICN/src/audio/AudioIncludes.h	(revision 714)
+++ /code/branches/FICN/src/audio/AudioIncludes.h	(revision 715)
@@ -1,4 +1,5 @@
 #include <iostream>
 #include <vector>
+#include <string>
 
 #include <AL/al.h>
@@ -11,3 +12,2 @@
 
 #include "orxonox/core/Error.h"
-#include "misc/String.h"
Index: /code/branches/FICN/src/audio/AudioManager.cc
===================================================================
--- /code/branches/FICN/src/audio/AudioManager.cc	(revision 714)
+++ /code/branches/FICN/src/audio/AudioManager.cc	(revision 715)
@@ -72,7 +72,7 @@
 	}
 
-	void AudioManager::ambientAdd(orxonox::String file)
+	void AudioManager::ambientAdd(std::string file)
 	{
-    orxonox::String path = ambientPath + "/" + file + ".ogg";
+    std::string path = ambientPath + "/" + file + ".ogg";
 		AudioStream tmp(path);
 		tmp.open();
Index: /code/branches/FICN/src/audio/AudioManager.h
===================================================================
--- /code/branches/FICN/src/audio/AudioManager.h	(revision 714)
+++ /code/branches/FICN/src/audio/AudioManager.h	(revision 715)
@@ -37,5 +37,5 @@
 		void update();
 
-		void ambientAdd(orxonox::String file);
+		void ambientAdd(std::string file);
 		void ambientStart();
 		void ambientStop();
@@ -49,5 +49,5 @@
 
 
-		orxonox::String ambientPath;
+		std::string ambientPath;
 	
 		// Vector containing all audio files
Index: /code/branches/FICN/src/audio/AudioStream.cc
===================================================================
--- /code/branches/FICN/src/audio/AudioStream.cc	(revision 714)
+++ /code/branches/FICN/src/audio/AudioStream.cc	(revision 715)
@@ -26,12 +26,12 @@
  */
 
+#include <string>
 
 #include "AudioStream.h"
-#include "misc/String.h"
 #include "../orxonox/core/Debug.h"
 
 namespace audio
 {
-  AudioStream::AudioStream(orxonox::String path)
+  AudioStream::AudioStream(std::string path)
 	{
 		this->path = path;
@@ -255,20 +255,20 @@
 
 
-	orxonox::String AudioStream::errorString(int code)
+	std::string AudioStream::errorString(int code)
 	{
 	    switch(code)
 	    {
 	        case OV_EREAD:
-	            return orxonox::String("Read from media.");
+	            return std::string("Read from media.");
 	        case OV_ENOTVORBIS:
-	            return orxonox::String("Not Vorbis data.");
+	            return std::string("Not Vorbis data.");
 	        case OV_EVERSION:
-	            return orxonox::String("Vorbis version mismatch.");
+	            return std::string("Vorbis version mismatch.");
 	        case OV_EBADHEADER:
-	            return orxonox::String("Invalid Vorbis header.");
+	            return std::string("Invalid Vorbis header.");
 	        case OV_EFAULT:
-	            return orxonox::String("Internal logic fault (bug or heap/stack corruption.");
+	            return std::string("Internal logic fault (bug or heap/stack corruption.");
 	        default:
-	            return orxonox::String("Unknown Ogg error.");
+	            return std::string("Unknown Ogg error.");
 	    }
 	}
Index: /code/branches/FICN/src/audio/AudioStream.h
===================================================================
--- /code/branches/FICN/src/audio/AudioStream.h	(revision 714)
+++ /code/branches/FICN/src/audio/AudioStream.h	(revision 715)
@@ -11,5 +11,5 @@
   {
     public:
-      AudioStream(orxonox::String path);
+      AudioStream(std::string path);
       void open();
       void release();
@@ -24,8 +24,8 @@
       void empty();
       void check();
-      orxonox::String errorString(int code);
+      std::string errorString(int code);
 
     private:
-      orxonox::String path;
+      std::string path;
 
       FILE*           oggFile;
Index: /code/branches/FICN/src/loader/LevelLoader.cc
===================================================================
--- /code/branches/FICN/src/loader/LevelLoader.cc	(revision 714)
+++ /code/branches/FICN/src/loader/LevelLoader.cc	(revision 715)
@@ -42,5 +42,5 @@
 {
 
-  LevelLoader::LevelLoader(orxonox::String file, orxonox::String path)
+  LevelLoader::LevelLoader(std::string file, std::string path)
   {
     valid_ = false;
@@ -155,5 +155,5 @@
 
               tElem = tNode->ToElement();
-              orxonox::String elemVal = tElem->Value();
+              std::string elemVal = tElem->Value();
               if (elemVal == "ogg")
               {
Index: /code/branches/FICN/src/loader/LevelLoader.h
===================================================================
--- /code/branches/FICN/src/loader/LevelLoader.h	(revision 714)
+++ /code/branches/FICN/src/loader/LevelLoader.h	(revision 715)
@@ -9,7 +9,7 @@
 #define _LevelLoader_H__
 
+#include <string>
+
 #include "LoaderPrereqs.h"
-
-#include "misc/String.h"
 #include "tinyxml/tinyxml.h"
 
@@ -23,5 +23,5 @@
   public:
     // Constructors, loads the level file and some information data
-    LevelLoader(orxonox::String file, orxonox::String dir = "levels");
+    LevelLoader(std::string file, std::string dir = "levels");
     // Destructor
     virtual ~LevelLoader();
@@ -30,19 +30,19 @@
 
     // Getters
-    inline orxonox::String name() {return name_; };
-    inline orxonox::String description() {return description_; };
-    inline orxonox::String image() {return image_; };
+    inline std::string name() {return name_; };
+    inline std::string description() {return description_; };
+    inline std::string image() {return image_; };
   private:
     //! Level information
-    orxonox::String name_;
-    orxonox::String description_;
-    orxonox::String image_;
-    orxonox::String loadingBackgroundColor_;
-    orxonox::String loadingBackgroundImage_;
-    orxonox::String loadingBarImage_;
-    orxonox::String loadingBarTop_;
-    orxonox::String loadingBarLeft_;
-    orxonox::String loadingBarWidth_;
-    orxonox::String loadingBarHeight_;
+    std::string name_;
+    std::string description_;
+    std::string image_;
+    std::string loadingBackgroundColor_;
+    std::string loadingBackgroundImage_;
+    std::string loadingBarImage_;
+    std::string loadingBarTop_;
+    std::string loadingBarLeft_;
+    std::string loadingBarWidth_;
+    std::string loadingBarHeight_;
 
     //! Set to true if it was possible to load the level file
Index: de/branches/FICN/src/misc/String.h
===================================================================
--- /code/branches/FICN/src/misc/String.h	(revision 714)
+++ 	(revision )
@@ -1,6 +1,0 @@
-#include <string>
-
-namespace orxonox
-{
-  typedef std::string String;
-}
Index: /code/branches/FICN/src/orxonox/GraphicsEngine.cc
===================================================================
--- /code/branches/FICN/src/orxonox/GraphicsEngine.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/GraphicsEngine.cc	(revision 715)
@@ -65,7 +65,7 @@
 #endif*/
 #if defined(_DEBUG) && defined(WIN32)
-    String plugin_filename = "plugins_d.cfg";
+    std::string plugin_filename = "plugins_d.cfg";
 #else
-    String plugin_filename = "plugins.cfg";
+    std::string plugin_filename = "plugins.cfg";
 #endif
     root_ = new Root(plugin_filename);
@@ -100,5 +100,5 @@
   }
 
-  void GraphicsEngine::loadRessourceLocations(String dataPath)
+  void GraphicsEngine::loadRessourceLocations(std::string dataPath)
   {
     //TODO: Specify layout of data file and maybe use xml-loader
@@ -111,5 +111,5 @@
     ConfigFile::SectionIterator seci = cf.getSectionIterator();
 
-    String secName, typeName, archName;
+    std::string secName, typeName, archName;
     while (seci.hasMoreElements())
     {
@@ -123,5 +123,5 @@
 
         ResourceGroupManager::getSingleton().addResourceLocation(
-                                           String(dataPath + archName),
+                                           std::string(dataPath + archName),
                                            typeName, secName);
       }
Index: /code/branches/FICN/src/orxonox/GraphicsEngine.h
===================================================================
--- /code/branches/FICN/src/orxonox/GraphicsEngine.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/GraphicsEngine.h	(revision 715)
@@ -8,8 +8,8 @@
 #define _GraphicsEngine_H__
 
+#include <string>
+
 #include <OgreRoot.h>
 #include <OgreSceneManager.h>
-
-#include "misc/String.h"
 
 
@@ -22,10 +22,10 @@
     public:
       GraphicsEngine();
-      inline void setConfigPath(String path) { this->configPath_ = path; };
+      inline void setConfigPath(std::string path) { this->configPath_ = path; };
       // find a better way for this
       inline Ogre::Root* getRoot() { return root_; };
       void setup();
       bool load();
-      void loadRessourceLocations(String path);
+      void loadRessourceLocations(std::string path);
       Ogre::SceneManager* getSceneManager();
       void startRender();
@@ -34,6 +34,6 @@
     private:
       Ogre::Root*         root_;        //!< Ogre's root
-      String         configPath_;  //!< path to config file
-      String         dataPath_;    //!< path to data file
+      std::string         configPath_;  //!< path to config file
+      std::string         dataPath_;    //!< path to data file
       Ogre::SceneManager* scene_;       //!< scene manager of the game
 
Index: /code/branches/FICN/src/orxonox/Orxonox.cc
===================================================================
--- /code/branches/FICN/src/orxonox/Orxonox.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/Orxonox.cc	(revision 715)
@@ -153,12 +153,12 @@
    * @param path path to config (in home dir or something)
    */
-  void Orxonox::init(int argc, char **argv, String path)
+  void Orxonox::init(int argc, char **argv, std::string path)
   {
     //TODO: find config file (assuming executable directory)
     //TODO: read config file
     //TODO: give config file to Ogre
-    String mode;
+    std::string mode;
 //     if(argc>=2)
-//       mode = String(argv[1]);
+//       mode = std::string(argv[1]);
 //     else
 //       mode = "";
@@ -169,15 +169,15 @@
     //mode = "presentation";
     if(ar.errorHandling()) die();
-    if(mode == String("server"))
+    if(mode == std::string("server"))
     {
       serverInit(path);
       mode_ = SERVER;
     }
-    else if(mode == String("client"))
+    else if(mode == std::string("client"))
     {
       clientInit(path);
       mode_ = CLIENT;
     }
-    else if(mode == String("presentation"))
+    else if(mode == std::string("presentation"))
     {
       serverInit(path);
@@ -243,5 +243,5 @@
   }
 
-  void Orxonox::standaloneInit(String path)
+  void Orxonox::standaloneInit(std::string path)
   {
     ogre_->setConfigPath(path);
@@ -262,5 +262,5 @@
   }
 
-  void Orxonox::playableServer(String path)
+  void Orxonox::playableServer(std::string path)
   {
     ogre_->setConfigPath(path);
@@ -296,5 +296,5 @@
   }
 
-  void Orxonox::serverInit(String path)
+  void Orxonox::serverInit(std::string path)
   {
     COUT(2) << "initialising server" << std::endl;
@@ -306,5 +306,5 @@
   }
 
-  void Orxonox::clientInit(String path)
+  void Orxonox::clientInit(std::string path)
   {
     COUT(2) << "initialising client" << std::endl;
@@ -321,5 +321,5 @@
   void Orxonox::defineResources()
   {
-    String secName, typeName, archName;
+    std::string secName, typeName, archName;
     Ogre::ConfigFile cf;
 #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
@@ -340,5 +340,5 @@
         archName = i->second;
 #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
-        Ogre::ResourceGroupManager::getSingleton().addResourceLocation( String(macBundlePath() + "/" + archName), typeName, secName);
+        Ogre::ResourceGroupManager::getSingleton().addResourceLocation( std::string(macBundlePath() + "/" + archName), typeName, secName);
 #else
         Ogre::ResourceGroupManager::getSingleton().addResourceLocation( archName, typeName, secName);
@@ -426,5 +426,5 @@
     // fixes auto repeat problem
     #if defined OIS_LINUX_PLATFORM
-      pl.insert(std::make_pair(String("XAutoRepeatOn"), String("true")));
+      pl.insert(std::make_pair(std::string("XAutoRepeatOn"), std::string("true")));
     #endif
 
@@ -432,5 +432,5 @@
     win->getCustomAttribute("WINDOW", &windowHnd);
     windowHndStr << windowHnd;
-    pl.insert(std::make_pair(String("WINDOW"), windowHndStr.str()));
+    pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
     inputManager_ = OIS::InputManager::createInputSystem(pl);
 
Index: /code/branches/FICN/src/orxonox/Orxonox.h
===================================================================
--- /code/branches/FICN/src/orxonox/Orxonox.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/Orxonox.h	(revision 715)
@@ -8,4 +8,6 @@
 #define _Orxonox_H__
 
+#include <string>
+
 #include <OgrePrerequisites.h>
 #include <OIS/OISPrereqs.h>
@@ -13,6 +15,4 @@
 #include "OrxonoxPrereqs.h"
 #include "loader/LoaderPrereqs.h"
-
-#include "misc/String.h"
 #include "GraphicsEngine.h"
 
@@ -32,5 +32,5 @@
   {
     public:
-      void init(int argc, char **argv, String path);
+      void init(int argc, char **argv, std::string path);
       void start();
       // not sure if this should be private
@@ -48,9 +48,9 @@
       virtual ~Orxonox();
       // init functions
-      void serverInit(String path);
-      void clientInit(String path);
-      void standaloneInit(String path);
+      void serverInit(std::string path);
+      void clientInit(std::string path);
+      void standaloneInit(std::string path);
       // run functions
-      void playableServer(String path);
+      void playableServer(std::string path);
       void standalone();
       void defineResources();
@@ -66,5 +66,5 @@
     private:
       GraphicsEngine*       ogre_;      //!< our dearest graphics engine <3
-      String           dataPath_;  //!< path to data
+      std::string           dataPath_;  //!< path to data
       loader::LevelLoader*  loader_;    //!< level loader builds the scene
       audio::AudioManager*  auMan_;     //!< audio manager
@@ -79,5 +79,5 @@
       // this is used to identify the mode (server/client/...) we're in
       gameMode              mode_;
-      String           serverIp_;
+      std::string           serverIp_;
   };
 }
Index: /code/branches/FICN/src/orxonox/core/ArgReader.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/ArgReader.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/ArgReader.cc	(revision 715)
@@ -45,5 +45,5 @@
   }
 
-  void ArgReader::checkArgument(String option, String &string, bool must)
+  void ArgReader::checkArgument(std::string option, std::string &string, bool must)
   {
     int argpos = checkOption(option) + 1;
@@ -62,5 +62,5 @@
   }
 
-  void ArgReader::checkArgument(String option, int &integer, bool must)
+  void ArgReader::checkArgument(std::string option, int &integer, bool must)
   {
     int argpos = checkOption(option) + 1;
@@ -78,5 +78,5 @@
   }
 
-  void ArgReader::checkArgument(String option, float &floating, bool must)
+  void ArgReader::checkArgument(std::string option, float &floating, bool must)
   {
     int argpos = checkOption(option) + 1;
@@ -94,5 +94,5 @@
   }
 
-  int ArgReader::checkOption(String option)
+  int ArgReader::checkOption(std::string option)
   {
     for(int i = 1; i < counter_; i++)
Index: /code/branches/FICN/src/orxonox/core/ArgReader.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/ArgReader.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/ArgReader.h	(revision 715)
@@ -35,7 +35,7 @@
 #define _ArgReader_H__
 
+#include <string>
+
 #include "CorePrereqs.h"
-
-#include "misc/String.h"
 
 namespace orxonox {
@@ -45,10 +45,10 @@
     public:
       ArgReader(int argc, char **argv);
-      void checkArgument(String option, String& string, bool must=false);
-      void checkArgument(String option, int& integer, bool must=false);
-      void checkArgument(String option, float& floating, bool must=false);
+      void checkArgument(std::string option, std::string& string, bool must=false);
+      void checkArgument(std::string option, int& integer, bool must=false);
+      void checkArgument(std::string option, float& floating, bool must=false);
       bool errorHandling();
     private:
-      int checkOption(String option);
+      int checkOption(std::string option);
 
     private:
@@ -56,5 +56,5 @@
       char **arguments_;
       bool fail_;
-      String errorStr_;
+      std::string errorStr_;
   };
 
Index: /code/branches/FICN/src/orxonox/core/ClassFactory.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/ClassFactory.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/ClassFactory.h	(revision 715)
@@ -36,7 +36,8 @@
 #define _ClassFactory_H__
 
+#include <string>
+
 #include "CorePrereqs.h"
 
-#include "misc/String.h"
 #include "Factory.h"
 #include "Identifier.h"
@@ -53,5 +54,5 @@
     {
         public:
-            static bool create(const String& name);
+            static bool create(const std::string& name);
             BaseObject* fabricate();
 
@@ -69,5 +70,5 @@
     */
     template <class T>
-    bool ClassFactory<T>::create(const String& name)
+    bool ClassFactory<T>::create(const std::string& name)
     {
         COUT(4) << "*** Create entry for " << name << " in Factory." << std::endl;
Index: /code/branches/FICN/src/orxonox/core/ConfigValueContainer.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/ConfigValueContainer.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/ConfigValueContainer.cc	(revision 715)
@@ -43,5 +43,5 @@
         @param defvalue The default-value
     */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, int defvalue)
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, int defvalue)
     {
         this->bAddedDescription_ = false;
@@ -53,17 +53,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, unsigned int defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, unsigned int defvalue)
     {
         this->bAddedDescription_ = false;
@@ -75,17 +75,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, char defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, char defvalue)
     {
         this->bAddedDescription_ = false;
@@ -97,17 +97,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, unsigned char defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, unsigned char defvalue)
     {
         this->bAddedDescription_ = false;
@@ -119,17 +119,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, float defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, float defvalue)
     {
         this->bAddedDescription_ = false;
@@ -141,17 +141,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, double defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, double defvalue)
     {
         this->bAddedDescription_ = false;
@@ -163,17 +163,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, long double defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, long double defvalue)
     {
         this->bAddedDescription_ = false;
@@ -185,17 +185,17 @@
         this->searchConfigFileLine();                                               // Search the entry in the config-file
 
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, bool defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, bool defvalue)
     {
         this->bAddedDescription_ = false;
@@ -211,17 +211,17 @@
 
         this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, const String& defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, const std::string& defvalue)
     {
         this->bAddedDescription_ = false;
@@ -232,17 +232,17 @@
         this->defvalueString_ = "\"" + defvalue + "\"";                             // Convert the string to a "config-file-string" with quotes
         this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString(false);                    // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, const char* defvalue)
+        std::string valueString = this->parseValueString(false);                    // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, const char* defvalue)
     {
         this->bAddedDescription_ = false;
@@ -251,19 +251,19 @@
         this->type_ = ConstChar;
 
-        this->defvalueString_ = "\"" + String(defvalue) + "\"";                // Convert the string to a "config-file-string" with quotes
-        this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString(false);                    // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, Vector2 defvalue)
+        this->defvalueString_ = "\"" + std::string(defvalue) + "\"";                // Convert the string to a "config-file-string" with quotes
+        this->searchConfigFileLine();                                               // Search the entry in the config-file
+        std::string valueString = this->parseValueString(false);                    // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, Vector2 defvalue)
     {
         this->bAddedDescription_ = false;
@@ -280,17 +280,17 @@
 
         this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, Vector3 defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, Vector3 defvalue)
     {
         this->bAddedDescription_ = false;
@@ -307,17 +307,17 @@
 
         this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
-        @param value This is only needed to determine the right type.
-        @param classname The name of the class the variable belongs to
-        @param varname The name of the variable
-        @param defvalue The default-value
-    */
-    ConfigValueContainer::ConfigValueContainer(const String& classname, const String& varname, ColourValue defvalue)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Constructor: Converts the default-value to a string, checks the config-file for a changed value, sets the intern value variable.
+        @param value This is only needed to determine the right type.
+        @param classname The name of the class the variable belongs to
+        @param varname The name of the variable
+        @param defvalue The default-value
+    */
+    ConfigValueContainer::ConfigValueContainer(const std::string& classname, const std::string& varname, ColourValue defvalue)
     {
         this->bAddedDescription_ = false;
@@ -334,15 +334,15 @@
 
         this->searchConfigFileLine();                                               // Search the entry in the config-file
-        String valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
-        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
-            this->resetConfigFileEntry();                                           // The conversion failed
-    }
-
-    /**
-        @brief Parses a given String into a value of the type of the associated variable and assigns it.
-        @param input The string to convert
-        @return True if the string was successfully parsed
-    */
-    bool ConfigValueContainer::parseSting(const String& input)
+        std::string valueString = this->parseValueString();                         // Parses the value string from the config-file-entry
+        if (!this->parseSting(valueString, defvalue))                               // Try to convert the string to a value
+            this->resetConfigFileEntry();                                           // The conversion failed
+    }
+
+    /**
+        @brief Parses a given std::string into a value of the type of the associated variable and assigns it.
+        @param input The string to convert
+        @return True if the string was successfully parsed
+    */
+    bool ConfigValueContainer::parseSting(const std::string& input)
     {
         if (this->type_ == ConfigValueContainer::Int)
@@ -382,5 +382,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, int defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, int defvalue)
     {
         return string2Number(this->value_.value_int_, input, defvalue);
@@ -393,5 +393,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, unsigned int defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, unsigned int defvalue)
     {
         return string2Number(this->value_.value_uint_, input, defvalue);
@@ -404,5 +404,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, char defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, char defvalue)
     {
         // I used value_int_ instead of value_char_ to avoid number <-> char confusion in the config-file
@@ -416,5 +416,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, unsigned char defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, unsigned char defvalue)
     {
         // I used value_uint_ instead of value_uchar_ to avoid number <-> char confusion in the config-file
@@ -428,5 +428,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, float defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, float defvalue)
     {
         return string2Number(this->value_.value_float_, input, defvalue);
@@ -439,5 +439,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, double defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, double defvalue)
     {
         return string2Number(this->value_.value_double_, input, defvalue);
@@ -450,5 +450,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, long double defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, long double defvalue)
     {
         return string2Number(this->value_.value_long_double_, input, defvalue);
@@ -461,5 +461,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, bool defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, bool defvalue)
     {
         // Try to parse the value-string - is it a word?
@@ -489,5 +489,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, const String& defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, const std::string& defvalue)
     {
         // Strip the quotes
@@ -514,5 +514,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, const char* defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, const char* defvalue)
     {
         // Strip the quotes
@@ -539,5 +539,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, const Vector2& defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, const Vector2& defvalue)
     {
         // Strip the value-string
@@ -548,5 +548,5 @@
         if (pos1 < input.length() && pos2 < input.length() && pos1 < pos2)
         {
-            std::vector<String> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
+            std::vector<std::string> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
             if (!string2Number(this->value_vector2_.x, tokens[0], defvalue.x))
             {
@@ -573,5 +573,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, const Vector3& defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, const Vector3& defvalue)
     {
         // Strip the value-string
@@ -582,5 +582,5 @@
         if (pos1 < input.length() && pos2 < input.length() && pos1 < pos2)
         {
-            std::vector<String> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
+            std::vector<std::string> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
             if (!string2Number(this->value_vector3_.x, tokens[0], defvalue.x))
             {
@@ -612,5 +612,5 @@
         @return True if the string was successfully parsed
     */
-    bool ConfigValueContainer::parseSting(const String& input, const ColourValue& defvalue)
+    bool ConfigValueContainer::parseSting(const std::string& input, const ColourValue& defvalue)
     {
         // Strip the value-string
@@ -621,5 +621,5 @@
         if (pos1 < input.length() && pos2 < input.length() && pos1 < pos2)
         {
-            std::vector<String> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
+            std::vector<std::string> tokens = tokenize(input.substr(pos1, pos2 - pos1), ",");
             if (!string2Number(this->value_colourvalue_.r, tokens[0], defvalue.r))
             {
@@ -678,5 +678,5 @@
 
         // The string of the section we're searching
-        String section = "";
+        std::string section = "";
         section.append("[");
         section.append(this->classname_);
@@ -685,5 +685,5 @@
         // Iterate through all config-file-lines
         bool success = false;
-        std::list<String>::iterator it1;
+        std::list<std::string>::iterator it1;
         for(it1 = ConfigValueContainer::getConfigFileLines().begin(); it1 != ConfigValueContainer::getConfigFileLines().end(); ++it1)
         {
@@ -696,8 +696,8 @@
                 // We found the right section
                 bool bLineIsEmpty = false;
-                std::list<String>::iterator positionToPutNewLineAt;
+                std::list<std::string>::iterator positionToPutNewLineAt;
 
                 // Iterate through all lines in the section
-                std::list<String>::iterator it2;
+                std::list<std::string>::iterator it2;
                 for(it2 = ++it1; it2 != ConfigValueContainer::getConfigFileLines().end(); ++it2)
                 {
@@ -777,8 +777,8 @@
         @return True = it's a comment
     */
-    bool ConfigValueContainer::isComment(const String& line)
+    bool ConfigValueContainer::isComment(const std::string& line)
     {
         // Strip the line, whitespaces are disturbing
-        String teststring = getStrippedLine(line);
+        std::string teststring = getStrippedLine(line);
 
         // There are four possible comment-symbols:
@@ -798,5 +798,5 @@
         @return True = it's empty
     */
-    bool ConfigValueContainer::isEmpty(const String& line)
+    bool ConfigValueContainer::isEmpty(const std::string& line)
     {
         return getStrippedLine(line) == "";
@@ -808,7 +808,7 @@
         @return The stripped line
     */
-    String ConfigValueContainer::getStrippedLine(const String& line)
-    {
-        String output = line;
+    std::string ConfigValueContainer::getStrippedLine(const std::string& line)
+    {
+        std::string output = line;
         unsigned int pos;
         while ((pos = output.find(" ")) < output.length())
@@ -825,7 +825,7 @@
         @return The value-string
     */
-    String ConfigValueContainer::parseValueString(bool bStripped)
-    {
-        String output;
+    std::string ConfigValueContainer::parseValueString(bool bStripped)
+    {
+        std::string output;
         if (bStripped)
             output = this->getStrippedLine(*this->configFileLine_);
@@ -839,8 +839,8 @@
         @returns a list, containing all entrys in the config-file.
     */
-    std::list<String>& ConfigValueContainer::getConfigFileLines()
+    std::list<std::string>& ConfigValueContainer::getConfigFileLines()
     {
         // This is done to avoid problems while executing this code before main()
-        static std::list<String> configFileLinesStaticReference = std::list<String>();
+        static std::list<std::string> configFileLinesStaticReference = std::list<std::string>();
         return configFileLinesStaticReference;
     }
@@ -866,5 +866,5 @@
         @param filename The name of the config-file
     */
-    void ConfigValueContainer::readConfigFile(const String& filename)
+    void ConfigValueContainer::readConfigFile(const std::string& filename)
     {
         // This creates the file if it's not existing
@@ -913,5 +913,5 @@
         @param filename The name of the config-file
     */
-    void ConfigValueContainer::writeConfigFile(const String& filename)
+    void ConfigValueContainer::writeConfigFile(const std::string& filename)
     {
         // Make sure we stored the config-file in the list
@@ -930,5 +930,5 @@
 
         // Iterate through the list an write the lines into the file
-        std::list<String>::iterator it;
+        std::list<std::string>::iterator it;
         for (it = ConfigValueContainer::getConfigFileLines().begin(); it != ConfigValueContainer::getConfigFileLines().end(); ++it)
         {
@@ -943,9 +943,9 @@
         @param description The description
     */
-    void ConfigValueContainer::description(const String& description)
+    void ConfigValueContainer::description(const std::string& description)
     {
         if (!this->bAddedDescription_)
         {
-            this->description_ = String("ConfigValueDescription::" + this->classname_ + "::" + this->varname_);
+            this->description_ = std::string("ConfigValueDescription::" + this->classname_ + "::" + this->varname_);
             Language::getLanguage().addEntry(description_, description);
             this->bAddedDescription_ = true;
Index: /code/branches/FICN/src/orxonox/core/ConfigValueContainer.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/ConfigValueContainer.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/ConfigValueContainer.h	(revision 715)
@@ -44,4 +44,5 @@
 
 #include <list>
+#include <string>
 
 #include "CorePrereqs.h"
@@ -51,5 +52,4 @@
 #include "misc/Matrix3.h"
 #include "misc/Quaternion.h"
-#include "misc/String.h"
 #include "misc/ColourValue.h"
 #include "Language.h"
@@ -93,17 +93,17 @@
             };
 
-            ConfigValueContainer(const String& classname, const String& varname, int defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, unsigned int defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, char defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, unsigned char defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, float defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, double defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, long double defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, bool defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, const String& defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, const char* defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, Vector2 defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, Vector3 defvalue);
-            ConfigValueContainer(const String& classname, const String& varname, ColourValue defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, int defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, unsigned int defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, char defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, unsigned char defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, float defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, double defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, long double defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, bool defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, const std::string& defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, const char* defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, Vector2 defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, Vector3 defvalue);
+            ConfigValueContainer(const std::string& classname, const std::string& varname, ColourValue defvalue);
 
             /** @returns the value. @param value This is only needed to determine the right type. */
@@ -124,5 +124,5 @@
             inline ConfigValueContainer& getValue(bool& value)                          { value = this->value_.value_bool_; return *this; }
             /** @returns the value. @param value This is only needed to determine the right type. */
-            inline ConfigValueContainer& getValue(String& value)                   { value = this->value_string_; return *this; }
+            inline ConfigValueContainer& getValue(std::string& value)                   { value = this->value_string_; return *this; }
             /** @returns the value. @param value This is only needed to determine the right type. */
             inline ConfigValueContainer& getValue(const char* value)                    { value = this->value_string_.c_str(); return *this; }
@@ -134,40 +134,40 @@
             inline ConfigValueContainer& getValue(ColourValue& value)             { value = this->value_colourvalue_; return *this; }
 
-            void description(const String& description);
+            void description(const std::string& description);
 
-            bool parseSting(const String& input);
+            bool parseSting(const std::string& input);
             void resetConfigFileEntry();
             void resetConfigValue();
 
-            static String getStrippedLine(const String& line);
-            static bool isEmpty(const String& line);
-            static bool isComment(const String& line);
+            static std::string getStrippedLine(const std::string& line);
+            static bool isEmpty(const std::string& line);
+            static bool isComment(const std::string& line);
 
         private:
-            bool parseSting(const String& input, int defvalue);
-            bool parseSting(const String& input, unsigned int defvalue);
-            bool parseSting(const String& input, char defvalue);
-            bool parseSting(const String& input, unsigned char defvalue);
-            bool parseSting(const String& input, float defvalue);
-            bool parseSting(const String& input, double defvalue);
-            bool parseSting(const String& input, long double defvalue);
-            bool parseSting(const String& input, bool defvalue);
-            bool parseSting(const String& input, const String& defvalue);
-            bool parseSting(const String& input, const char* defvalue);
-            bool parseSting(const String& input, const Vector2& defvalue);
-            bool parseSting(const String& input, const Vector3& defvalue);
-            bool parseSting(const String& input, const ColourValue& defvalue);
+            bool parseSting(const std::string& input, int defvalue);
+            bool parseSting(const std::string& input, unsigned int defvalue);
+            bool parseSting(const std::string& input, char defvalue);
+            bool parseSting(const std::string& input, unsigned char defvalue);
+            bool parseSting(const std::string& input, float defvalue);
+            bool parseSting(const std::string& input, double defvalue);
+            bool parseSting(const std::string& input, long double defvalue);
+            bool parseSting(const std::string& input, bool defvalue);
+            bool parseSting(const std::string& input, const std::string& defvalue);
+            bool parseSting(const std::string& input, const char* defvalue);
+            bool parseSting(const std::string& input, const Vector2& defvalue);
+            bool parseSting(const std::string& input, const Vector3& defvalue);
+            bool parseSting(const std::string& input, const ColourValue& defvalue);
 
-            static std::list<String>& getConfigFileLines();
+            static std::list<std::string>& getConfigFileLines();
             static bool finishedReadingConfigFile(bool finished = false);
             void searchConfigFileLine();
-            String parseValueString(bool bStripped = true);
+            std::string parseValueString(bool bStripped = true);
 
-            static void readConfigFile(const String& filename);
-            static void writeConfigFile(const String& filename);
+            static void readConfigFile(const std::string& filename);
+            static void writeConfigFile(const std::string& filename);
 
-            String         classname_;                     //!< The name of the class the variable belongs to
-            String         varname_;                       //!< The name of the variable
-            String         defvalueString_;                //!< The string of the default-variable
+            std::string         classname_;                     //!< The name of the class the variable belongs to
+            std::string         varname_;                       //!< The name of the variable
+            std::string         defvalueString_;                //!< The string of the default-variable
 
             union MultiType
@@ -183,10 +183,10 @@
             } value_;                                           //!< The value of the variable
 
-            String         value_string_;                  //!< The value, if the variable is of the type string
+            std::string         value_string_;                  //!< The value, if the variable is of the type string
             Vector2       value_vector2_;                 //!< The value, if the variable is of the type Vector2
             Vector3       value_vector3_;                 //!< The value, if the variable is of the type Vector3
             ColourValue   value_colourvalue_;             //!< The value, if the variable is of the type ColourValue
 
-            std::list<String>::iterator configFileLine_;   //!< An iterator, pointing to the entry of the variable in the config-file
+            std::list<std::string>::iterator configFileLine_;   //!< An iterator, pointing to the entry of the variable in the config-file
 
             VariableType type_;                                 //!< The type of the variable
Index: /code/branches/FICN/src/orxonox/core/Error.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/Error.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Error.cc	(revision 715)
@@ -36,10 +36,10 @@
 	}
 
-	Error::Error(String errorMsg, int errorCode)
+	Error::Error(std::string errorMsg, int errorCode)
 	{
 		Error(errorCode, errorMsg);
 	}
 
-	Error::Error(int errorCode, String errorMsg)
+	Error::Error(int errorCode, std::string errorMsg)
 	{
 		COUT(1) << "############################ "<< std::endl
Index: /code/branches/FICN/src/orxonox/core/Error.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/Error.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Error.h	(revision 715)
@@ -29,7 +29,7 @@
 #define _Error_H__
 
+#include <string>
+
 #include "CorePrereqs.h"
-
-#include "misc/String.h"
 
 namespace orxonox
@@ -39,6 +39,6 @@
 	public:
 		Error();
-		Error(String errorMsg, int errorCode = 0);
-		Error(int errorCode, String errorMsg = "");
+		Error(std::string errorMsg, int errorCode = 0);
+		Error(int errorCode, std::string errorMsg = "");
 	private:
 
Index: /code/branches/FICN/src/orxonox/core/Factory.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/Factory.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Factory.cc	(revision 715)
@@ -42,5 +42,5 @@
         @param name The name of the wanted Identifier
     */
-    Identifier* Factory::getIdentifier(const String& name)
+    Identifier* Factory::getIdentifier(const std::string& name)
     {
         return getFactoryPointer()->identifierStringMap_[name];
@@ -61,5 +61,5 @@
         @param identifier The identifier to add
     */
-    void Factory::add(const String& name, Identifier* identifier)
+    void Factory::add(const std::string& name, Identifier* identifier)
     {
         getFactoryPointer()->identifierStringMap_[name] = identifier;
@@ -85,5 +85,5 @@
     {
         COUT(3) << "*** Factory -> Create class-hierarchy" << std::endl;
-        std::map<String, Identifier*>::iterator it;
+        std::map<std::string, Identifier*>::iterator it;
         it = getFactoryPointer()->identifierStringMap_.begin();
         (*getFactoryPointer()->identifierStringMap_.begin()).second->startCreatingHierarchy();
Index: /code/branches/FICN/src/orxonox/core/Factory.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/Factory.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Factory.h	(revision 715)
@@ -45,8 +45,7 @@
 
 #include <map>
+#include <string>
 
 #include "CorePrereqs.h"
-
-#include "misc/String.h"
 
 namespace orxonox
@@ -61,7 +60,7 @@
     {
         public:
-            static Identifier* getIdentifier(const String& name);
+            static Identifier* getIdentifier(const std::string& name);
             static Identifier* getIdentifier(const unsigned int id);
-            static void add(const String& name, Identifier* identifier);
+            static void add(const std::string& name, Identifier* identifier);
             static void changeNetworkID(Identifier* identifier, const unsigned int oldID, const unsigned int newID);
             static void createClassHierarchy();
@@ -74,5 +73,5 @@
             ~Factory() {}                           // don't delete
 
-            std::map<String, Identifier*> identifierStringMap_;            //!< The map, mapping the name with the Identifier
+            std::map<std::string, Identifier*> identifierStringMap_;            //!< The map, mapping the name with the Identifier
             std::map<unsigned int, Identifier*> identifierNetworkIDMap_;        //!< The map, mapping the network ID with the Identifier
     };
Index: /code/branches/FICN/src/orxonox/core/Identifier.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/Identifier.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Identifier.cc	(revision 715)
@@ -118,7 +118,7 @@
         @returns a reference to the Identifier map, containing all Identifiers.
     */
-    std::map<String, Identifier*>& Identifier::getIdentifierMap()
+    std::map<std::string, Identifier*>& Identifier::getIdentifierMap()
     {
-        static std::map<String, Identifier*> identifierMapStaticReference = std::map<String, Identifier*>();
+        static std::map<std::string, Identifier*> identifierMapStaticReference = std::map<std::string, Identifier*>();
         return identifierMapStaticReference;
     }
Index: /code/branches/FICN/src/orxonox/core/Identifier.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/Identifier.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Identifier.h	(revision 715)
@@ -53,8 +53,8 @@
 
 #include <map>
+#include <string>
 
 #include "CorePrereqs.h"
 
-#include "misc/String.h"
 #include "ObjectList.h"
 #include "IdentifierList.h"
@@ -112,5 +112,5 @@
 
             /** @returns the name of the class the Identifier belongs to. */
-            inline const String& getName() const { return this->name_; }
+            inline const std::string& getName() const { return this->name_; }
 
             /** @returns the parents of the class the Identifier belongs to. */
@@ -130,12 +130,12 @@
 
             /** @returns the ConfigValueContainer of a variable, given by the string of its name. @param varname The name of the variable */
-            inline ConfigValueContainer* getConfigValueContainer(const String& varname)
+            inline ConfigValueContainer* getConfigValueContainer(const std::string& varname)
                 { return this->configValues_[varname]; }
 
             /** @brief Sets the ConfigValueContainer of a variable, given by the string of its name. @param varname The name of the variablee @param container The container */
-            inline void setConfigValueContainer(const String& varname, ConfigValueContainer* container)
+            inline void setConfigValueContainer(const std::string& varname, ConfigValueContainer* container)
                 { this->configValues_[varname] = container; }
 
-            static std::map<String, Identifier*>& getIdentifierMap();
+            static std::map<std::string, Identifier*>& getIdentifierMap();
 
         private:
@@ -166,5 +166,5 @@
             IdentifierList* children_;                                  //!< The Children of the class the Identifier belongs to
 
-            String name_;                                          //!< The name of the class the Identifier belongs to
+            std::string name_;                                          //!< The name of the class the Identifier belongs to
 
             BaseFactory* factory_;                                      //!< The Factory, able to create new objects of the given class (if available)
@@ -172,5 +172,5 @@
             static int hierarchyCreatingCounter_s;                      //!< Bigger than zero if at least one Identifier stores its parents (its an int instead of a bool to avoid conflicts with multithreading)
             unsigned int classID_;                                      //!< The network ID to identify a class through the network
-            std::map<String, ConfigValueContainer*> configValues_; //!< A map to link the string of configurable variables with their ConfigValueContainer
+            std::map<std::string, ConfigValueContainer*> configValues_; //!< A map to link the string of configurable variables with their ConfigValueContainer
     };
 
@@ -189,8 +189,8 @@
     {
         public:
-            static ClassIdentifier<T>* registerClass(const IdentifierList* parents, const String& name, bool bRootClass);
+            static ClassIdentifier<T>* registerClass(const IdentifierList* parents, const std::string& name, bool bRootClass);
             static void addObject(T* object);
             static ClassIdentifier<T>* getIdentifier();
-            void setName(const String& name);
+            void setName(const std::string& name);
 
         private:
@@ -221,5 +221,5 @@
     */
     template <class T>
-    ClassIdentifier<T>* ClassIdentifier<T>::registerClass(const IdentifierList* parents, const String& name, bool bRootClass)
+    ClassIdentifier<T>* ClassIdentifier<T>::registerClass(const IdentifierList* parents, const std::string& name, bool bRootClass)
     {
         COUT(4) << "*** Register Class in " << name << "-Singleton." << std::endl;
@@ -265,5 +265,5 @@
     */
     template <class T>
-    void ClassIdentifier<T>::setName(const String& name)
+    void ClassIdentifier<T>::setName(const std::string& name)
     {
         // Make sure we didn't already set the name, to avoid duplicate entries in the Identifier map
@@ -271,5 +271,5 @@
         {
             this->name_ = name;
-            this->getIdentifierMap().insert(std::pair<String, Identifier*>(name, this));
+            this->getIdentifierMap().insert(std::pair<std::string, Identifier*>(name, this));
             this->bSetName_ = true;
         }
Index: /code/branches/FICN/src/orxonox/core/IdentifierList.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/IdentifierList.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/IdentifierList.cc	(revision 715)
@@ -130,8 +130,8 @@
         @returns a string, containing a list of the names of all Identifiers in the list.
     */
-    String IdentifierList::toString() const
+    std::string IdentifierList::toString() const
     {
         IdentifierListElement* temp = this->first_;
-        String output = "";
+        std::string output = "";
 
         while (temp)
Index: /code/branches/FICN/src/orxonox/core/IdentifierList.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/IdentifierList.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/IdentifierList.h	(revision 715)
@@ -37,7 +37,7 @@
 #define _IdentifierList_H__
 
+#include <string>
+
 #include "CorePrereqs.h"
-
-#include "misc/String.h"
 
 namespace orxonox
@@ -62,5 +62,5 @@
             void remove(const Identifier* identifier);
             bool isInList(const Identifier* identifier) const;
-            String toString() const;
+            std::string toString() const;
 
             IdentifierListElement* first_;      //!< The first element in the list
Index: /code/branches/FICN/src/orxonox/core/Language.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/Language.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Language.cc	(revision 715)
@@ -36,5 +36,5 @@
     // ###      LanguageEntry      ###
     // ###############################
-    LanguageEntry::LanguageEntry(const String& fallbackEntry)
+    LanguageEntry::LanguageEntry(const std::string& fallbackEntry)
     {
         RegisterRootObject(LanguageEntry);
@@ -44,5 +44,5 @@
     }
 
-    void LanguageEntry::setTranslation(const String& translation)
+    void LanguageEntry::setTranslation(const std::string& translation)
     {
         if (translation.compare("") != 0)
@@ -52,5 +52,5 @@
     }
 
-    void LanguageEntry::setDefault(const String& fallbackEntry)
+    void LanguageEntry::setDefault(const std::string& fallbackEntry)
     {
         if (this->translatedEntry_.compare(this->fallbackEntry_) == 0)
@@ -85,5 +85,5 @@
     }
 
-    void Language::createEntry(const LanguageEntryName& name, const String& entry)
+    void Language::createEntry(const LanguageEntryName& name, const std::string& entry)
     {
         if (!this->languageEntries_[name])
@@ -99,7 +99,7 @@
     }
 
-    void Language::addEntry(const LanguageEntryName& name, const String& entry)
-    {
-        std::map<String, LanguageEntry*>::const_iterator it = this->languageEntries_.find(name);
+    void Language::addEntry(const LanguageEntryName& name, const std::string& entry)
+    {
+        std::map<std::string, LanguageEntry*>::const_iterator it = this->languageEntries_.find(name);
         if (!it->second)
             this->createEntry(name, entry);
@@ -112,7 +112,7 @@
     }
 
-    const String& Language::getTranslation(const LanguageEntryName& name) const
-    {
-        std::map<String, LanguageEntry*>::const_iterator it = this->languageEntries_.find(name);
+    const std::string& Language::getTranslation(const LanguageEntryName& name) const
+    {
+        std::map<std::string, LanguageEntry*>::const_iterator it = this->languageEntries_.find(name);
         if (it->second)
             return it->second->getTranslation();
@@ -124,7 +124,7 @@
     }
 
-    const String Language::getFileName(const String& language)
-    {
-        return String("translation_" + language + ".lang");
+    const std::string Language::getFileName(const std::string& language)
+    {
+        return std::string("translation_" + language + ".lang");
     }
 
@@ -154,5 +154,5 @@
         {
             file.getline(line, 1024);
-            String lineString = String(line);
+            std::string lineString = std::string(line);
             if (lineString.compare("") != 0)
             {
@@ -190,5 +190,5 @@
         {
             file.getline(line, 1024);
-            String lineString = String(line);
+            std::string lineString = std::string(line);
             if (lineString.compare("") != 0)
             {
@@ -196,5 +196,5 @@
                 if (pos < lineString.size() && lineString.size() >= 3)
                 {
-                    std::map<String, LanguageEntry*>::const_iterator it = this->languageEntries_.find(lineString.substr(0, pos));
+                    std::map<std::string, LanguageEntry*>::const_iterator it = this->languageEntries_.find(lineString.substr(0, pos));
                     if (it->second)
                         it->second->setTranslation(lineString.substr(pos + 1));
Index: /code/branches/FICN/src/orxonox/core/Language.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/Language.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/Language.h	(revision 715)
@@ -30,30 +30,30 @@
 
 #include <map>
+#include <string>
 
 #include "CorePrereqs.h"
 
-#include "misc/String.h"
 #include "OrxonoxClass.h"
 
 namespace orxonox
 {
-    typedef String LanguageEntryName;
+    typedef std::string LanguageEntryName;
 
     class _CoreExport LanguageEntry : public OrxonoxClass
     {
         public:
-            explicit LanguageEntry(const String& fallbackEntry);
-            void setTranslation(const String& translation);
-            void setDefault(const String& fallbackEntry);
+            explicit LanguageEntry(const std::string& fallbackEntry);
+            void setTranslation(const std::string& translation);
+            void setDefault(const std::string& fallbackEntry);
 
-            inline const String& getTranslation()
+            inline const std::string& getTranslation()
                 { return this->translatedEntry_; }
 
-            inline const String& getDefault()
+            inline const std::string& getDefault()
                 { return this->fallbackEntry_; }
 
         private:
-            String fallbackEntry_;
-            String translatedEntry_;
+            std::string fallbackEntry_;
+            std::string translatedEntry_;
     };
 
@@ -63,6 +63,6 @@
             static Language& getLanguage();
             void setConfigValues();
-            void addEntry(const LanguageEntryName& name, const String& entry);
-            const String& getTranslation(const LanguageEntryName& name) const;
+            void addEntry(const LanguageEntryName& name, const std::string& entry);
+            const std::string& getTranslation(const LanguageEntryName& name) const;
 
         private:
@@ -74,11 +74,11 @@
             void readTranslatedLanguageFile();
             void writeDefaultLanguageFile() const;
-            static const String getFileName(const String& language);
-            void createEntry(const LanguageEntryName& name, const String& entry);
+            static const std::string getFileName(const std::string& language);
+            void createEntry(const LanguageEntryName& name, const std::string& entry);
 
-            String language_;
-            String defaultLanguage_;
-            String defaultTranslation_;
-            std::map<String, LanguageEntry*> languageEntries_;
+            std::string language_;
+            std::string defaultLanguage_;
+            std::string defaultTranslation_;
+            std::map<std::string, LanguageEntry*> languageEntries_;
     };
 }
Index: /code/branches/FICN/src/orxonox/core/OrxonoxClass.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/OrxonoxClass.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/OrxonoxClass.h	(revision 715)
@@ -37,7 +37,7 @@
 #define _OrxonoxClass_H__
 
+#include <string>
+
 #include "CorePrereqs.h"
-
-#include "misc/String.h"
 #include "MetaObjectList.h"
 #include "Identifier.h"
@@ -132,8 +132,8 @@
 
             /** @brief Sets the name of the object. @param name The name */
-            inline virtual void setName(const String& name) { this->name_ = name; }
+            inline virtual void setName(const std::string& name) { this->name_ = name; }
 
             /** @returns the name of the object. */
-            inline const String& getName() const { return this->name_; }
+            inline const std::string& getName() const { return this->name_; }
 
             /** @brief Sets the state of the objects activity. @param bActive True = active */
@@ -154,5 +154,5 @@
             MetaObjectList metaList_;       //!< MetaObjectList, containing all ObjectLists and ObjectListElements the object is registered in
 
-            String name_;              //!< The name of the object
+            std::string name_;              //!< The name of the object
             bool bActive_;                  //!< True = the object is active
             bool bVisible_;                 //!< True = the object is visible
Index: /code/branches/FICN/src/orxonox/core/OutputHandler.cc
===================================================================
--- /code/branches/FICN/src/orxonox/core/OutputHandler.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/OutputHandler.cc	(revision 715)
@@ -35,5 +35,5 @@
         @param logfilename The name of the logfile
     */
-    OutputHandler::OutputHandler(const String& logfilename)
+    OutputHandler::OutputHandler(const std::string& logfilename)
     {
         this->logfilename_ = logfilename;
Index: /code/branches/FICN/src/orxonox/core/OutputHandler.h
===================================================================
--- /code/branches/FICN/src/orxonox/core/OutputHandler.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/core/OutputHandler.h	(revision 715)
@@ -39,6 +39,6 @@
 #include <iostream>
 #include <fstream>
+#include <string>
 
-#include "misc/String.h"
 #include "CorePrereqs.h"
 
@@ -108,9 +108,9 @@
 
         private:
-            explicit OutputHandler(const String& logfilename);
+            explicit OutputHandler(const std::string& logfilename);
             OutputHandler(const OutputHandler& oh) {}; // don't copy
             virtual ~OutputHandler();
             std::ofstream logfile_;     //!< The logfile where the output is logged
-            String logfilename_;   //!< The name of the logfile
+            std::string logfilename_;   //!< The name of the logfile
             int outputLevel_;           //!< The level of the incoming output
     };
Index: /code/branches/FICN/src/orxonox/hud/HUD.cc
===================================================================
--- /code/branches/FICN/src/orxonox/hud/HUD.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/hud/HUD.cc	(revision 715)
@@ -80,10 +80,10 @@
   }
 
-  void HUD::setTargetWindowName(String i){
+  void HUD::setTargetWindowName(std::string i){
     targetWindowName_=i;
     targetWindowNameText_->setCaption( targetWindowName_ );
   }
 
-  void HUD::setTargetWindowStatus(String i){
+  void HUD::setTargetWindowStatus(std::string i){
     targetWindowStatus_=i;
     targetWindowStatusText_->setCaption( targetWindowStatus_ );
Index: /code/branches/FICN/src/orxonox/hud/HUD.h
===================================================================
--- /code/branches/FICN/src/orxonox/hud/HUD.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/hud/HUD.h	(revision 715)
@@ -29,9 +29,9 @@
 #define _HUD_H__
 
+#include <string>
+
 #include <OgrePrerequisites.h>
 
 #include "../OrxonoxPrereqs.h"
-
-#include "misc/String.h"
 
 
@@ -61,6 +61,6 @@
     int timeSec_;
 
-    String targetWindowName_;
-    String targetWindowStatus_;
+    std::string targetWindowName_;
+    std::string targetWindowStatus_;
     int targetWindowDistance_;
     int targetWindowHitRating_;
@@ -93,6 +93,6 @@
 
     void setTime(int i, int j);
-    void setTargetWindowName(String i);
-    void setTargetWindowStatus(String i);
+    void setTargetWindowName(std::string i);
+    void setTargetWindowStatus(std::string i);
     void setTargetWindowDistance(int i);
     void setTargetWindowHitRating(int i);
Index: /code/branches/FICN/src/orxonox/objects/Ambient.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Ambient.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Ambient.cc	(revision 715)
@@ -27,4 +27,5 @@
 
 #include <vector>
+#include <string>
 
 #include <OgreSceneManager.h>
@@ -34,5 +35,4 @@
 #include "misc/String2Number.h"
 #include "misc/ColourValue.h"
-#include "misc/String.h"
 #include "../core/Debug.h"
 #include "../core/CoreIncludes.h"
@@ -61,5 +61,5 @@
     	{
 
-	    	std::vector<String> colourvalues = tokenize(xmlElem->Attribute("colourvalue"),",");
+	    	std::vector<std::string> colourvalues = tokenize(xmlElem->Attribute("colourvalue"),",");
 	    	float r, g, b;
     	 	String2Number<float>(r, colourvalues[0]);
Index: /code/branches/FICN/src/orxonox/objects/BillboardSet.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/BillboardSet.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/BillboardSet.cc	(revision 715)
@@ -45,5 +45,5 @@
     }
 
-    void BillboardSet::setBillboardSet(const String& file, const ColourValue& colour, int count, const Vector3& position)
+    void BillboardSet::setBillboardSet(const std::string& file, const ColourValue& colour, int count, const Vector3& position)
     {
         std::ostringstream name;
Index: /code/branches/FICN/src/orxonox/objects/BillboardSet.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/BillboardSet.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/BillboardSet.h	(revision 715)
@@ -1,4 +1,6 @@
 #ifndef _BillboardSet_H__
 #define _BillboardSet_H__
+
+#include <string>
 
 #include <OgreBillboardSet.h>
@@ -6,5 +8,4 @@
 #include "../OrxonoxPrereqs.h"
 
-#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "misc/ColourValue.h"
@@ -18,10 +19,10 @@
             BillboardSet();
             ~BillboardSet();
-            void setBillboardSet(const String& file, const ColourValue& colour = ColourValue(1.0, 1.0, 1.0), int count = 1, const Vector3& position = Vector3::ZERO);
+            void setBillboardSet(const std::string& file, const ColourValue& colour = ColourValue(1.0, 1.0, 1.0), int count = 1, const Vector3& position = Vector3::ZERO);
 
             inline Ogre::BillboardSet* getBillboardSet()
                 { return this->billboardSet_; }
 
-            inline const String& getName() const
+            inline const std::string& getName() const
                 { return this->billboardSet_->getName(); }
 
Index: /code/branches/FICN/src/orxonox/objects/Camera.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Camera.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Camera.cc	(revision 715)
@@ -1,2 +1,4 @@
+#include <string>
+
 #include <OgreSceneManager.h>
 #include <OgreSceneNode.h>
@@ -9,5 +11,4 @@
 #include "misc/String2Number.h"
 #include "misc/Vector3.h"
-#include "misc/String.h"
 #include "../core/Debug.h"
 #include "../core/CoreIncludes.h"
@@ -38,12 +39,12 @@
         //    <Camera name="Camera" pos="0,0,-250" lookat="0,0,0" />
 
-        String name = xmlElem->Attribute("name");
-        String pos = xmlElem->Attribute("pos");
-        String lookat = xmlElem->Attribute("lookat");
+        std::string name = xmlElem->Attribute("name");
+        std::string pos = xmlElem->Attribute("pos");
+        std::string lookat = xmlElem->Attribute("lookat");
 
         Ogre::Camera *cam = mgr->createCamera(name);
 
         float x, y, z;
-        std::vector<String> posVec = tokenize(xmlElem->Attribute("pos"),",");
+        std::vector<std::string> posVec = tokenize(xmlElem->Attribute("pos"),",");
         String2Number<float>(x, posVec[0]);
         String2Number<float>(y, posVec[1]);
@@ -59,5 +60,5 @@
         cam->lookAt(Vector3(x,y,z));
 
-        String node = xmlElem->Attribute("node");
+        std::string node = xmlElem->Attribute("node");
 
         Ogre::SceneNode* sceneNode = (Ogre::SceneNode*)mgr->getRootSceneNode()->createChildSceneNode(node); //getChild(node);
Index: /code/branches/FICN/src/orxonox/objects/Fighter.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Fighter.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Fighter.cc	(revision 715)
@@ -26,4 +26,6 @@
  */
 
+#include <string>
+
 #include <OgreCamera.h>
 #include <OgreRenderWindow.h>
@@ -33,5 +35,4 @@
 #include "tinyxml/tinyxml.h"
 #include "misc/String2Number.h"
-#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
@@ -174,8 +175,8 @@
         if (xmlElem->Attribute("forward") && xmlElem->Attribute("rotateupdown") && xmlElem->Attribute("rotaterightleft") && xmlElem->Attribute("looprightleft"))
         {
-            String forwardStr = xmlElem->Attribute("forward");
-            String rotateupdownStr = xmlElem->Attribute("rotateupdown");
-            String rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
-            String looprightleftStr = xmlElem->Attribute("looprightleft");
+            std::string forwardStr = xmlElem->Attribute("forward");
+            std::string rotateupdownStr = xmlElem->Attribute("rotateupdown");
+            std::string rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
+            std::string looprightleftStr = xmlElem->Attribute("looprightleft");
 
             String2Number<float>(this->maxSpeedForward_, forwardStr);
Index: /code/branches/FICN/src/orxonox/objects/Light.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Light.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Light.h	(revision 715)
@@ -1,4 +1,6 @@
 #ifndef _Light_H__
 #define _Light_H__
+
+#include <string>
 
 #include <OgreLight.h>
@@ -6,5 +8,4 @@
 #include "../OrxonoxPrereqs.h"
 
-#include "misc/String.h"
 #include "misc/ColourValue.h"
 
@@ -21,5 +22,5 @@
                 { return this->light_; }
 
-            inline const String& getName() const
+            inline const std::string& getName() const
                 { return this->light_->getName(); }
 
Index: /code/branches/FICN/src/orxonox/objects/Mesh.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Mesh.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Mesh.cc	(revision 715)
@@ -43,5 +43,5 @@
     }
 
-    void Mesh::setMesh(const String& file)
+    void Mesh::setMesh(const std::string& file)
     {
         std::ostringstream name;
Index: /code/branches/FICN/src/orxonox/objects/Mesh.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Mesh.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Mesh.h	(revision 715)
@@ -1,10 +1,10 @@
 #ifndef _Mesh_H__
 #define _Mesh_H__
+
+#include <string>
 
 #include <OgreEntity.h>
 
 #include "../OrxonoxPrereqs.h"
-
-#include "misc/String.h"
 
 namespace orxonox
@@ -15,10 +15,10 @@
             Mesh();
             ~Mesh();
-            void setMesh(const String& file);
+            void setMesh(const std::string& file);
 
             inline Ogre::Entity* getEntity()
                 { return this->entity_; }
 
-            inline const String& getName() const
+            inline const std::string& getName() const
                 { return this->entity_->getName(); }
 
Index: /code/branches/FICN/src/orxonox/objects/Model.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Model.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Model.h	(revision 715)
@@ -21,5 +21,5 @@
 
         private:
-            String meshSrc_;
+            std::string meshSrc_;
             Mesh mesh_;
             void registerAllVariables();
Index: /code/branches/FICN/src/orxonox/objects/Skybox.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Skybox.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/Skybox.cc	(revision 715)
@@ -26,4 +26,6 @@
  */
 
+#include <string>
+
 #include <OgreSceneManager.h>
 
@@ -31,5 +33,4 @@
 //#include "misc/Tokenizer.h"
 //#include "misc/String2Number.h"
-#include "misc/String.h"
 #include "../Orxonox.h"
 #include "../core/CoreIncludes.h"
@@ -57,5 +58,5 @@
     	if (xmlElem->Attribute("src"))
     	{
-    		String skyboxSrc = xmlElem->Attribute("src");
+    		std::string skyboxSrc = xmlElem->Attribute("src");
 	    	mgr->setSkyBox(true, skyboxSrc);
 
Index: /code/branches/FICN/src/orxonox/objects/SpaceShip.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 715)
@@ -26,4 +26,6 @@
  */
 
+#include <string>
+
 #include <OIS/OIS.h>
 #include <OgreCamera.h>
@@ -34,5 +36,4 @@
 #include "tinyxml/tinyxml.h"
 #include "misc/String2Number.h"
-#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "../core/Debug.h"
@@ -196,8 +197,8 @@
         if (xmlElem->Attribute("forward") && xmlElem->Attribute("rotateupdown") && xmlElem->Attribute("rotaterightleft") && xmlElem->Attribute("looprightleft"))
         {
-            String forwardStr = xmlElem->Attribute("forward");
-            String rotateupdownStr = xmlElem->Attribute("rotateupdown");
-            String rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
-            String looprightleftStr = xmlElem->Attribute("looprightleft");
+            std::string forwardStr = xmlElem->Attribute("forward");
+            std::string rotateupdownStr = xmlElem->Attribute("rotateupdown");
+            std::string rotaterightleftStr = xmlElem->Attribute("rotaterightleft");
+            std::string looprightleftStr = xmlElem->Attribute("looprightleft");
 
             String2Number<float>(this->maxSpeedForward_, forwardStr);
@@ -212,11 +213,11 @@
         {
 
-            String msStr = xmlElem->Attribute("maxSpeed");
-            String msabsStr = xmlElem->Attribute("maxSideAndBackSpeed");
-            String mrStr = xmlElem->Attribute("maxRotation");
-            String taStr = xmlElem->Attribute("transAcc");
-            String raStr = xmlElem->Attribute("rotAcc");
-            String tdStr = xmlElem->Attribute("transDamp");
-            String rdStr = xmlElem->Attribute("rotDamp");
+            std::string msStr = xmlElem->Attribute("maxSpeed");
+            std::string msabsStr = xmlElem->Attribute("maxSideAndBackSpeed");
+            std::string mrStr = xmlElem->Attribute("maxRotation");
+            std::string taStr = xmlElem->Attribute("transAcc");
+            std::string raStr = xmlElem->Attribute("rotAcc");
+            std::string tdStr = xmlElem->Attribute("transDamp");
+            std::string rdStr = xmlElem->Attribute("rotDamp");
 
             String2Number<float>(this->maxSpeed_, msStr);
Index: /code/branches/FICN/src/orxonox/objects/WorldEntity.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/WorldEntity.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/WorldEntity.cc	(revision 715)
@@ -26,4 +26,5 @@
  */
 
+#include <string>
 #include <sstream>
 
@@ -31,5 +32,4 @@
 #include "misc/Tokenizer.h"
 #include "misc/String2Number.h"
-#include "misc/String.h"
 #include "../core/CoreIncludes.h"
 #include "../Orxonox.h"
@@ -88,5 +88,5 @@
         if (xmlElem->Attribute("position"))
         {
-            std::vector<String> pos = tokenize(xmlElem->Attribute("position"),",");
+            std::vector<std::string> pos = tokenize(xmlElem->Attribute("position"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
@@ -98,5 +98,5 @@
         if (xmlElem->Attribute("direction"))
         {
-            std::vector<String> pos = tokenize(xmlElem->Attribute("direction"),",");
+            std::vector<std::string> pos = tokenize(xmlElem->Attribute("direction"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
@@ -125,5 +125,5 @@
         if (xmlElem->Attribute("scale"))
         {
-            String scaleStr = xmlElem->Attribute("scale");
+            std::string scaleStr = xmlElem->Attribute("scale");
             float scale;
             String2Number<float>(scale, scaleStr);
@@ -133,5 +133,5 @@
         if (xmlElem->Attribute("rotationAxis"))
         {
-            std::vector<String> pos = tokenize(xmlElem->Attribute("rotationAxis"),",");
+            std::vector<std::string> pos = tokenize(xmlElem->Attribute("rotationAxis"),",");
             float x, y, z;
             String2Number<float>(x, pos[0]);
Index: /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.cc	(revision 715)
@@ -59,5 +59,5 @@
   }
 
-  void AmmunitionDump::setDumpSize(const String &name, int size)
+  void AmmunitionDump::setDumpSize(const std::string &name, int size)
   {
     if (size < 0)
@@ -70,5 +70,5 @@
 
 
-  int AmmunitionDump::store(const String &name, int quantity)
+  int AmmunitionDump::store(const std::string &name, int quantity)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
@@ -87,5 +87,5 @@
 
 
-  int AmmunitionDump::getAmmunition(const String &name, int quantity)
+  int AmmunitionDump::getAmmunition(const std::string &name, int quantity)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
@@ -103,5 +103,5 @@
 
 
-  int AmmunitionDump::getStockSize(const String &name)
+  int AmmunitionDump::getStockSize(const std::string &name)
   {
     int id = Orxonox::getSingleton()->getBulletMgr()->getAmmunitionID(name);
Index: /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/weapon_system/AmmunitionDump.h	(revision 715)
@@ -30,4 +30,6 @@
 #define _AmmunitionDump_H__
 
+#include <string>
+
 #include <OgrePrerequisites.h>
 
@@ -36,5 +38,4 @@
 #include "network/Synchronisable.h"
 //#include "../core/CoreIncludes.h"
-#include "misc/String.h"
 #include "../BaseObject.h"
 
@@ -47,11 +48,11 @@
 	  ~AmmunitionDump();
 
-    void setDumpSize(const String &name, int size);
+    void setDumpSize(const std::string &name, int size);
 
-    int store(const String &name, int quantiy);
+    int store(const std::string &name, int quantiy);
 
-    int getAmmunition(const String &name, int quantity);
+    int getAmmunition(const std::string &name, int quantity);
 
-    int getStockSize(const String &name);
+    int getStockSize(const std::string &name);
 
     virtual void loadParams(TiXmlElement* xmlElem) { BaseObject::loadParams(xmlElem); };
Index: /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.cc	(revision 715)
@@ -82,7 +82,7 @@
   }
 
-  int BulletManager::getAmmunitionID(const String &ammoName)
+  int BulletManager::getAmmunitionID(const std::string &ammoName)
   {
-    String ammoTypes[] = { "Energy Cell", "Barrel", "Lead Shot" };
+    std::string ammoTypes[] = { "Energy Cell", "Barrel", "Lead Shot" };
     int ammoTypesLength = 3;
 
Index: /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/objects/weapon_system/BulletManager.h	(revision 715)
@@ -30,4 +30,6 @@
 #define _BulletManager_H__
 
+#include <string>
+
 #include <OgrePrerequisites.h>
 
@@ -37,5 +39,4 @@
 #include "tinyxml/tinyxml.h"
 //#include "../core/CoreIncludes.h"
-#include "misc/String.h"
 #include "../BaseObject.h"
 #include "../Tickable.h"
@@ -50,5 +51,5 @@
     void addBullet(Bullet*);
 
-    int getAmmunitionID(const String&);
+    int getAmmunitionID(const std::string&);
 
     int getNumberOfAmmos();
Index: /code/branches/FICN/src/orxonox/particle/ParticleInterface.cc
===================================================================
--- /code/branches/FICN/src/orxonox/particle/ParticleInterface.cc	(revision 714)
+++ /code/branches/FICN/src/orxonox/particle/ParticleInterface.cc	(revision 715)
@@ -43,5 +43,5 @@
   using namespace Ogre;
 
-  ParticleInterface::ParticleInterface( SceneManager *sceneManager, String name, String templateName )
+  ParticleInterface::ParticleInterface( SceneManager *sceneManager, std::string name, std::string templateName )
   {
     sceneManager_ = sceneManager;
Index: /code/branches/FICN/src/orxonox/particle/ParticleInterface.h
===================================================================
--- /code/branches/FICN/src/orxonox/particle/ParticleInterface.h	(revision 714)
+++ /code/branches/FICN/src/orxonox/particle/ParticleInterface.h	(revision 715)
@@ -1,4 +1,6 @@
 #ifndef _ParticleInterface_H__
 #define _ParticleInterface_H__
+
+#include <string>
 
 // #include "ParticleInterface.h"
@@ -14,5 +16,4 @@
 
 #include "misc/Vector3.h"
-#include "misc/String.h"
 #include "misc/ColourValue.h"
 
@@ -25,5 +26,5 @@
   public:
 
-    ParticleInterface( Ogre::SceneManager *sceneManager, String name, String templateName );
+    ParticleInterface( Ogre::SceneManager *sceneManager, std::string name, std::string templateName );
     ~ParticleInterface( void );
 
Index: /code/branches/FICN/visual_studio/benixonox.vcproj
===================================================================
--- /code/branches/FICN/visual_studio/benixonox.vcproj	(revision 714)
+++ /code/branches/FICN/visual_studio/benixonox.vcproj	(revision 715)
@@ -177,4 +177,8 @@
 				>
 			</File>
+			<File
+				RelativePath="..\src\orxonox\SpaceshipSteering.cc"
+				>
+			</File>
 			<Filter
 				Name="hud"
@@ -307,4 +311,8 @@
 				>
 			</File>
+			<File
+				RelativePath="..\src\orxonox\SpaceshipSteering.h"
+				>
+			</File>
 			<Filter
 				Name="hud"
