Index: /branches/std/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc
===================================================================
--- /branches/std/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 7208)
+++ /branches/std/src/lib/gui/gl_gui/glmenu/glmenu_imagescreen.cc	(revision 7209)
@@ -13,5 +13,5 @@
    ### File Specific:
    main-programmer: Patrick Boenzli
-   co-programmer:
+   co-programmer: Benjamin GRauer
 */
 
@@ -84,5 +84,5 @@
 
 /**
-  *  sets the background image name
+  * @brief sets the background image name
   * @param backImageName name of the backgroun-image
  */
@@ -93,5 +93,5 @@
 
 /**
- *  sets position of the ImageScreen
+ * @brief sets position of the ImageScreen
  * @param offsetX offset from the top left corner in percent(0-1) of the screensize
  * @param offsetY offset from the top left corner in percent(0-1) of the screensize
@@ -104,5 +104,5 @@
 
 /**
-  \brief sets size of the ImageScreen
+ * @brief sets size of the ImageScreen
  * @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
  * @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
@@ -115,9 +115,9 @@
 
 /**
-  \brief sets position and size of the ImageScreen
-* @param offsetX offset from the top left corner in percent(0-1) of the screensize
-* @param offsetY offset from the top left corner in percent(0-1) of the screensize
-* @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
-* @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
+ * @brief sets position and size of the ImageScreen
+ * @param offsetX offset from the top left corner in percent(0-1) of the screensize
+ * @param offsetY offset from the top left corner in percent(0-1) of the screensize
+ * @param scaleX the scaleing of the image into the x-direction (in percent (0-1))
+ * @param scaleY the scaleing of the image into the y-direction (in percent (0-1))
 */
 void GLMenuImageScreen::setPosScale(float offsetX, float offsetY, float scaleX, float scaleY)
@@ -136,5 +136,5 @@
 
 /**
- *  sets the Position and the Size of the bar
+ * @brief sets the Position and the Size of the bar
  * @param barX The Position in the x-direction in percent of the screen (0-1)
  * @param barY The Position in the y-direction in percent of the screen (0-1)
@@ -152,5 +152,5 @@
 
 /**
- *  set the maximum of countable steps
+ * @brief set the maximum of countable steps
  * @param maxValue of steps
 */
@@ -161,5 +161,5 @@
 
 /**
- *  set current value
+ * @brief set current value
  * @param currentValue value to set
 */
@@ -172,5 +172,5 @@
 
 /**
- *  get the current value
+ * @brief get the current value
  */
 int GLMenuImageScreen::getValue()
@@ -181,7 +181,7 @@
 
 /**
-  *  call this to trigger a progress event
-
-    this has to redraw the progress bar and the whole image
+ * @brief call this to trigger a progress event
+ *
+ * this has to redraw the progress bar and the whole image
  */
 void GLMenuImageScreen::step ()
@@ -199,5 +199,5 @@
 
 /**
- *  draws the ImageScreen to the screenbuffer
+ * @brief draws the ImageScreen to the screenbuffer
 */
 void GLMenuImageScreen::draw ()
Index: /branches/std/src/lib/util/loading/factory.cc
===================================================================
--- /branches/std/src/lib/util/loading/factory.cc	(revision 7208)
+++ /branches/std/src/lib/util/loading/factory.cc	(revision 7209)
@@ -23,22 +23,14 @@
 //SHELL_COMMAND(create, Factory, fabricate);
 
-
-/*  --------------------------------------------------
- *               Factory
- *   --------------------------------------------------
+/**
+ * @brief constructor
+ *
+ * set everything to zero and define factoryName
  */
-
-/**
- *  constructor
-
-   set everything to zero and define factoryName
-*/
-Factory::Factory (const char* factoryName, ClassID classID)
+Factory::Factory (const std::string& factoryName, ClassID classID)
+  : className(factoryName), classID(classID)
 {
   this->setClassID(CL_FACTORY, "Factory");
   this->setName(factoryName);
-
-  this->classID = classID;
-  this->className = factoryName;
 
   if( Factory::factoryList == NULL)
@@ -48,11 +40,9 @@
 }
 
-/** a reference to the First Factory */
+/** @brief a reference to the First Factory */
 std::list<Factory*>* Factory::factoryList = NULL;
 
 /**
- *  destructor
- *
- * clear the Q
+ * @brief destructor
  */
 Factory::~Factory ()
@@ -64,5 +54,5 @@
 
 /**
- * deletes all the Factories. (cleanup)
+ * @brief deletes all the Factories. (cleanup)
  */
 void Factory::deleteFactories()
@@ -90,5 +80,5 @@
 
 /**
- * Compares the Factories Name against a given ClassName
+ * @brief Compares the Factories Name against a given ClassName
  * @param className the Name of the Class to Query
  * @returns true on match, false otherwise.
@@ -96,10 +86,20 @@
 bool Factory::operator==(const char* className) const
 {
-  return(className != NULL && !strcmp(className, this->className));
+  return(className != NULL && this->className == className);
+}
+
+/**
+ * @brief Compares the Factories Name against a given ClassName
+ * @param className the Name of the Class to Query
+ * @returns true on match, false otherwise.
+ */
+bool Factory::operator==(const std::string& className) const
+{
+  return(this->className == className);
 }
 
 
 /**
- * Creates a new Object of type root->Value() (name)
+ * @brief Creates a new Object of type root->Value() (name)
  * @param root the XML-Root to match for the newly created Object
  * @returns a new Object of Type root->Value() on match, NULL otherwise
@@ -133,7 +133,7 @@
  * @returns a new Object of Type className on match, NULL otherwise
  */
- BaseObject* Factory::fabricate(const char* className)
+ BaseObject* Factory::fabricate(const std::string& className)
 {
-  if (className == NULL || Factory::factoryList == NULL)
+  if (Factory::factoryList == NULL)
     return NULL;
 
Index: /branches/std/src/lib/util/loading/factory.h
===================================================================
--- /branches/std/src/lib/util/loading/factory.h	(revision 7208)
+++ /branches/std/src/lib/util/loading/factory.h	(revision 7209)
@@ -49,5 +49,5 @@
   static void deleteFactories();
 
-  static  BaseObject* fabricate(const char* className);
+  static  BaseObject* fabricate(const std::string& className);
   static  BaseObject* fabricate(ClassID classID);
   static  BaseObject* fabricate(const TiXmlElement* root = NULL);
@@ -56,12 +56,13 @@
   bool operator==(ClassID classID) const;
   bool operator==(const char* className) const;
+  bool operator==(const std::string& className) const;
 
   protected:
-    Factory (const char* factoryName, ClassID classID);
+    Factory (const std::string& factoryName, ClassID classID);
     virtual BaseObject* fabricateObject(const TiXmlElement* root = NULL) const = 0;
 
   protected:
-    ClassID                       classID;              //!< The Class-Identifyer of the Factory.
-    const char*                   className;            //!< The name of the Class.
+    const ClassID                 classID;              //!< The Class-Identifyer of the Factory.
+    const std::string             className;            //!< The name of the Class.
     static std::list<Factory*>*   factoryList;          //!< List of Registered Factories
 };
Index: /branches/std/src/lib/util/loading/load_param.cc
===================================================================
--- /branches/std/src/lib/util/loading/load_param.cc	(revision 7208)
+++ /branches/std/src/lib/util/loading/load_param.cc	(revision 7209)
@@ -59,5 +59,5 @@
   if (likely(this->executor != NULL))
   {
-    std::string loadString;
+    std::string loadString = "";
     if (this->loadElem != NULL &&  this->loadElem->ToText())
       loadString = this->loadElem->Value();
@@ -66,5 +66,5 @@
           ((this->executor->getType() & Executor_NoLoadString) == Executor_NoLoadString)))
     {
-      PRINTF(4)("Loading '%s' with Parameters '%s' onto: '%s'(%s)\n", this->paramName, loadString, this->object->getName(), this->object->getClassName());
+      PRINTF(4)("Loading '%s' with Parameters '%s' onto: '%s'(%s)\n", this->paramName, loadString.c_str(), this->object->getName(), this->object->getClassName());
       this->executor->execute(this->object, &loadString);
     }
Index: /branches/std/src/world_entities/power_ups/weapon_power_up.cc
===================================================================
--- /branches/std/src/world_entities/power_ups/weapon_power_up.cc	(revision 7208)
+++ /branches/std/src/world_entities/power_ups/weapon_power_up.cc	(revision 7209)
@@ -92,10 +92,10 @@
 }
 
-void WeaponPowerUp::setWeaponClass(const char* name)
+void WeaponPowerUp::setWeaponClass(const std::string& name)
 {
   this->weapon = dynamic_cast<Weapon*>(Factory::fabricate(name));
   if (this->weapon == NULL)
   {
-    PRINTF(1)("Unable to load Weapon. %s\n", name);
+    PRINTF(1)("Unable to load Weapon. %s\n", name.c_str());
     this->weapon = dynamic_cast<Weapon*>(Factory::fabricate("Turret"));
   }
Index: /branches/std/src/world_entities/power_ups/weapon_power_up.h
===================================================================
--- /branches/std/src/world_entities/power_ups/weapon_power_up.h	(revision 7208)
+++ /branches/std/src/world_entities/power_ups/weapon_power_up.h	(revision 7209)
@@ -22,5 +22,5 @@
 
   Weapon* getWeapon();
-  void setWeaponClass(const char* name);
+  void setWeaponClass(const std::string& name);
 
   virtual int writeBytes(const byte* data, int length, int sender);
