Index: orxonox/branches/levelLoader/src/Makefile.am
===================================================================
--- orxonox/branches/levelLoader/src/Makefile.am	(revision 4249)
+++ orxonox/branches/levelLoader/src/Makefile.am	(revision 4250)
@@ -91,4 +91,5 @@
 		 util/resource_manager.cc \
 		 util/loading/factory.cc \
+		 util/loading/load_param.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
Index: orxonox/branches/levelLoader/src/Makefile.in
===================================================================
--- orxonox/branches/levelLoader/src/Makefile.in	(revision 4249)
+++ orxonox/branches/levelLoader/src/Makefile.in	(revision 4250)
@@ -93,7 +93,7 @@
 	base_entity.$(OBJEXT) base_object.$(OBJEXT) \
 	ini_parser.$(OBJEXT) substring.$(OBJEXT) list.$(OBJEXT) \
-	resource_manager.$(OBJEXT) factory.$(OBJEXT) vector.$(OBJEXT) \
-	curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT) \
-	benchmark.$(OBJEXT)
+	resource_manager.$(OBJEXT) factory.$(OBJEXT) \
+	load_param.$(OBJEXT) vector.$(OBJEXT) curve.$(OBJEXT) \
+	glmenu_imagescreen.$(OBJEXT) benchmark.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 am__DEPENDENCIES_1 =
@@ -129,7 +129,8 @@
 @AMDEP_TRUE@	./$(DEPDIR)/libORXgui_a-gui_video.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/light.Po ./$(DEPDIR)/list.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/material.Po ./$(DEPDIR)/model.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/load_param.Po ./$(DEPDIR)/material.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/model.Po ./$(DEPDIR)/null_parent.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/objModel.Po ./$(DEPDIR)/orxonox.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/p_node.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_emitter.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_engine.Po \
@@ -342,4 +343,5 @@
 		 util/resource_manager.cc \
 		 util/loading/factory.cc \
+		 util/loading/load_param.cc \
 		 lib/math/vector.cc \
 		 lib/math/curve.cc \
@@ -564,4 +566,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/light.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/load_param.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/material.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Po@am__quote@
@@ -1525,4 +1528,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o factory.obj `if test -f 'util/loading/factory.cc'; then $(CYGPATH_W) 'util/loading/factory.cc'; else $(CYGPATH_W) '$(srcdir)/util/loading/factory.cc'; fi`
+
+load_param.o: util/loading/load_param.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT load_param.o -MD -MP -MF "$(DEPDIR)/load_param.Tpo" -c -o load_param.o `test -f 'util/loading/load_param.cc' || echo '$(srcdir)/'`util/loading/load_param.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/load_param.Tpo" "$(DEPDIR)/load_param.Po"; else rm -f "$(DEPDIR)/load_param.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/loading/load_param.cc' object='load_param.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/load_param.Po' tmpdepfile='$(DEPDIR)/load_param.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o load_param.o `test -f 'util/loading/load_param.cc' || echo '$(srcdir)/'`util/loading/load_param.cc
+
+load_param.obj: util/loading/load_param.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT load_param.obj -MD -MP -MF "$(DEPDIR)/load_param.Tpo" -c -o load_param.obj `if test -f 'util/loading/load_param.cc'; then $(CYGPATH_W) 'util/loading/load_param.cc'; else $(CYGPATH_W) '$(srcdir)/util/loading/load_param.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/load_param.Tpo" "$(DEPDIR)/load_param.Po"; else rm -f "$(DEPDIR)/load_param.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/loading/load_param.cc' object='load_param.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/load_param.Po' tmpdepfile='$(DEPDIR)/load_param.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o load_param.obj `if test -f 'util/loading/load_param.cc'; then $(CYGPATH_W) 'util/loading/load_param.cc'; else $(CYGPATH_W) '$(srcdir)/util/loading/load_param.cc'; fi`
 
 vector.o: lib/math/vector.cc
Index: orxonox/branches/levelLoader/src/util/loading/factory.cc
===================================================================
--- orxonox/branches/levelLoader/src/util/loading/factory.cc	(revision 4249)
+++ orxonox/branches/levelLoader/src/util/loading/factory.cc	(revision 4250)
@@ -11,5 +11,5 @@
    ### File Specific:
    main-programmer: Christian Meyer
-   co-programmer: ...
+   co-programmer: Benjamin Grauer
 */
 
Index: orxonox/branches/levelLoader/src/util/loading/factory.h
===================================================================
--- orxonox/branches/levelLoader/src/util/loading/factory.h	(revision 4249)
+++ orxonox/branches/levelLoader/src/util/loading/factory.h	(revision 4250)
@@ -1,6 +1,22 @@
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Christian Meyer
+   co-programmer: Benjamin Grauer
+*/
+
 /*! 
-    \file factory.h
-    \brief philosophy stuff
+  \file factory.h
+  \brief philosophy stuff
 */
+
 
 #ifndef _FACTORY_H
Index: orxonox/branches/levelLoader/src/util/loading/load_param.cc
===================================================================
--- orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4249)
+++ orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4250)
@@ -0,0 +1,23 @@
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Christian Meyer
+   co-programmer: ...
+*/
+
+#include "load_param.h"
+
+//void BaseLoadParam::description(const char* paramDescription)
+//{
+
+//}
+
+
Index: orxonox/branches/levelLoader/src/util/loading/load_param.h
===================================================================
--- orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4249)
+++ orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4250)
@@ -1,2 +1,21 @@
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+/*! 
+    \file load_param.h
+    \brief A Class and macro-functions, that makes our lives easy to load-in parameters
+*/
 
 #ifndef _LOAD_PARAM_H
@@ -48,5 +67,5 @@
 
 // 2. TYPES
-#define LoadParam2(type1, type2)\
+#define LoadParam2(type1, type2) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE)) \
     { \
@@ -67,5 +86,5 @@
 
 // 3. TYPES
-#define LoadParam3(type1, type2, type3)\
+#define LoadParam3(type1, type2, type3) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE)) \
     { \
@@ -86,5 +105,5 @@
 
 // 4. TYPES
-#define LoadParam4(type1, type2, type3, type4)\
+#define LoadParam4(type1, type2, type3, type4) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE)) \
     { \
@@ -103,14 +122,40 @@
     };
 
-// abstract base class
-class baseLoadParam
+
+// 5. TYPES
+#define LoadParam5(type1, type2, type3, type4, type5) \
+ LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE, type4##_TYPE, type5##_TYPE)) \
+    { \
+      const char* loadString = grabParameter(root, paramName); \
+      if (loadString != NULL) \
+	{ \
+	  SubString subLoads(loadString); \
+	  if (subLoads.getCount() == 5) \
+	    (*pt2Object.*function)(type1##_FUNC(subLoads.getString(0)), type2##_FUNC(subLoads.getString(1)), type3##_FUNC(subLoads.getString(2)), type4##_FUNC(subLoads.getString(3)), type5##_FUNC(subLoads.getString(4))); \
+	  else \
+	    PRINTF(2)("Not loaded Parameter %s of %s, because wrong count of arguments.\n -> Should have %d but have %d\n", \
+		      paramName, pt2Object->getClassName(), 5, subLoads.getCount()); \
+	} \
+      else \
+	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+    };
+
+
+class LoadParamDescription
+{
+ private:
+  int paramCount;
+  char** types;
+};
+
+// abstract Base class
+class BaseLoadParam
 {
  public:
-  void description(const char* description);
 };
 
 
 // derived template class
-template<class T> class LoadParam : public baseLoadParam
+template<class T> class LoadParam : public BaseLoadParam
 {
  public:
@@ -129,6 +174,4 @@
   LoadParam3(l_FLOAT, l_FLOAT, l_FLOAT);
   LoadParam4(l_FLOAT, l_FLOAT, l_FLOAT, l_FLOAT);
-
-
 };
 
Index: orxonox/branches/levelLoader/src/world_entities/skybox.cc
===================================================================
--- orxonox/branches/levelLoader/src/world_entities/skybox.cc	(revision 4249)
+++ orxonox/branches/levelLoader/src/world_entities/skybox.cc	(revision 4250)
@@ -11,15 +11,6 @@
 
    ### File Specific:
-   main-programmer: David Gruetter
-   co-programmer: Benjamin Grauer
-   
-   Created by Dave: this file is actually quite similar to player.cc and so is 
-   skybox.h similar to player.h
-   With that said, things should be clear:)
-   
-   Edited:
-   Bensch: more constructors, changeability, comments...
-   Patrick: giving it the common orxonox style, not much to do... good work Dave!
-
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
 */
 
