Index: /orxonox/branches/levelLoader/src/util/loading/load_param.cc
===================================================================
--- /orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4255)
+++ /orxonox/branches/levelLoader/src/util/loading/load_param.cc	(revision 4256)
@@ -21,5 +21,10 @@
 #include <stdarg.h>
 
-
+/**
+   \param object The object this Parameter is loaded too.
+   \param paramName The name of the parameter loaded.
+   \param paramCount how many parameters this loading-function takes
+   \param ... the parameter information
+*/
 BaseLoadParam::BaseLoadParam(BaseObject* object, const char* paramName, int paramCount, ...)
 {
@@ -48,5 +53,7 @@
 }
 
-
+/**
+   \param descriptionText The text to set as a description for this Parameter
+*/
 void BaseLoadParam::describe(const char* descriptionText)
 {
@@ -57,4 +64,7 @@
 }
 
+/**
+   \param paramName the name of the parameter to load
+*/
 LoadParamDescription::LoadParamDescription(const char* paramName)
 {
@@ -65,5 +75,7 @@
 }
 
-
+/**
+   \brief removes all the alocated memory
+*/
 LoadParamDescription::~LoadParamDescription(void)
 {
@@ -74,11 +86,19 @@
   delete []this->types;
   delete []this->paramName;
-}
-
+  delete []this->description;
+}
+
+/**
+   \param descriptionText The text to set as a description for this Parameter
+*/
 void LoadParamDescription::setDescription(const char* descriptionText)
 {
-  this->description = descriptionText;
-}
-
+  this->description = new char[strlen(descriptionText)+1];
+  strcpy(this->description, descriptionText);
+}
+
+/**
+   \brief prints out this parameter, its input method and the description (if availiable)
+*/
 void LoadParamDescription::print(void) const
 {
@@ -96,5 +116,7 @@
 }
 
-
+/**
+   \brief A list, that holds all the classes that are loadable (classes not objects!!)
+*/
 tList<LoadClassDescription>* LoadClassDescription::classList = new tList<LoadClassDescription>;
 
@@ -104,4 +126,7 @@
 bool LoadClassDescription::parametersDescription = true;
 
+/**
+   \param className the name of the class to be loadable
+*/
 LoadClassDescription::LoadClassDescription(const char* className)
 {
@@ -114,5 +139,7 @@
 }
 
-
+/**
+   \brief deletes a classDescription (deletes all the parameterDescriptions as well
+*/
 LoadClassDescription::~LoadClassDescription(void)
 {
@@ -129,5 +156,11 @@
 }
 
-
+/**
+   \brief adds a class to the list of loadable classes
+   \param className The name of the class to add
+
+   this function searches for the className string, and if found just returns the appropriate Class.
+   Otherwise it returns a new classDescription
+*/
 LoadClassDescription* LoadClassDescription::addClass(const char* className)
 {
@@ -148,5 +181,8 @@
 }
 
-
+/**
+   \brief does the same as addClass(const char* className), but with params
+   \param paramName the name of the parameter to add.
+*/
 LoadParamDescription* LoadClassDescription::addParam(const char* paramName)
 {
@@ -168,4 +204,7 @@
 }
 
+/**
+   \brief prints out all loadable Classes, and their parameters
+*/
 void LoadClassDescription::printAll(void) 
 {
Index: /orxonox/branches/levelLoader/src/util/loading/load_param.h
===================================================================
--- /orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4255)
+++ /orxonox/branches/levelLoader/src/util/loading/load_param.h	(revision 4256)
@@ -155,4 +155,5 @@
 
 
+//! A class that handles the description of loadable parameters
 class LoadParamDescription
 {
@@ -169,8 +170,8 @@
   void print(void) const;
  private:
-  char* paramName;
-  int paramCount;
-  char** types;
-  const char* description;
+  char* paramName;              //!< The name of the parameter
+  int paramCount;               //!< The count of parameters
+  char** types;                 //!< What kind of parameters does this function take ??
+  char* description;            //!< A longer description about this function
 };
 
@@ -187,9 +188,9 @@
   static void printAll(void);
 
-  static bool parametersDescription;  
-  static tList<LoadClassDescription>* classList;
+  static bool parametersDescription;             //!< if parameter-description should be enabled.
+  static tList<LoadClassDescription>* classList; //!< a list, that holds all the loadable classes. (after one instance has been loaded)
  private:
-  char* className;
-  tList<LoadParamDescription>* paramList;
+  char* className;                               //!< name of the class
+  tList<LoadParamDescription>* paramList;        //!< List of parameters this class knows.
 };
 
@@ -204,10 +205,10 @@
 
  protected:
-  LoadClassDescription* classDesc;
-  LoadParamDescription* paramDesc;
-};
-
-
-// derived template class
+  LoadClassDescription* classDesc;               //!< The LoadClassDescription of this LoadParameter
+  LoadParamDescription* paramDesc;               //!< The LoadParameterDescription of this LoadParameter
+};
+
+
+//! derived template class, so all the Classes can load something.
 template<class T> class LoadParam : public BaseLoadParam
 {
