Index: /orxonox/trunk/orxonox.kdevelop
===================================================================
--- /orxonox/trunk/orxonox.kdevelop	(revision 4974)
+++ /orxonox/trunk/orxonox.kdevelop	(revision 4975)
@@ -10,9 +10,9 @@
     <projectdirectory>.</projectdirectory>
     <absoluteprojectpath>false</absoluteprojectpath>
-    <description></description>
+    <description/>
     <secondaryLanguages>
       <language>C</language>
     </secondaryLanguages>
-    <versioncontrol></versioncontrol>
+    <versioncontrol/>
   </general>
   <kdevcustomproject>
@@ -21,5 +21,5 @@
       <directoryradio>build</directoryradio>
       <customdirectory>/</customdirectory>
-      <programargs></programargs>
+      <programargs/>
       <terminal>false</terminal>
       <autocompile>true</autocompile>
@@ -28,5 +28,5 @@
     <build>
       <buildtool>make</buildtool>
-      <builddir></builddir>
+      <builddir/>
     </build>
     <make>
@@ -35,21 +35,21 @@
       <prio>0</prio>
       <dontact>false</dontact>
-      <makebin></makebin>
-      <makeoptions></makeoptions>
+      <makebin/>
+      <makeoptions/>
       <selectedenvironment>default</selectedenvironment>
       <environments>
         <default/>
       </environments>
-      <defaulttarget></defaulttarget>
+      <defaulttarget/>
     </make>
   </kdevcustomproject>
   <kdevdebugger>
     <general>
-      <dbgshell></dbgshell>
-      <programargs></programargs>
-      <gdbpath></gdbpath>
-      <configGdbScript></configGdbScript>
-      <runShellScript></runShellScript>
-      <runGdbScript></runGdbScript>
+      <dbgshell/>
+      <programargs/>
+      <gdbpath/>
+      <configGdbScript/>
+      <runShellScript/>
+      <runGdbScript/>
       <breakonloadinglibs>true</breakonloadinglibs>
       <separatetty>false</separatetty>
@@ -131,5 +131,5 @@
     </codecompletion>
     <creategettersetter>
-      <prefixGet></prefixGet>
+      <prefixGet/>
       <prefixSet>set</prefixSet>
       <prefixVariable>m_,_</prefixVariable>
@@ -157,12 +157,12 @@
   <kdevdocumentation>
     <projectdoc>
-      <docsystem></docsystem>
-      <docurl></docurl>
-      <usermanualurl></usermanualurl>
+      <docsystem/>
+      <docurl/>
+      <usermanualurl/>
     </projectdoc>
   </kdevdocumentation>
   <ctagspart>
-    <customArguments></customArguments>
-    <customTagfilePath></customTagfilePath>
+    <customArguments/>
+    <customTagfilePath/>
   </ctagspart>
 </kdevelop>
Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 4974)
+++ /orxonox/trunk/src/Makefile.am	(revision 4975)
@@ -40,5 +40,4 @@
                   util/animation/animation3d.cc \
                   util/animation/animation_player.cc \
-                  util/object_manager.cc \
                   util/fast_factory.cc \
                   util/garbage_collector.cc \
@@ -94,5 +93,4 @@
                  util/animation/animation3d.h \
                  util/animation/animation_player.h \
-                 util/object_manager.h \
                  util/fast_factory.h \
                  util/garbage_collector.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 4974)
+++ /orxonox/trunk/src/Makefile.in	(revision 4975)
@@ -58,5 +58,4 @@
 	orxonox-animation.$(OBJEXT) orxonox-animation3d.$(OBJEXT) \
 	orxonox-animation_player.$(OBJEXT) \
-	orxonox-object_manager.$(OBJEXT) \
 	orxonox-fast_factory.$(OBJEXT) \
 	orxonox-garbage_collector.$(OBJEXT) \
@@ -110,5 +109,4 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-load_param.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-null_parent.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/orxonox-object_manager.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-orxonox.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox-p_node.Po \
@@ -294,5 +292,4 @@
                   util/animation/animation3d.cc \
                   util/animation/animation_player.cc \
-                  util/object_manager.cc \
                   util/fast_factory.cc \
                   util/garbage_collector.cc \
@@ -348,5 +345,4 @@
                  util/animation/animation3d.h \
                  util/animation/animation_player.h \
-                 util/object_manager.h \
                  util/fast_factory.h \
                  util/garbage_collector.h \
@@ -507,5 +503,4 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-load_param.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-null_parent.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-object_manager.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-orxonox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox-p_node.Po@am__quote@
@@ -678,20 +673,4 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-animation_player.obj `if test -f 'util/animation/animation_player.cc'; then $(CYGPATH_W) 'util/animation/animation_player.cc'; else $(CYGPATH_W) '$(srcdir)/util/animation/animation_player.cc'; fi`
-
-orxonox-object_manager.o: util/object_manager.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-object_manager.o -MD -MP -MF "$(DEPDIR)/orxonox-object_manager.Tpo" -c -o orxonox-object_manager.o `test -f 'util/object_manager.cc' || echo '$(srcdir)/'`util/object_manager.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-object_manager.Tpo" "$(DEPDIR)/orxonox-object_manager.Po"; else rm -f "$(DEPDIR)/orxonox-object_manager.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/object_manager.cc' object='orxonox-object_manager.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-object_manager.Po' tmpdepfile='$(DEPDIR)/orxonox-object_manager.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-object_manager.o `test -f 'util/object_manager.cc' || echo '$(srcdir)/'`util/object_manager.cc
-
-orxonox-object_manager.obj: util/object_manager.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT orxonox-object_manager.obj -MD -MP -MF "$(DEPDIR)/orxonox-object_manager.Tpo" -c -o orxonox-object_manager.obj `if test -f 'util/object_manager.cc'; then $(CYGPATH_W) 'util/object_manager.cc'; else $(CYGPATH_W) '$(srcdir)/util/object_manager.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/orxonox-object_manager.Tpo" "$(DEPDIR)/orxonox-object_manager.Po"; else rm -f "$(DEPDIR)/orxonox-object_manager.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/object_manager.cc' object='orxonox-object_manager.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/orxonox-object_manager.Po' tmpdepfile='$(DEPDIR)/orxonox-object_manager.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(orxonox_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o orxonox-object_manager.obj `if test -f 'util/object_manager.cc'; then $(CYGPATH_W) 'util/object_manager.cc'; else $(CYGPATH_W) '$(srcdir)/util/object_manager.cc'; fi`
 
 orxonox-fast_factory.o: util/fast_factory.cc
Index: /orxonox/trunk/src/orxonox.cc
===================================================================
--- /orxonox/trunk/src/orxonox.cc	(revision 4974)
+++ /orxonox/trunk/src/orxonox.cc	(revision 4975)
@@ -37,5 +37,4 @@
 #include "sound_engine.h"
 #include "resource_manager.h"
-#include "object_manager.h"
 #include "cd_engine.h"
 #include "text_engine.h"
@@ -85,5 +84,4 @@
   delete SoundEngine::getInstance();
   delete ResourceManager::getInstance(); // deletes the Resource Manager
-  delete ObjectManager::getInstance();
   delete TextEngine::getInstance();
   delete Factory::getFirst();
@@ -258,6 +256,4 @@
   TextEngine::getInstance();
 
-  PRINT(3)("initializing ObjectManager\n");
-  ObjectManager::getInstance();
   CDEngine::getInstance();
 
Index: /orxonox/trunk/src/util/garbage_collector.cc
===================================================================
--- /orxonox/trunk/src/util/garbage_collector.cc	(revision 4974)
+++ /orxonox/trunk/src/util/garbage_collector.cc	(revision 4975)
@@ -23,5 +23,4 @@
 
 #include "list.h"
-#include "object_manager.h"
 
 using namespace std;
Index: xonox/trunk/src/util/object_manager.cc
===================================================================
--- /orxonox/trunk/src/util/object_manager.cc	(revision 4974)
+++ 	(revision )
@@ -1,67 +1,0 @@
-/*
-   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: Patrick Boenzli
-*/
-
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_OBJECT_MANAGER
-
-#include "object_manager.h"
-#include "garbage_collector.h"
-#include "list.h"
-
-#include "debug.h"
-
-using namespace std;
-
-/**
- *  standard constructor
-*/
-ObjectManager::ObjectManager ()
-{
-  this->setClassID(CL_OBJECT_MANAGER, "ObjectManager");
-  this->setName("ObjectManager");
-
-}
-
-
-/**
- *  the singleton reference to this class
-*/
-ObjectManager* ObjectManager::singletonRef = NULL;
-
-/**
- *  standard deconstructor
-*/
-ObjectManager::~ObjectManager ()
-{
-  ObjectManager::singletonRef = NULL;
-}
-
-/**
- *  outputs some simple debug information about the ObjectManage
-*/
-void ObjectManager::debug() const
-{
-  PRINT(0)("\n==========================| ObjectManager::debug() |===\n");
-/* PRINT(0)("=  Number of registerable classes: %i\n", CL_NUMBER );
- PRINT(0)("=  Currently cached objects: \n");
- for(int i = 0; i < CL_NUMBER; ++i)
-   {
-      if( this->managedObjectList[i] != NULL)
-        PRINT(0)("=   o Class Nr. %i has cached %i object(s)\n", i, this->managedObjectList[i]->getSize());
-      else
-        PRINT(0)("=   o Class Nr. %i has cached 0 object(s)\n", i);
-    }*/
-  PRINT(0)("=======================================================\n");
-}
-
-
Index: xonox/trunk/src/util/object_manager.h
===================================================================
--- /orxonox/trunk/src/util/object_manager.h	(revision 4974)
+++ 	(revision )
@@ -1,46 +1,0 @@
-/*!
- * @file object_manager.h
- */
-
-#ifndef _OBJECT_MANAGER_H
-#define _OBJECT_MANAGER_H
-
-#include "base_object.h"
-
-
-// FORWARD DECLARATION //
-class GarbageCollector;
-template<class T>
-    class tList;
-
-////////////////////
-// OBJECT MANAGER //
-////////////////////
-
-//! the object manager itself
-class ObjectManager : public BaseObject {
-
- public:
-  virtual ~ObjectManager();
-  /** @returns a Pointer to the only object of this Class */
-  inline static ObjectManager* getInstance() { if (!singletonRef) singletonRef = new ObjectManager();  return singletonRef; };
-
-  void registerClass(ClassID classID);
-
-  BaseObject* resurrect();
-  void kill(BaseObject* object);
-
-
-  void debug() const;
-
- private:
-  ObjectManager();
-
- private:
-  static ObjectManager*      singletonRef;          //!< The singleton reference to the only reference of this class
-
-};
-
-
-
-#endif /* _OBJECT_MANAGER_H */
Index: /orxonox/trunk/src/world_entities/player.cc
===================================================================
--- /orxonox/trunk/src/world_entities/player.cc	(revision 4974)
+++ /orxonox/trunk/src/world_entities/player.cc	(revision 4975)
@@ -56,15 +56,20 @@
 }
 
-
-/**
- *  destructs the player, deletes alocated memory
-*/
-Player::~Player ()
-{
-  /* do not delete the weapons, they are contained in the pnode tree
-     and will be deleted there.
-     this only frees the memory allocated to save the list.
-  */
-  delete this->weaponMan;
+/**
+ * loads a Players information from a specified file.
+ * @param fileName the name of the File to load the player from (absolute path)
+ */
+Player::Player(const char* fileName)
+{
+  this->init();
+  TiXmlDocument doc(fileName);
+
+  if(!doc.LoadFile())
+  {
+    PRINTF(2)("Loading file %s failed for player.\n", fileName);
+    return;
+  }
+
+  this->loadParams(doc.RootElement());
 }
 
@@ -96,4 +101,16 @@
 
   this->weaponMan->changeWeaponConfig(0);
+}
+
+/**
+ *  destructs the player, deletes alocated memory
+ */
+Player::~Player ()
+{
+  /* do not delete the weapons, they are contained in the pnode tree
+  and will be deleted there.
+  this only frees the memory allocated to save the list.
+  */
+  delete this->weaponMan;
 }
 
Index: /orxonox/trunk/src/world_entities/player.h
===================================================================
--- /orxonox/trunk/src/world_entities/player.h	(revision 4974)
+++ /orxonox/trunk/src/world_entities/player.h	(revision 4975)
@@ -29,4 +29,5 @@
   public:
     Player();
+    Player(const char* fileName);
     Player(const TiXmlElement* root);
     virtual ~Player();
Index: /orxonox/trunk/src/world_entities/weapons/projectile.h
===================================================================
--- /orxonox/trunk/src/world_entities/weapons/projectile.h	(revision 4974)
+++ /orxonox/trunk/src/world_entities/weapons/projectile.h	(revision 4975)
@@ -23,6 +23,4 @@
 #include "world_entity.h"
 #include "vector.h"
-
-class ParticleEmitter;
 
 class Projectile : public WorldEntity
@@ -53,5 +51,4 @@
 
   protected:
-
     // energy
     float                 energyMin;
@@ -65,6 +62,4 @@
 
     Vector                velocity;                  //!< velocity of the projectile.
-
-    ParticleEmitter*      emitter;                   //!< For special effects each Projectile has an emitter.
 };
 
Index: /orxonox/trunk/src/world_entities/weapons/weapon.h
===================================================================
--- /orxonox/trunk/src/world_entities/weapons/weapon.h	(revision 4974)
+++ /orxonox/trunk/src/world_entities/weapons/weapon.h	(revision 4975)
@@ -71,4 +71,9 @@
 /**
  * This is used as a container for all the different kinds of weapons that may exist
+ *
+ * Weapons have certain states, and actions, that can inflict them.
+ * ex. Action WA_SHOOT leeds to State WS_SHOOTING.
+ * each action has a sound connected to it,
+ * each state a time and an animation.
  */
 class Weapon : public WorldEntity
