Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 4090)
+++ /orxonox/trunk/src/Makefile.am	(revision 4091)
@@ -131,4 +131,5 @@
 		 defs/error.h \
 		 defs/debug.h \
+		 defs/globals.h \
 		 lib/coord/p_node.h \
 		 lib/coord/null_parent.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 4090)
+++ /orxonox/trunk/src/Makefile.in	(revision 4091)
@@ -372,4 +372,5 @@
 		 defs/error.h \
 		 defs/debug.h \
+		 defs/globals.h \
 		 lib/coord/p_node.h \
 		 lib/coord/null_parent.h \
Index: /orxonox/trunk/src/command_node.cc
===================================================================
--- /orxonox/trunk/src/command_node.cc	(revision 4090)
+++ /orxonox/trunk/src/command_node.cc	(revision 4091)
@@ -126,7 +126,7 @@
   // create parser
   IniParser parser (filename);
-  if( parser.getSection ("player1") == -1)
-    {
-      PRINTF(1)("Could not find key bindings in %s\n", filename);
+  if( parser.getSection (CONFIG_SECTION_PLAYER "1") == -1)
+    {
+      PRINTF(1)("Could not find key bindings " CONFIG_SECTION_PLAYER"1 in %s\n", filename);
       return;
     }
@@ -162,5 +162,5 @@
 
   // PARSE MISC SECTION
-  if( parser.getSection ("miscKeys") == -1)
+  if( parser.getSection (CONFIG_SECTION_MISC_KEYS) == -1)
     {
       PRINTF(1)("Could not find key bindings in %s\n", filename);
Index: /orxonox/trunk/src/defs/globals.h
===================================================================
--- /orxonox/trunk/src/defs/globals.h	(revision 4091)
+++ /orxonox/trunk/src/defs/globals.h	(revision 4091)
@@ -0,0 +1,67 @@
+/*!
+  \file globals.h
+  \brief This file defines some default values.
+  
+  no Class is defined here.
+*/
+
+#ifndef _DEFAULTS_H
+#define _DEFAULTS_H
+
+#define DEFAULT_CONFIG_FILE "~/.orxonox/orxonox.conf"
+#define DEFAULT_DATA_DIR "/usr/share/orxonox/data/"
+#define DEFAULT_DATA_DIR_CHECKFILE "data.oxd"
+
+// Defines all the Sections of the Config (in Gui and ORxonox)
+//! Name of Section Misc in the config-File
+#define CONFIG_SECTION_MISC "misc"
+#define CONFIG_SECTION_MISC_KEYS "miscKeys"
+#define CONFIG_SECTION_PLAYER "player"
+#define CONFIG_SECTION_VIDEO "video"
+#define CONFIG_SECTION_VIDEO_ADVANCED "video_advanced"
+#define CONFIG_SECTION_AUDIO "audio"
+#define CONFIG_SECTION_EXEC "exec"
+#define CONFIG_SECTION_DATA "data"
+
+/*
+  TAGS for all the Configuration Options
+  Consider they may __not__ have any WhiteSpaces inside
+*/
+#define CONFIG_NAME_DATADIR "DataDir"
+#define CONFIG_NAME_AUTO_UPDATE "Auto-Update"
+#define CONFIG_NAME_FULLSCREEN "Fullscreen-mode"
+#define CONFIG_NAME_RESOLUTION "Resolution"
+#define CONFIG_NAME_WIREFRAME "WireFrame-mode"
+#define CONFIG_NAME_SHADOWS "Shadows"
+#define CONFIG_NAME_FOG "Fog"
+#define CONFIG_NAME_REFLECTIONS "Reflections"
+#define CONFIG_NAME_TEXTURES "TEXTURES"
+#define CONFIG_NAME_TEXTURE_DETAIL "Texture-Detail"
+#define CONFIG_NAME_MODEL_DETAIL "Model-Detail"
+#define CONFIG_NAME_ANTI_ALIASING "Anti-Aliasing"
+#define CONFIG_NAME_FILTER_METHOD "Filtering-Method"
+#define CONFIG_NAME_DISABLE_AUDIO "Disable-Audio"
+#define CONFIG_NAME_MUSIC_VOLUME "Music-Volume"
+#define CONFIG_NAME_EFFECTS_VOLUME "Effects-Volume"
+#define CONFIG_NAME_SAVE_SETTINGS "Save-Settings"
+#define CONFIG_NAME_VERBOSE_MODE "Verbose-Mode"
+#define CONFIG_NAME_ALWAYS_SHOW_GUI "Always-Show-The-Gui"
+#define CONFIG_NAME_PLAYER_UP "Up"
+#define CONFIG_NAME_PLAYER_DOWN "Down"
+#define CONFIG_NAME_PLAYER_LEFT "Left"
+#define CONFIG_NAME_PLAYER_RIGHT "Right"
+#define CONFIG_NAME_PLAYER_FIRE "Fire"
+#define CONFIG_NAME_PLAYER_NEXT_WEAPON "Next"
+#define CONFIG_NAME_PLAYER_PREV_WEAPON "Prev"
+#define CONFIG_NAME_QUIT "Quit"
+#define CONFIG_NAME_PAUSE "Pause"
+#define CONFIG_NAME_NEXT_WORLD "Next-World"
+#define CONFIG_NAME_PREV_WORLD "Prev-World"
+#define CONFIG_NAME_VIEW0 "view0"
+#define CONFIG_NAME_VIEW1 "view1"
+#define CONFIG_NAME_VIEW2 "view2"
+#define CONFIG_NAME_VIEW3 "view3"
+#define CONFIG_NAME_VIEW4 "view4"
+#define CONFIG_NAME_VIEW5 "view5"
+
+#endif /* _DEFAULTS_H */
Index: /orxonox/trunk/src/defs/stdincl.h
===================================================================
--- /orxonox/trunk/src/defs/stdincl.h	(revision 4090)
+++ /orxonox/trunk/src/defs/stdincl.h	(revision 4091)
@@ -25,4 +25,5 @@
 #include "error.h"
 #include "debug.h"
+#include "globals.h"
 
 #include "compiler.h"
Index: /orxonox/trunk/src/game_loader.cc
===================================================================
--- /orxonox/trunk/src/game_loader.cc	(revision 4090)
+++ /orxonox/trunk/src/game_loader.cc	(revision 4091)
@@ -214,5 +214,5 @@
 bool GameLoader::worldCommand (Command* cmd)
 {
-  if( !strcmp( cmd->cmd, "up_world"))
+  if( !strcmp( cmd->cmd, CONFIG_NAME_NEXT_WORLD))
     {
       if( !cmd->bUp) 
@@ -222,5 +222,5 @@
       return true;
     }
-  else if( !strcmp( cmd->cmd, "down_world"))
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_PREV_WORLD))
     {
       if( !cmd->bUp)
@@ -230,5 +230,5 @@
       return true;
     }
-  else if( !strcmp( cmd->cmd, "pause"))
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_PAUSE))
     {
       if( !cmd->bUp)
@@ -241,5 +241,5 @@
       return true;
     }
-  else if( !strcmp( cmd->cmd, "quit"))
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_QUIT))
     {
       if( !cmd->bUp) this->stop();
Index: /orxonox/trunk/src/lib/gui/gui/gui_audio.cc
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_audio.cc	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_audio.cc	(revision 4091)
@@ -36,5 +36,5 @@
 
   audioFrame = new Frame("Audio-Options:");
-  audioFrame->setGroupName("audio");
+  audioFrame->setGroupName(CONFIG_SECTION_AUDIO);
   {
     Box* audioBox;            //!< The Box that holds the audio Options.
@@ -45,9 +45,9 @@
       Slider* effectsVolume;    //!< A Slider for effects volume.
       
-      enableSound = new CheckButton("Disable Sound");
+      enableSound = new CheckButton(CONFIG_NAME_DISABLE_AUDIO);
       enableSound->setFlagName ("no-sound", 0);
       enableSound->saveability();
       audioBox->fill(enableSound);
-      Label* musicVolumeLabel = new Label("Music Volume");
+      Label* musicVolumeLabel = new Label(CONFIG_NAME_MUSIC_VOLUME);
       audioBox->fill(musicVolumeLabel);
       musicVolume = new Slider("Music Volume", 0, 100);
@@ -55,5 +55,5 @@
       musicVolume->saveability();
       audioBox->fill (musicVolume);
-      Label* effectsVolumeLabel = new Label ("Effects Volume");
+      Label* effectsVolumeLabel = new Label (CONFIG_NAME_EFFECTS_VOLUME);
       audioBox->fill (effectsVolumeLabel);
       effectsVolume = new Slider ("Effects Volume", 0, 100);
Index: /orxonox/trunk/src/lib/gui/gui/gui_exec.cc
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_exec.cc	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_exec.cc	(revision 4091)
@@ -53,5 +53,5 @@
 
     execBox = new Box('v');
-    execFrame->setGroupName("misc");
+    execFrame->setGroupName(CONFIG_SECTION_MISC);
     {
       Button* start;               //!< The start Button of orxonox.
@@ -65,15 +65,15 @@
 #endif /* HAVE_GTK2 */
       execBox->fill(start);
-      this->saveSettings = new CheckButton("Save Settings");
+      this->saveSettings = new CheckButton(CONFIG_NAME_SAVE_SETTINGS);
       this->saveSettings->value = 1;
       this->saveSettings->saveability();
       execBox->fill(this->saveSettings);
 
-      verboseMode = new Menu("verbose mode", "nothing", "error", "warning", "info", "lastItem");
+      verboseMode = new Menu(CONFIG_NAME_VERBOSE_MODE, "nothing", "error", "warning", "info", "lastItem");
       verboseMode->setFlagName("verbose", "v", 2);
       verboseMode->saveability();
       execBox->fill(verboseMode);
 
-      alwaysShow = new CheckButton("Always Show this Menu");
+      alwaysShow = new CheckButton(CONFIG_NAME_ALWAYS_SHOW_GUI);
       alwaysShow->setFlagName("gui", "g", 0);
       alwaysShow->saveability();
Index: /orxonox/trunk/src/lib/gui/gui/gui_gtk.h
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_gtk.h	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_gtk.h	(revision 4091)
@@ -11,4 +11,5 @@
 
 #include "debug.h"
+#include "globals.h"
 
 #ifdef HAVE_GTK2
Index: /orxonox/trunk/src/lib/gui/gui/gui_keys.cc
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_keys.cc	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_keys.cc	(revision 4091)
@@ -50,6 +50,6 @@
 	PlayerKeys* player2;       //!< The seconds Player's keys.
 	
-	player1 = new PlayerKeys("player1");
-	player2 = new PlayerKeys("player2");
+	player1 = new PlayerKeys(CONFIG_SECTION_PLAYER "1");
+	player2 = new PlayerKeys(CONFIG_SECTION_PLAYER "2");
 	
 	keysBox1->fill(player1->getOpenButton());
@@ -115,9 +115,11 @@
 
 	pKeysBox->setGroupName(player);
-	pKeysBox->fill(addKey("up", "UP"));
-	pKeysBox->fill(addKey("down", "DOWN"));
-	pKeysBox->fill(addKey("left", "LEFT"));
-	pKeysBox->fill(addKey("right", "RIGHT"));
-	pKeysBox->fill(addKey("fire", "SPACE"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_UP, "UP"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_DOWN, "DOWN"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_LEFT, "LEFT"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_RIGHT, "RIGHT"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_FIRE, "SPACE"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_NEXT_WEAPON, "m"));
+	pKeysBox->fill(addKey(CONFIG_NAME_PLAYER_PREV_WEAPON, "n"));
 	closeButton = new Button("close");
 #ifdef HAVE_GTK2
@@ -174,15 +176,15 @@
 	Button* closeButton;    //!< The CloseButton for this key-settings.
 
-	keysBox->setGroupName("miscKeys");
-	keysBox->fill(addKey( "quit", "ESCAPE"));
-	keysBox->fill(addKey("pause", "PAUSE"));
-	keysBox->fill(addKey("up_world", "x"));
-	keysBox->fill(addKey("down_world", "z"));
-	keysBox->fill(addKey("view0", "1"));
-	keysBox->fill(addKey("view1", "2"));
-	keysBox->fill(addKey("view2", "3"));
-	keysBox->fill(addKey("view3", "4"));
-	keysBox->fill(addKey("view4", "5"));
-	keysBox->fill(addKey("view5", "6"));
+	keysBox->setGroupName(CONFIG_SECTION_MISC_KEYS);
+	keysBox->fill(addKey(CONFIG_NAME_QUIT , "ESCAPE"));
+	keysBox->fill(addKey(CONFIG_NAME_PAUSE, "PAUSE"));
+	keysBox->fill(addKey(CONFIG_NAME_NEXT_WORLD, "x"));
+	keysBox->fill(addKey(CONFIG_NAME_PREV_WORLD, "z"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW0, "1"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW1, "2"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW2, "3"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW3, "4"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW4, "5"));
+	keysBox->fill(addKey(CONFIG_NAME_VIEW5, "6"));
 
 	closeButton = new Button("close");
Index: /orxonox/trunk/src/lib/gui/gui/gui_update.cc
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_update.cc	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_update.cc	(revision 4091)
@@ -50,9 +50,9 @@
 
   this->updateFrame = new Frame("Update-Options:");
-  this->updateFrame->setGroupName("update");
+  this->updateFrame->setGroupName(CONFIG_SECTION_DATA);
   this->updateBox = new Box('v');
 
-  dataDirButton = new Button("Data Directory");
-  dataDirLabel = new OptionLabel("DataDir", "unknown");
+  dataDirButton = new Button(CONFIG_NAME_DATADIR);
+  dataDirLabel = new OptionLabel(CONFIG_NAME_DATADIR, "unknown");
   dataDirLabel->saveability();
   dataDirDialog = new FileDialog("data-Repos-location");
@@ -70,5 +70,5 @@
 
   // the Button for autoUpdating
-  this->autoUpdate = new CheckButton("auto update");
+  this->autoUpdate = new CheckButton(CONFIG_NAME_AUTO_UPDATE);
   this->updateBox->fill(this->autoUpdate);
   this->autoUpdate->setFlagName("update", "u", 0);
Index: /orxonox/trunk/src/lib/gui/gui/gui_video.cc
===================================================================
--- /orxonox/trunk/src/lib/gui/gui/gui_video.cc	(revision 4090)
+++ /orxonox/trunk/src/lib/gui/gui/gui_video.cc	(revision 4091)
@@ -49,14 +49,14 @@
       CheckButton* wireframe;   //!< CheckButton for wireframe Mode.
 
-      fullscreen = new CheckButton("Fullscreen-mode");
+      fullscreen = new CheckButton(CONFIG_NAME_FULLSCREEN);
       fullscreen->setFlagName("windowed", "q", 1);
       fullscreen->saveability();
       videoBox->fill(fullscreen);
-      resolution = new Menu("Resolution");
+      resolution = new Menu(CONFIG_NAME_RESOLUTION);
       getResolutions(resolution);
       resolution->saveability();
       resolution->setFlagName("resolution", "r", 0);
       videoBox->fill(resolution);
-      wireframe = new CheckButton("WireFrame-mode");
+      wireframe = new CheckButton(CONFIG_NAME_WIREFRAME);
       wireframe->setFlagName("wireframe", "w", 0);
       wireframe->saveability();
@@ -91,5 +91,5 @@
   // the Window itself
   advancedWindow = new Window("Advanced Video Options");
-  advancedWindow->setGroupName("advancedVideoOptions");
+  advancedWindow->setGroupName(CONFIG_SECTION_VIDEO_ADVANCED);
   {
     Box* advancedBox;         //!< A Box to pack the options into.
@@ -111,28 +111,28 @@
 
       // Advanced Performance Options
-      shadows = new CheckButton("Shadows");
+      shadows = new CheckButton(CONFIG_NAME_SHADOWS);
       shadows->saveability();
       advancedBox->fill(shadows);
       
-      fog = new CheckButton("Fog");
+      fog = new CheckButton(CONFIG_NAME_FOG);
       fog->saveability();
       advancedBox->fill(fog);
       
-      reflections = new CheckButton("Reflections");
+      reflections = new CheckButton(CONFIG_NAME_REFLECTIONS);
       reflections->saveability();
       advancedBox->fill(reflections);
       
-      textures = new CheckButton("Textures");
+      textures = new CheckButton(CONFIG_NAME_TEXTURES);
       textures->saveability();
       advancedBox->fill(textures);
       
-      textureDetail = new Menu("Texture Detail", "low", "medium", "high", "lastItem");
+      textureDetail = new Menu(CONFIG_NAME_TEXTURE_DETAIL, "low", "medium", "high", "lastItem");
       textureDetail->setDefaultValue(1);
       textureDetail->saveability();
       advancedBox->fill(textureDetail);
       
-      modelDetailLabel = new Label("Model Detail");
+      modelDetailLabel = new Label(CONFIG_NAME_MODEL_DETAIL);
       advancedBox->fill(modelDetailLabel);
-      modelDetail = new Menu("Model Detail", "low", "high", "lastItem");
+      modelDetail = new Menu(CONFIG_NAME_MODEL_DETAIL, "low", "high", "lastItem");
       modelDetail->setDefaultValue(1);
       modelDetail->saveability();
@@ -141,5 +141,5 @@
       antiAliasingLabel = new Label("Anti-Aliasing-depth:");
       advancedBox->fill(antiAliasingLabel);
-      antiAliasing = new Menu("Anti Aliasing", "0", "1", "2", "4", "8",  "lastItem");
+      antiAliasing = new Menu(CONFIG_NAME_ANTI_ALIASING, "0", "1", "2", "4", "8",  "lastItem");
       antiAliasing->setDefaultValue(2);
       antiAliasing->saveability();
@@ -148,5 +148,5 @@
       filterMethodLabel = new Label("Filtering Method:");
       advancedBox->fill(filterMethodLabel);
-      filterMethod = new Menu("Filtering Method", "none", "linear", "bilinear", "trilinear", "anisortopic", "lastItem");
+      filterMethod = new Menu(CONFIG_NAME_FILTER_METHOD, "none", "linear", "bilinear", "trilinear", "anisortopic", "lastItem");
       filterMethod->setDefaultValue(1);
       filterMethod->saveability();
Index: /orxonox/trunk/src/orxonox.cc
===================================================================
--- /orxonox/trunk/src/orxonox.cc	(revision 4090)
+++ /orxonox/trunk/src/orxonox.cc	(revision 4091)
@@ -32,4 +32,5 @@
 #include "data_tank.h"
 #include "command_node.h"
+#include "ini_parser.h"
 #include "game_loader.h"
 #include "graphics_engine.h"
@@ -173,12 +174,45 @@
 int Orxonox::initResources() 
 {
-  //  printf("Not yet implemented\n");
   PRINT(3)("initializing ResourceManager\n");
   resourceManager = ResourceManager::getInstance();
-  if (!resourceManager->setDataDir("../data/"))
-    {
-      PRINTF(1)("Data Could not be located\n");
+
+  // create parser
+  IniParser parser (DEFAULT_CONFIG_FILE);
+  if( parser.getSection (CONFIG_SECTION_DATA) == -1)
+    {
+      PRINTF(1)("Could not find Section %s in %s\n", CONFIG_SECTION_DATA, DEFAULT_CONFIG_FILE);
+      return -1;
+    }
+  char namebuf[256];
+  char valuebuf[256];
+  memset (namebuf, 0, 256);
+  memset (valuebuf, 0, 256);
+  
+  while( parser.nextVar (namebuf, valuebuf) != -1)
+    {
+      if (!strcmp(namebuf, CONFIG_NAME_DATADIR))
+	{
+	  //  printf("Not yet implemented\n");
+	  if (!resourceManager->setDataDir(valuebuf))
+	    {
+	      PRINTF(1)("Data Could not be located\n");
+	      exit(-1);
+	    }
+	}
+      
+      memset (namebuf, 0, 256);
+      memset (valuebuf, 0, 256);
+    }
+  
+  if (!resourceManager->checkDataDir(DEFAULT_DATA_DIR_CHECKFILE))
+    {
+      PRINTF(1)("The DataDirectory %s could not be verified\nPlease Change in File %s Section %s Entry %s to a suitable value\n",
+		resourceManager->getDataDir(),
+		DEFAULT_CONFIG_FILE,
+		CONFIG_SECTION_DATA,
+		CONFIG_NAME_DATADIR);
       exit(-1);
     }
+
 
   PRINT(3)("initializing TextEngine\n");
Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4090)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4091)
@@ -1219,10 +1219,10 @@
 bool World::command(Command* cmd)
 {
-  if( !strcmp( cmd->cmd, "view0")) this->localCamera->setViewMode(VIEW_NORMAL);
-  else if( !strcmp( cmd->cmd, "view1")) this->localCamera->setViewMode(VIEW_BEHIND);
-  else if( !strcmp( cmd->cmd, "view2")) this->localCamera->setViewMode(VIEW_FRONT);
-  else if( !strcmp( cmd->cmd, "view3")) this->localCamera->setViewMode(VIEW_LEFT);
-  else if( !strcmp( cmd->cmd, "view4")) this->localCamera->setViewMode(VIEW_RIGHT);
-  else if( !strcmp( cmd->cmd, "view5")) this->localCamera->setViewMode(VIEW_TOP);
+  if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW0)) this->localCamera->setViewMode(VIEW_NORMAL);
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW1)) this->localCamera->setViewMode(VIEW_BEHIND);
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW2)) this->localCamera->setViewMode(VIEW_FRONT);
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW3)) this->localCamera->setViewMode(VIEW_LEFT);
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW4)) this->localCamera->setViewMode(VIEW_RIGHT);
+  else if( !strcmp( cmd->cmd, CONFIG_NAME_VIEW5)) this->localCamera->setViewMode(VIEW_TOP);
 
   return false;
Index: /orxonox/trunk/src/util/resource_manager.cc
===================================================================
--- /orxonox/trunk/src/util/resource_manager.cc	(revision 4090)
+++ /orxonox/trunk/src/util/resource_manager.cc	(revision 4091)
@@ -99,4 +99,24 @@
       return false;
     }
+}
+
+/**
+   \brief checks for the DataDirectory, by looking if 
+   \param fileInside is inisde??
+*/
+bool ResourceManager::checkDataDir(const char* fileInside)
+{
+  bool retVal;
+  if (!isDir(this->dataDir))
+    {
+      PRINTF(1)("%s is not a directory\n", this->dataDir);
+      return false;
+    }
+  
+  char* testFile = new char[strlen(this->dataDir)+strlen(fileInside)+1];
+  sprintf(testFile, "%s%s", this->dataDir, fileInside);
+  retVal = isFile(testFile);
+  delete testFile;
+  return retVal;
 }
 
Index: /orxonox/trunk/src/util/resource_manager.h
===================================================================
--- /orxonox/trunk/src/util/resource_manager.h	(revision 4090)
+++ /orxonox/trunk/src/util/resource_manager.h	(revision 4091)
@@ -65,4 +65,7 @@
 
   bool setDataDir(const char* dataDir);
+  /** \returns the Name of the data directory */
+  const char*  getDataDir(void) {return this->dataDir;}
+  bool checkDataDir(const char* fileInside);
   bool addImageDir(char* imageDir);
   void* load(const char* fileName, ResourcePriority prio = RP_NO,
Index: /orxonox/trunk/src/world_entities/player.cc
===================================================================
--- /orxonox/trunk/src/world_entities/player.cc	(revision 4090)
+++ /orxonox/trunk/src/world_entities/player.cc	(revision 4091)
@@ -294,9 +294,9 @@
 {
   PRINTF(3)("recieved command [%s]\n", cmd->cmd);
-  if( !strcmp( cmd->cmd, "up")) this->bUp = !cmd->bUp;
-  if( !strcmp( cmd->cmd, "down")) this->bDown = !cmd->bUp;
-  if( !strcmp( cmd->cmd, "left")) this->bLeft = !cmd->bUp;
-  if( !strcmp( cmd->cmd, "right")) this->bRight = !cmd->bUp;
-  if( !strcmp( cmd->cmd, "fire")) this->bFire = !cmd->bUp;
-  if( !strcmp( cmd->cmd, "mode")) if(cmd->bUp) this->bWeaponChange = !this->bWeaponChange;
-}
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_UP)) this->bUp = !cmd->bUp;
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_DOWN)) this->bDown = !cmd->bUp;
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_LEFT)) this->bLeft = !cmd->bUp;
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_RIGHT)) this->bRight = !cmd->bUp;
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_FIRE)) this->bFire = !cmd->bUp;
+  if( !strcmp( cmd->cmd, CONFIG_NAME_PLAYER_NEXT_WEAPON)) if(cmd->bUp) this->bWeaponChange = !this->bWeaponChange;
+}
