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);
-
-
 };
 
