Index: /orxonox/branches/levelLoader/src/util/loading/load_param.cc
===================================================================
--- /orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4250)
+++ /orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4251)
@@ -16,8 +16,13 @@
 #include "load_param.h"
 
-//void BaseLoadParam::description(const char* paramDescription)
-//{
 
-//}
+BaseLoadParam::BaseLoadParam(BaseObject* object, const char* type1, const char* type2,
+		const char* type3, const char* type4, const char* type5)
+{
+  
+}
 
-
+/**
+   \brief if the description of Parameters should be executed
+*/
+bool LoadClassDescription::ParametersDescription = false;
Index: /orxonox/branches/levelLoader/src/util/loading/load_param.h
===================================================================
--- /orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4250)
+++ /orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4251)
@@ -25,4 +25,7 @@
 #include "debug.h"
 #include "substring.h"
+
+// Forward Declaration //
+template<class T> class tList;
 
 /**
@@ -37,16 +40,21 @@
 #define l_INT_TYPE int
 #define l_INT_FUNC atoi
+#define l_INT_NAME "int"
 
 #define l_LONG_TYPE long
 #define l_LONG_FUNC atol
+#define l_LONG_NAME "long"
 
 #define l_SHORT_TYPE short
 #define l_SHORT_FUNC atoi
+#define l_SHORT_NAME "short"
 
 #define l_FLOAT_TYPE float
 #define l_FLOAT_FUNC atof
+#define l_FLOAT_NAME "float"
 
 #define l_STRING_TYPE const char*
-#define l_STRING_FUNC 
+#define l_STRING_FUNC
+#define l_STRING_NAME "string"
 
 
@@ -57,4 +65,5 @@
 #define LoadParam1(type1) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE)) \
+  : BaseLoadParam(pt2Object, type1##_NAME) \
     { \
       const char* loadString = grabParameter(root, paramName); \
@@ -62,5 +71,5 @@
 	(*pt2Object.*function)(type1##_FUNC(loadString)); \
       else \
-	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+	PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
     }
 
@@ -69,4 +78,5 @@
 #define LoadParam2(type1, type2) \
  LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE)) \
+  : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME) \
     { \
       const char* loadString = grabParameter(root, paramName); \
@@ -81,11 +91,12 @@
 	} \
       else \
-	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
-    };
+	PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+    }
 
 
 // 3. TYPES
 #define LoadParam3(type1, type2, type3) \
- LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE)) \
+ LoadParam(const TiXmlElement* root, const char* paramName, T* pt2Object, void(T::*function)(type1##_TYPE, type2##_TYPE, type3##_TYPE))\
+  : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME) \
     { \
       const char* loadString = grabParameter(root, paramName); \
@@ -100,6 +111,6 @@
 	} \
       else \
-	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
-    };
+	PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+    }
 
 
@@ -107,4 +118,5 @@
 #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)) \
+  : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME) \
     { \
       const char* loadString = grabParameter(root, paramName); \
@@ -119,6 +131,6 @@
 	} \
       else \
-	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
-    };
+	PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+    }
 
 
@@ -126,4 +138,5 @@
 #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)) \
+  : BaseLoadParam(pt2Object, type1##_NAME, type2##_NAME, type3##_NAME, type2##_NAME, type4##_NAME, type5##_NAME) \
     { \
       const char* loadString = grabParameter(root, paramName); \
@@ -138,6 +151,7 @@
 	} \
       else \
-	PRINTF(2)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
-    };
+	PRINTF(4)("Not loaded parameter %s of %s\n", paramName, pt2Object->getClassName()); \
+    }
+
 
 
@@ -147,4 +161,17 @@
   int paramCount;
   char** types;
+  const char* className;
+
+};
+
+class LoadClassDescription
+{
+ public:
+
+
+  static bool ParametersDescription;
+  
+ private:
+  tList<LoadParamDescription>* paramList;
 };
 
@@ -152,5 +179,10 @@
 class BaseLoadParam
 {
- public:
+ protected:
+  BaseLoadParam(BaseObject* object, const char* type1 = NULL, const char* type2 = NULL,
+		const char* type3 = NULL, const char* type4 = NULL, const char* type5 = NULL);
+
+ protected:
+  LoadParamDescription* description;
 };
 
Index: /orxonox/branches/levelLoader/src/world_entities/skybox.cc
===================================================================
--- /orxonox/branches/levelLoader/src/world_entities/skybox.cc	(revision 4250)
+++ /orxonox/branches/levelLoader/src/world_entities/skybox.cc	(revision 4251)
@@ -49,7 +49,12 @@
   this->preInit();
 
+  this->load(root);
+
+  this->postInit();
+}
+
+void SkyBox::load(TiXmlElement* root)
+{
   LoadParam<SkyBox>(root, "Materialset", this, &SkyBox::setTexture);
-
-  this->postInit();
 }
 
@@ -208,5 +213,5 @@
   this->skyModel->addFace (4, VERTEX_TEXCOORD_NORMAL, 0,0,0, 1,1,0, 3,2,0, 2,3,0); // right
   this->skyModel->setMaterial(material[4]);
-  this->skyModel->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,0,5, 7,1,5, 5,2,5, 3,3,6); // front
+  this->skyModel->addFace (4, VERTEX_TEXCOORD_NORMAL, 1,0,5, 7,1,5, 5,2,5, 3,3,5); // front
   this->skyModel->setMaterial(material[5]);
   this->skyModel->addFace (4, VERTEX_TEXCOORD_NORMAL, 6,0,4, 0,1,4, 2,2,4, 4,3,4); // back
Index: /orxonox/branches/levelLoader/src/world_entities/skybox.h
===================================================================
--- /orxonox/branches/levelLoader/src/world_entities/skybox.h	(revision 4250)
+++ /orxonox/branches/levelLoader/src/world_entities/skybox.h	(revision 4251)
@@ -26,4 +26,6 @@
   virtual ~SkyBox();
 
+  void load(TiXmlElement* root);
+
   void preInit(void);
   void postInit(void);
Index: /orxonox/branches/levelLoader/src/world_entities/world_entity.cc
===================================================================
--- /orxonox/branches/levelLoader/src/world_entities/world_entity.cc	(revision 4250)
+++ /orxonox/branches/levelLoader/src/world_entities/world_entity.cc	(revision 4251)
@@ -26,27 +26,24 @@
 
 /**
-   \brief standard constructor
-*/
-WorldEntity::WorldEntity ()
+   \brief Loads the WordEntity-specific Part of any derived Class
+*/
+WorldEntity::WorldEntity(TiXmlElement* root)
 {
   this->setClassName ("WorldEntity");
+  this->model = NULL;
+
+  if (root)
+    this->load(root);
+
   this->bDraw = true;
-  this->model = NULL;
-  //  collisioncluster = NULL;
-}
-
-/**
-   \brief Loads the WordEntity-specific Part of any derived Class
-*/
-WorldEntity::WorldEntity(TiXmlElement* root)
-{
-  this->setClassName ("WorldEntity");
-  // Name Setup
+}
+
+void WorldEntity::load(TiXmlElement* root)
+{
+  // name setup
   LoadParam<WorldEntity>(root, "name", this, &WorldEntity::setName);
+
   // Model Loading	
-  this->model = NULL;
   LoadParam<WorldEntity>(root, "model", this, &WorldEntity::loadModel);
-
-  this->bDraw = true;
 }
 
Index: /orxonox/branches/levelLoader/src/world_entities/world_entity.h
===================================================================
--- /orxonox/branches/levelLoader/src/world_entities/world_entity.h	(revision 4250)
+++ /orxonox/branches/levelLoader/src/world_entities/world_entity.h	(revision 4251)
@@ -23,8 +23,8 @@
 
  public:
-  WorldEntity (void);
-  WorldEntity(TiXmlElement* root);
+  WorldEntity(TiXmlElement* root = NULL);
   virtual ~WorldEntity ();
 
+  void load(TiXmlElement* root);
   void loadModel(const char* fileName);
 
