Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc	(revision 3944)
@@ -49,5 +49,5 @@
 ParticleEmitter::~ParticleEmitter () 
 {
-   ParticleEngine::getInstance()->removeEmitter(this);
+  ParticleEngine::getInstance()->removeEmitter(this);
   
 }
@@ -137,2 +137,10 @@
     }
 }
+
+/**
+   \brief outputs some nice debug information
+*/
+void ParticleEmitter::debug(void)
+{
+
+}
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h	(revision 3944)
@@ -36,4 +36,6 @@
   void setVelocity(float velocity, float randomVelocity = 0.0);
 
+  void debug(void);
+
  private:
   Vector direction;     //!< emition direction
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.cc
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.cc	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.cc	(revision 3944)
@@ -204,2 +204,43 @@
 
 }
+
+/**
+   \brief outputs some nice debug information
+*/
+void ParticleEngine::debug(void)
+{
+  PRINT(0)("+-----------------------------------+\n");
+  PRINT(0)("+ PARTICLE-ENGINE DEBUG INFORMATION +\n");
+  PRINT(0)("+-----------------------------------+\n");
+  PRINT(0)(" Reference: %p\n", ParticleEngine::singletonRef);
+  PRINT(0)(" Count: Emitters: %d; Systems: %d, Connections: %d\n",
+	    this->emitterList->getSize(), this->systemList->getSize(), this->connectionList->getSize());
+  if (this->connectionList->getSize() > 0)
+    {
+      PRINT(0)(" Connections:\n");
+      PRINT(0)(" -----------------------------------\n");
+
+      tIterator<ParticleConnection>* tmpConIt = connectionList->getIterator();
+      ParticleConnection* tmpConnection = tmpConIt->nextElement();
+      while(tmpConnection)
+	{
+	  PRINT(0)(" Emitter '%s' emitts into System '%s'\n", tmpConnection->emitter->getName(), tmpConnection->system->getName());
+	  tmpConnection = tmpConIt->nextElement();
+	}
+      delete tmpConIt;
+    }
+  if (this->systemList->getSize() > 0)
+    {
+      tIterator<ParticleSystem>* tmpIt = systemList->getIterator();
+      ParticleSystem* tmpSys = tmpIt->nextElement();
+      while(tmpSys)
+	{
+	  tmpSys->debug();
+	  tmpSys = tmpIt->nextElement();
+	}
+      delete tmpIt;
+    }
+
+  PRINT(0)("+--------------------------------PE-+\n");
+
+}
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3944)
@@ -39,4 +39,6 @@
   bool breakConnection(ParticleConnection* connection);
 
+  void debug();
+
  private:
   ParticleEngine(void);
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc	(revision 3944)
@@ -35,5 +35,5 @@
 {
    this->setClassName ("ParticleSystem");
-
+   this->name = NULL;
    this->maxCount = maxCount;
    this->count = 0;
@@ -58,4 +58,17 @@
   // delete what has to be deleted here
    ParticleEngine::getInstance()->removeSystem(this);
+}
+
+void ParticleSystem::setName(const char* name)
+{
+  if (this->name)
+    delete this->name;
+  this->name = new char[strlen(name)+1];
+  strcpy(this->name, name);
+}
+
+const char* ParticleSystem::getName(void) const
+{
+  return this->name;
 }
 
@@ -248,2 +261,11 @@
 }
 
+
+/**
+   \brief outputs some nice debug information
+*/
+void ParticleSystem::debug(void)
+{
+  PRINT(0)("  ParticleSystem %s\n", this->name);
+  PRINT(0)("  ParticleCount: %d, maximumCount: %d :: filled %d%%\n", this->count, this->maxCount, 100*this->count/this->maxCount);
+}
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h	(revision 3943)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h	(revision 3944)
@@ -47,4 +47,6 @@
   ParticleSystem(unsigned int maxCount = PARTICLE_DEFAULT_MAX_COUNT, PARTICLE_TYPE type = PARTICLE_DEFAULT_TYPE);
   virtual ~ParticleSystem();
+  void setName(const char* name);
+  const char* getName(void) const;
 
   void setType(PARTICLE_TYPE particleType, int count = 0);
@@ -59,5 +61,9 @@
   void draw(void);
 
+  void debug(void);
+
  private:
+  char* name;                // the Name of the Particle System
+
   float conserve;            //!< How much energy gets conserved to the next Tick.
   float lifeSpan;            //!< Initial lifetime of a Particle.
Index: /orxonox/branches/particleEngine/src/story_entities/world.cc
===================================================================
--- /orxonox/branches/particleEngine/src/story_entities/world.cc	(revision 3943)
+++ /orxonox/branches/particleEngine/src/story_entities/world.cc	(revision 3944)
@@ -166,5 +166,6 @@
   AnimationPlayer::getInstance()->debug();
   delete AnimationPlayer::getInstance(); // this should be at the end of the unloading sequence.
-
+  
+  ParticleEngine::getInstance()->debug();
   delete ParticleEngine::getInstance();
 
@@ -379,15 +380,21 @@
 	    ParticleEmitter* testEmitter,* testEmitter2;
 	    ParticleSystem* testSystem;
-	    testEmitter = new ParticleEmitter(Vector(-1,0,0), M_PI_2, 1200.0, .5);
+	    testEmitter = new ParticleEmitter(Vector(-1,0,0), M_PI_2, 120.0, .5);
 	    testEmitter->setParent(localPlayer);
 	    testEmitter->setRelCoor(Vector(-3, 0, 0));
-
-	    testSystem = new ParticleSystem(100000);
+	    testEmitter->setName("ship emitter");
+	    testEmitter2 = new ParticleEmitter(Vector(1,0,0), .1, 120.0, 1);
+	    testEmitter2->setParent(tn);
+	    testEmitter2->setName("crap emitter");
+	    
+	    testSystem = new ParticleSystem(1000);
 	    testSystem->setLifeSpan(1, .8);
 	    testSystem->setRadius(1.0, 0.0, .5);
 	    testSystem->setConserve(.8);
 	    testSystem->setInheritSpeed(1);
-
+	    testSystem->setName("system");
 	    ParticleEngine::getInstance()->addConnection(testEmitter, testSystem);
+	    ParticleEngine::getInstance()->addConnection(testEmitter2, testSystem);
+	    ParticleEngine::getInstance()->debug();
 
 	    break;
