Index: orxonox/trunk/src/subprojects/collision_detection/Makefile.am
===================================================================
--- orxonox/trunk/src/subprojects/collision_detection/Makefile.am	(revision 5029)
+++ orxonox/trunk/src/subprojects/collision_detection/Makefile.am	(revision 5030)
@@ -34,4 +34,5 @@
                    $(MAINSRCDIR)/lib/lang/class_list.cc \
                    $(MAINSRCDIR)/lib/math/vector.cc \
+                   $(MAINSRCDIR)/lib/util/color.cc \
                    $(MAINSRCDIR)/util/resource_manager.cc \
                    $(MAINSRCDIR)/lib/coord/p_node.cc \
Index: orxonox/trunk/src/subprojects/collision_detection/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/collision_detection/Makefile.in	(revision 5029)
+++ orxonox/trunk/src/subprojects/collision_detection/Makefile.in	(revision 5030)
@@ -60,5 +60,5 @@
 	collision-state.$(OBJEXT) collision-base_object.$(OBJEXT) \
 	collision-class_list.$(OBJEXT) collision-vector.$(OBJEXT) \
-	collision-resource_manager.$(OBJEXT) \
+	collision-color.$(OBJEXT) collision-resource_manager.$(OBJEXT) \
 	collision-p_node.$(OBJEXT) collision-null_parent.$(OBJEXT) \
 	collision-gui_gtk.$(OBJEXT) collision-test_entity.$(OBJEXT) \
@@ -87,4 +87,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/collision-class_list.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/collision-collision_detection.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/collision-color.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/collision-element_2d.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/collision-environment.Po \
@@ -253,4 +254,5 @@
                    $(MAINSRCDIR)/lib/lang/class_list.cc \
                    $(MAINSRCDIR)/lib/math/vector.cc \
+                   $(MAINSRCDIR)/lib/util/color.cc \
                    $(MAINSRCDIR)/util/resource_manager.cc \
                    $(MAINSRCDIR)/lib/coord/p_node.cc \
@@ -339,4 +341,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision-class_list.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision-collision_detection.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision-color.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision-element_2d.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision-environment.Po@am__quote@
@@ -615,4 +618,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(collision_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision-vector.obj `if test -f '$(MAINSRCDIR)/lib/math/vector.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/math/vector.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/math/vector.cc'; fi`
+
+collision-color.o: $(MAINSRCDIR)/lib/util/color.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(collision_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT collision-color.o -MD -MP -MF "$(DEPDIR)/collision-color.Tpo" -c -o collision-color.o `test -f '$(MAINSRCDIR)/lib/util/color.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/lib/util/color.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/collision-color.Tpo" "$(DEPDIR)/collision-color.Po"; else rm -f "$(DEPDIR)/collision-color.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/lib/util/color.cc' object='collision-color.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/collision-color.Po' tmpdepfile='$(DEPDIR)/collision-color.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(collision_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision-color.o `test -f '$(MAINSRCDIR)/lib/util/color.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/lib/util/color.cc
+
+collision-color.obj: $(MAINSRCDIR)/lib/util/color.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(collision_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT collision-color.obj -MD -MP -MF "$(DEPDIR)/collision-color.Tpo" -c -o collision-color.obj `if test -f '$(MAINSRCDIR)/lib/util/color.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/util/color.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/util/color.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/collision-color.Tpo" "$(DEPDIR)/collision-color.Po"; else rm -f "$(DEPDIR)/collision-color.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/lib/util/color.cc' object='collision-color.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/collision-color.Po' tmpdepfile='$(DEPDIR)/collision-color.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(collision_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o collision-color.obj `if test -f '$(MAINSRCDIR)/lib/util/color.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/util/color.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/util/color.cc'; fi`
 
 collision-resource_manager.o: $(MAINSRCDIR)/util/resource_manager.cc
Index: orxonox/trunk/src/subprojects/framework.cc
===================================================================
--- orxonox/trunk/src/subprojects/framework.cc	(revision 5029)
+++ orxonox/trunk/src/subprojects/framework.cc	(revision 5030)
@@ -32,37 +32,28 @@
 {
   // create parser
-  IniParser parser (DEFAULT_CONFIG_FILE);
-
-  GraphicsEngine::getInstance()->initFromIniFile(&parser);
+
+  char* configFileName = ResourceManager::homeDirCheck(DEFAULT_CONFIG_FILE);
+
+  IniParser iniParser (configFileName);
+  delete configFileName;
+
+  GraphicsEngine::getInstance()->initFromIniFile(&iniParser);
 
   LightManager::getInstance();
 
-  if( parser.getSection (CONFIG_SECTION_DATA) == -1)
+  const char* dataPath;
+  if ((dataPath = iniParser.getVar(CONFIG_NAME_DATADIR, CONFIG_SECTION_DATA))!= NULL)
   {
-    PRINTF(1)("Could not find Section %s in %s\n", CONFIG_SECTION_DATA, DEFAULT_CONFIG_FILE);
-  }
-  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))
+    if (!ResourceManager::getInstance()->setDataDir(dataPath))
     {
-          //  printf("Not yet implemented\n");
-      if (!ResourceManager::getInstance()->setDataDir(valuebuf))
-      {
-        PRINTF(1)("Data Could not be located\n");
-      }
+      PRINTF(1)("Data Could not be located\n");
+      exit(-1);
     }
-
-    memset (namebuf, 0, 256);
-    memset (valuebuf, 0, 256);
   }
 
   if (!ResourceManager::getInstance()->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",
+    PRINTF(1)("The DataDirectory %s could not be verified\n" \
+        "  Please Change in File %s Section %s Entry %s to a suitable value\n",
     ResourceManager::getInstance()->getDataDir(),
     DEFAULT_CONFIG_FILE,
