Index: /trunk/src/defs/functor_list.h
===================================================================
--- /trunk/src/defs/functor_list.h	(revision 5154)
+++ /trunk/src/defs/functor_list.h	(revision 5155)
@@ -97,5 +97,5 @@
 #define l_XML_ELEM_FUNC                         //!< The function to parse an XML_ELEM
 #define l_XML_ELEM_NAME    "XML"                //!< The name of an XML_ELEM
-//#define l_XML_ELEM_PARAM   Parameter        //!< the type of the parameter XML_ELEM
+//#define l_XML_ELEM_PARAM   Parameter            //!< the type of the parameter XML_ELEM
 #define l_XML_ELEM_DEFAULT NULL                 //!< The dafault Value for an XML_ELEM
 
Index: /trunk/src/glmenu/glmenu_imagescreen.cc
===================================================================
--- /trunk/src/glmenu/glmenu_imagescreen.cc	(revision 5154)
+++ /trunk/src/glmenu/glmenu_imagescreen.cc	(revision 5155)
@@ -22,4 +22,5 @@
 #include "material.h"
 #include "factory.h"
+#include "load_param.h"
 
 CREATE_FACTORY(GLMenuImageScreen);
Index: /trunk/src/lib/particles/particle_system.cc
===================================================================
--- /trunk/src/lib/particles/particle_system.cc	(revision 5154)
+++ /trunk/src/lib/particles/particle_system.cc	(revision 5155)
@@ -23,4 +23,5 @@
 #include "field.h"
 
+#include "load_param.h"
 #include "compiler.h"
 #include "material.h"
Index: /trunk/src/lib/physics/physics_connection.cc
===================================================================
--- /trunk/src/lib/physics/physics_connection.cc	(revision 5154)
+++ /trunk/src/lib/physics/physics_connection.cc	(revision 5155)
@@ -25,4 +25,5 @@
 
 #include "factory.h"
+#include "load_param.h"
 
 using namespace std;
Index: /trunk/src/util/loading/factory.cc
===================================================================
--- /trunk/src/util/loading/factory.cc	(revision 5154)
+++ /trunk/src/util/loading/factory.cc	(revision 5155)
@@ -16,6 +16,7 @@
 
 #include "factory.h"
+
+#include "shell_command.h"
 #include "game_loader.h"
-
 using namespace std;
 
@@ -68,5 +69,8 @@
 
   if( Factory::first == NULL)
+  {
     Factory::first = factory;
+    ShellCommand<Factory>::registerCommand("create", CL_FACTORY, &Factory::fabricate);
+  }
   else
   {
@@ -79,2 +83,24 @@
   }
 }
+
+void Factory::fabricate(const char* className, const char* entityName)
+{
+  if (className == NULL)
+    return;
+  Factory* fac = Factory::first;
+
+  while (fac != NULL)
+  {
+    if (!strcmp(className, fac->getName()))
+    {
+      PRINTF(3)("Create a new Object of type %s\n", fac->getName());
+      BaseObject* object = fac->fabricate(NULL);
+      if (object != NULL)
+      {
+        object->setName(entityName);
+      }
+      break;
+    }
+    fac = fac->next;
+  }
+}
Index: /trunk/src/util/loading/factory.h
===================================================================
--- /trunk/src/util/loading/factory.h	(revision 5154)
+++ /trunk/src/util/loading/factory.h	(revision 5155)
@@ -26,5 +26,4 @@
 
 #include "tinyxml.h"
-#include "load_param.h"
 #include "base_object.h"
 #include "debug.h"
@@ -44,5 +43,5 @@
   ~Factory ();
 
-
+  void fabricate(const char* className, const char* entityName);
   virtual BaseObject* fabricate(const TiXmlElement* root) = NULL;
 
Index: /trunk/src/util/shell_command.cc
===================================================================
--- /trunk/src/util/shell_command.cc	(revision 5154)
+++ /trunk/src/util/shell_command.cc	(revision 5155)
@@ -139,5 +139,5 @@
   while(elem != NULL)
   {
-    printf("%s\n", elem->getName());
+    printf("%s::%s\n", elem->className, elem->getName());
     if (!strncasecmp (executionString, elem->className, strlen(elem->className)) &&
          (*(executionString+strlen(elem->className)) == ' ' ||
@@ -170,5 +170,5 @@
         while(*commandBegin == ' ')
           commandBegin++;
-        tList<BaseObject>* list =  ClassList::getList(elem->classID);
+        tList<BaseObject>* list = ClassList::getList(elem->classID);
         if (list == NULL)
           break;
Index: /trunk/src/util/shell_command.h
===================================================================
--- /trunk/src/util/shell_command.h	(revision 5154)
+++ /trunk/src/util/shell_command.h	(revision 5155)
@@ -10,6 +10,6 @@
 
 #include "helper_functions.h"
-#include "functor_list.h"
 #include "substring.h"
+#include "functor_list.h"
 
 #include <stdarg.h>
Index: /trunk/src/world_entities/player.cc
===================================================================
--- /trunk/src/world_entities/player.cc	(revision 5154)
+++ /trunk/src/world_entities/player.cc	(revision 5155)
@@ -83,5 +83,6 @@
 {
   this->init();
-  this->loadParams(root);
+  if (root != NULL)
+    this->loadParams(root);
 
   //weapons:
Index: /trunk/src/world_entities/skybox.cc
===================================================================
--- /trunk/src/world_entities/skybox.cc	(revision 5154)
+++ /trunk/src/world_entities/skybox.cc	(revision 5155)
@@ -23,4 +23,5 @@
 #include "factory.h"
 
+#include "load_param.h"
 #include "material.h"
 #include "vector.h"
