Index: branches/std/src/lib/graphics/importer/md2Model.cc
===================================================================
--- branches/std/src/lib/graphics/importer/md2Model.cc	(revision 7206)
+++ branches/std/src/lib/graphics/importer/md2Model.cc	(revision 7207)
@@ -79,5 +79,6 @@
   this->setClassID(CL_MD2_MODEL, "MD2Model");
   /* this creates the data container via ressource manager */
-  this->data = (MD2Data*)ResourceManager::getInstance()->load(modelFileName, MD2, RP_GAME, skinFileName, scale);
+  if (!modelFileName.empty())
+    this->data = (MD2Data*)ResourceManager::getInstance()->load(modelFileName, MD2, RP_GAME, skinFileName, scale);
   if( unlikely(this->data == NULL))
     PRINTF(0)("The model was not found, MD2Model Loader finished abnormaly. Update the data-repos\n");
Index: branches/std/src/lib/graphics/text_engine/text.cc
===================================================================
--- branches/std/src/lib/graphics/text_engine/text.cc	(revision 7206)
+++ branches/std/src/lib/graphics/text_engine/text.cc	(revision 7207)
@@ -32,9 +32,9 @@
  * @param type The renderType to display this font in
  */
-Text::Text(const char* fontFile, unsigned int textSize)
+Text::Text(const std::string& fontFile, unsigned int textSize)
 {
   this->init();
 
-  if (fontFile != NULL)
+  if (!fontFile.empty())
     this->setFont(fontFile, FONT_DEFAULT_RENDER_SIZE);
   this->setSizeY2D(textSize);
@@ -78,5 +78,5 @@
  * @param fontSize the Size of the Font
  */
-void Text::setFont(const char* fontFile, unsigned int fontSize)
+void Text::setFont(const std::string& fontFile, unsigned int fontSize)
 {
   Font* tmpFont;
@@ -90,5 +90,5 @@
 
   // load a new Font
-  if (fontFile != NULL)
+  if (!fontFile.empty())
   {
     tmpFont = (Font*)ResourceManager::getInstance()->load(fontFile, TTF, RP_GAME, (int)fontSize);
@@ -96,5 +96,5 @@
       this->font = tmpFont;
     else
-      PRINTF(2)("Font %s could not be loaded, probably file not found\n", fontFile);
+      PRINTF(2)("Font %s could not be loaded, probably file not found\n", fontFile.c_str());
   }
 }
Index: branches/std/src/lib/graphics/text_engine/text.h
===================================================================
--- branches/std/src/lib/graphics/text_engine/text.h	(revision 7206)
+++ branches/std/src/lib/graphics/text_engine/text.h	(revision 7207)
@@ -39,9 +39,9 @@
 {
   public:
-    Text(const char* fontFile = NULL, unsigned int fontSize = TEXT_DEFAULT_SIZE);
+    Text(const std::string& fontFile = "", unsigned int fontSize = TEXT_DEFAULT_SIZE);
     virtual ~Text();
     void init();
 
-    void setFont(const char* fontFile, unsigned int renderSize);
+    void setFont(const std::string& fontFile, unsigned int renderSize);
 
     void setText(const char* text, bool isExtern = false);
Index: branches/std/src/lib/shell/shell_input.cc
===================================================================
--- branches/std/src/lib/shell/shell_input.cc	(revision 7206)
+++ branches/std/src/lib/shell/shell_input.cc	(revision 7207)
@@ -41,5 +41,5 @@
  * this also generates a ShellCompletion automatically.
 */
-ShellInput::ShellInput () : Text ((const char*)NULL)
+ShellInput::ShellInput () : Text ("")
 {
   this->pressedKey = SDLK_FIRST;
Index: branches/std/src/lib/sound/sound_engine.cc
===================================================================
--- branches/std/src/lib/sound/sound_engine.cc	(revision 7206)
+++ branches/std/src/lib/sound/sound_engine.cc	(revision 7207)
@@ -117,5 +117,5 @@
    acctualy this is nothing more than a wrapper around the ResourceManager.
 */
-SoundSource* SoundEngine::createSource(const char* fileName, PNode* sourceNode)
+SoundSource* SoundEngine::createSource(const std::string& fileName, PNode* sourceNode)
 {
   return new SoundSource(sourceNode, (SoundBuffer*)ResourceManager::getInstance()->load(fileName, WAV, RP_LEVEL));
Index: branches/std/src/lib/sound/sound_engine.h
===================================================================
--- branches/std/src/lib/sound/sound_engine.h	(revision 7206)
+++ branches/std/src/lib/sound/sound_engine.h	(revision 7207)
@@ -33,5 +33,5 @@
     void loadSettings(IniParser* iniParser);
 
-    SoundSource* createSource(const char* fileName, PNode* sourceNode = NULL);
+    SoundSource* createSource(const std::string& fileName, PNode* sourceNode = NULL);
 
     /** @param listener the listener in the scene */
Index: branches/std/src/lib/util/loading/resource_manager.cc
===================================================================
--- branches/std/src/lib/util/loading/resource_manager.cc	(revision 7206)
+++ branches/std/src/lib/util/loading/resource_manager.cc	(revision 7207)
@@ -486,5 +486,5 @@
         {
           tmpResource->param[0] = param0;
-          tmpResource->pointer = new Shader(fullName, NULL);
+          tmpResource->pointer = new Shader(fullName, "");
         }
       }
Index: branches/std/src/world_entities/power_ups/power_up.cc
===================================================================
--- branches/std/src/world_entities/power_ups/power_up.cc	(revision 7206)
+++ branches/std/src/world_entities/power_ups/power_up.cc	(revision 7207)
@@ -33,5 +33,5 @@
   this->respawnStart = 10;
   this->model = NULL;
-/*  if(!PowerUp::sphereModel) {*/
+  /*  if(!PowerUp::sphereModel) {*/
 
   Model* sphereModel = new PrimitiveModel(PRIM_SPHERE, 7, 5);
@@ -75,40 +75,40 @@
 
 
-void PowerUp::loadPickupSound(const char* pickupSound)
+void PowerUp::loadPickupSound(const std::string& pickupSound)
 {
   if (this->pickupBuffer != NULL)
     ResourceManager::getInstance()->unload(this->pickupBuffer);
 
-  else if (pickupSound != NULL)
-{
-  this->pickupBuffer = (SoundBuffer*)ResourceManager::getInstance()->load(pickupSound, WAV);
-  if (this->pickupBuffer != NULL)
-  {
-    PRINTF(4)("Loaded sound %s to Pickup: %s.\n", pickupSound, this->getName());
-  }
-  else
-  {
-    PRINTF(2)("Failed to load sound %s to pickup %s.\n.", pickupSound, this->getName());
-  }
-}
+  else if (!pickupSound.empty())
+  {
+    this->pickupBuffer = (SoundBuffer*)ResourceManager::getInstance()->load(pickupSound, WAV);
+    if (this->pickupBuffer != NULL)
+    {
+      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", pickupSound.c_str(), this->getName());
+    }
+    else
+    {
+      PRINTF(2)("Failed to load sound %s to pickup %s.\n.", pickupSound.c_str(), this->getName());
+    }
+  }
   else
     this->pickupBuffer = NULL;
 }
 
-void PowerUp::loadRespawnSound(const char* respawnSound)
+void PowerUp::loadRespawnSound(const std::string& respawnSound)
 {
   if (this->respawnBuffer != NULL)
     ResourceManager::getInstance()->unload(this->respawnBuffer);
 
-  else if (respawnSound != NULL)
+  else if (!respawnSound.empty())
   {
     this->respawnBuffer = (SoundBuffer*)ResourceManager::getInstance()->load(respawnSound, WAV);
     if (this->respawnBuffer != NULL)
     {
-      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", respawnSound, this->getName());
+      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", respawnSound.c_str(), this->getName());
     }
     else
     {
-      PRINTF(2)("Failed to load sound %s to respawn %s.\n.", respawnSound, this->getName());
+      PRINTF(2)("Failed to load sound %s to respawn %s.\n.", respawnSound.c_str(), this->getName());
     }
   }
@@ -128,12 +128,13 @@
         this->soundSource.play(this->pickupBuffer);
 
-      switch(respawnType) {
-        case RESPAWN_NONE:
-          this->toList(OM_DEAD);
-          break;
-        case RESPAWN_TIME:
-          this->toList(OM_DEAD_TICK);
-          this->respawnTime = this->respawnStart;
-          break;
+      switch(respawnType)
+      {
+      case RESPAWN_NONE:
+        this->toList(OM_DEAD);
+        break;
+      case RESPAWN_TIME:
+        this->toList(OM_DEAD_TICK);
+        this->respawnTime = this->respawnStart;
+        break;
       }
     }
@@ -141,6 +142,8 @@
 }
 
-void PowerUp::tick(float dt) {
-  if(this->getOMListNumber() != OM_COMMON) {
+void PowerUp::tick(float dt)
+{
+  if(this->getOMListNumber() != OM_COMMON)
+  {
     this->respawnTime -= dt;
     if(this->respawnTime <= 0)
@@ -157,5 +160,6 @@
 void PowerUp::draw() const
 {
-  if(this->model != NULL) {
+  if(this->model != NULL)
+  {
     glMatrixMode(GL_MODELVIEW);
     glPushMatrix();
@@ -172,13 +176,16 @@
 }
 
-const char* PowerUp::respawnTypes[] = {
-  "none",
-  "time"
-};
+const char* PowerUp::respawnTypes[] =
+  {
+    "none",
+    "time"
+  };
 
 void PowerUp::setRespawnType(const char* type)
 {
-  for(int i = 0; i < RESPAWN_size; ++i) {
-    if(!strcmp(type, respawnTypes[i])) {
+  for(int i = 0; i < RESPAWN_size; ++i)
+  {
+    if(!strcmp(type, respawnTypes[i]))
+    {
       this->respawnType = (PowerUpRespawn)i;
       break;
Index: branches/std/src/world_entities/power_ups/power_up.h
===================================================================
--- branches/std/src/world_entities/power_ups/power_up.h	(revision 7206)
+++ branches/std/src/world_entities/power_ups/power_up.h	(revision 7207)
@@ -26,6 +26,6 @@
   void collidesWith (WorldEntity* entity, const Vector& location);
 
-  void loadPickupSound(const char* pickupSound);
-  void loadRespawnSound(const char* pickupSound);
+  void loadPickupSound(const std::string& pickupSound);
+  void loadRespawnSound(const std::string& respawnSound);
 
   virtual void draw () const;
Index: branches/std/src/world_entities/projectiles/projectile.cc
===================================================================
--- branches/std/src/world_entities/projectiles/projectile.cc	(revision 7206)
+++ branches/std/src/world_entities/projectiles/projectile.cc	(revision 7207)
@@ -61,19 +61,19 @@
 
 
-void Projectile::loadExplosionSound(const char* explosionSound)
+void Projectile::loadExplosionSound(const std::string& explosionSound)
 {
   if (this->explosionBuffer != NULL)
     ResourceManager::getInstance()->unload(this->explosionBuffer);
 
-  else if (explosionSound != NULL)
+  else if (!explosionSound.empty())
   {
     this->explosionBuffer = (SoundBuffer*)ResourceManager::getInstance()->load(explosionSound, WAV);
     if (this->explosionBuffer != NULL)
     {
-      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", explosionSound, this->getName());
+      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", explosionSound.c_str(), this->getName());
     }
     else
     {
-      PRINTF(2)("Failed to load sound %s to explosion %s.\n.", explosionSound, this->getName());
+      PRINTF(2)("Failed to load sound %s to explosion %s.\n.", explosionSound.c_str(), this->getName());
     }
   }
@@ -83,19 +83,19 @@
 
 
-void Projectile::loadEngineSound(const char* engineSound)
+void Projectile::loadEngineSound(const std::string& engineSound)
 {
   if (this->engineBuffer != NULL)
     ResourceManager::getInstance()->unload(this->engineBuffer);
 
-  else if (engineSound != NULL)
+  else if (!engineSound.empty())
   {
     this->engineBuffer = (SoundBuffer*)ResourceManager::getInstance()->load(engineSound, WAV);
     if (this->engineBuffer != NULL)
     {
-      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", engineSound, this->getName());
+      PRINTF(4)("Loaded sound %s to Pickup: %s.\n", engineSound.c_str(), this->getName());
     }
     else
     {
-      PRINTF(2)("Failed to load sound %s to engine %s.\n.", engineSound, this->getName());
+      PRINTF(2)("Failed to load sound %s to engine %s.\n.", engineSound.c_str(), this->getName());
     }
   }
Index: branches/std/src/world_entities/projectiles/projectile.h
===================================================================
--- branches/std/src/world_entities/projectiles/projectile.h	(revision 7206)
+++ branches/std/src/world_entities/projectiles/projectile.h	(revision 7207)
@@ -26,6 +26,6 @@
     void setLifeSpan(float lifeSpan);
 
-    void loadExplosionSound(const char* explosionSound);
-    void loadEngineSound(const char* engineSound);
+    void loadExplosionSound(const std::string& explosionSound);
+    void loadEngineSound(const std::string& engineSound);
     void setMinEnergy(float energyMin);
     /** @returns the minimal charched energy */
Index: branches/std/src/world_entities/space_ships/helicopter.cc
===================================================================
--- branches/std/src/world_entities/space_ships/helicopter.cc	(revision 7206)
+++ branches/std/src/world_entities/space_ships/helicopter.cc	(revision 7207)
@@ -110,5 +110,5 @@
   this->loadModel("models/ships/helicopter_#.obj", 1.0);
 
-  EventHandler::getInstance()->grabEvents(true);
+  //EventHandler::getInstance()->grabEvents(true);
 
   bUp = bDown = bLeft = bRight = bAscend = bDescend = bRollL = bRollR = false;
Index: branches/std/src/world_entities/terrain.cc
===================================================================
--- branches/std/src/world_entities/terrain.cc	(revision 7206)
+++ branches/std/src/world_entities/terrain.cc	(revision 7207)
@@ -175,12 +175,12 @@
 
 
-void Terrain::loadVegetation(const char* vegetationFile)
-{
-  PRINTF(0)("loadVegetation: %s\n", vegetationFile);
+void Terrain::loadVegetation(const std::string& vegetationFile)
+{
+  PRINTF(0)("loadVegetation: %s\n", vegetationFile.c_str());
   if (this->vegetation)
     ResourceManager::getInstance()->unload(this->vegetation, RP_LEVEL);
-  if (vegetationFile != NULL)
+  if (!vegetationFile.empty())
   {
-    PRINTF(4)("fetching %s\n", vegetationFile);
+    PRINTF(4)("fetching %s\n", vegetationFile.c_str());
     this->vegetation = dynamic_cast<Model*>(ResourceManager::getInstance()->load(vegetationFile, OBJ, RP_CAMPAIGN));
   }
Index: branches/std/src/world_entities/terrain.h
===================================================================
--- branches/std/src/world_entities/terrain.h	(revision 7206)
+++ branches/std/src/world_entities/terrain.h	(revision 7207)
@@ -41,5 +41,5 @@
   virtual void loadParams(const TiXmlElement* root);
 
-  void loadVegetation(const char* vegetationFile);
+  void loadVegetation(const std::string& vegetationFile);
 
   void loadHeightMap(const char* heightMapFile, const char* colorMap = NULL);
Index: branches/std/src/world_entities/weapons/weapon.cc
===================================================================
--- branches/std/src/world_entities/weapons/weapon.cc	(revision 7206)
+++ branches/std/src/world_entities/weapons/weapon.cc	(revision 7207)
@@ -232,5 +232,5 @@
  * @param soundFile the soundFile's relative position to the data-directory (will be looked for by the ResourceManager)
  */
-void Weapon::setActionSound(WeaponAction action, const char* soundFile)
+void Weapon::setActionSound(WeaponAction action, const std::string& soundFile)
 {
   if (action >= WA_ACTION_COUNT)
@@ -239,14 +239,14 @@
     ResourceManager::getInstance()->unload(this->soundBuffers[action]);
 
-  else if (soundFile != NULL)
+  else if (!soundFile.empty())
   {
     this->soundBuffers[action] = (SoundBuffer*)ResourceManager::getInstance()->load(soundFile, WAV);
     if (this->soundBuffers[action] != NULL)
     {
-      PRINTF(4)("Loaded sound %s to action %s.\n", soundFile, actionToChar(action));
+      PRINTF(4)("Loaded sound %s to action %s.\n", soundFile.c_str(), actionToChar(action));
     }
     else
     {
-      PRINTF(2)("Failed to load sound %s to %s.\n.", soundFile, actionToChar(action));
+      PRINTF(2)("Failed to load sound %s to %s.\n.", soundFile.c_str(), actionToChar(action));
     }
   }
Index: branches/std/src/world_entities/weapons/weapon.h
===================================================================
--- branches/std/src/world_entities/weapons/weapon.h	(revision 7206)
+++ branches/std/src/world_entities/weapons/weapon.h	(revision 7207)
@@ -148,5 +148,5 @@
     inline void setAmmoContainer(const CountPointer<AmmoContainer>& ammoContainer) { this->ammoContainer = ammoContainer;}
 
-    void setActionSound(WeaponAction action, const char* soundFile);
+    void setActionSound(WeaponAction action, const std::string& soundFile);
     /** @see void setActionSound(WeaponAction action, const char* soundFile); */
     void setActionSound(const char* action, const char* soundFile) { this->setActionSound(charToAction(action), soundFile); };
