Index: orxonox/branches/particleEngine/src/Makefile.am
===================================================================
--- orxonox/branches/particleEngine/src/Makefile.am	(revision 3924)
+++ orxonox/branches/particleEngine/src/Makefile.am	(revision 3925)
@@ -71,4 +71,5 @@
 		 lib/graphics/importer/texture.cc \
 		 lib/graphics/particles/particle_engine.cc \
+		 lib/graphics/particles/particle_system.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -128,4 +129,5 @@
 		 lib/graphics/text_engine.h \
 		 lib/graphics/particles/particle_engine.h \
+		 lib/graphics/particles/particle_system.h \
 		 lib/data/data_tank.h \
 		 lib/lang/base_entity.h \
Index: orxonox/branches/particleEngine/src/Makefile.in
===================================================================
--- orxonox/branches/particleEngine/src/Makefile.in	(revision 3924)
+++ orxonox/branches/particleEngine/src/Makefile.in	(revision 3925)
@@ -69,7 +69,8 @@
 	primitive_model.$(OBJEXT) model.$(OBJEXT) material.$(OBJEXT) \
 	texture.$(OBJEXT) particle_engine.$(OBJEXT) \
-	base_entity.$(OBJEXT) base_object.$(OBJEXT) \
-	ini_parser.$(OBJEXT) list.$(OBJEXT) resource_manager.$(OBJEXT) \
-	vector.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT)
+	particle_system.$(OBJEXT) base_entity.$(OBJEXT) \
+	base_object.$(OBJEXT) ini_parser.$(OBJEXT) list.$(OBJEXT) \
+	resource_manager.$(OBJEXT) vector.$(OBJEXT) curve.$(OBJEXT) \
+	glmenu_imagescreen.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
 orxonox_LDADD = $(LDADD)
@@ -98,4 +99,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/particle_system.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/player.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/primitive_model.Po \
@@ -282,4 +284,5 @@
 		 lib/graphics/importer/texture.cc \
 		 lib/graphics/particles/particle_engine.cc \
+		 lib/graphics/particles/particle_system.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -339,4 +342,5 @@
 		 lib/graphics/text_engine.h \
 		 lib/graphics/particles/particle_engine.h \
+		 lib/graphics/particles/particle_system.h \
 		 lib/data/data_tank.h \
 		 lib/lang/base_entity.h \
@@ -459,4 +463,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p_node.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/particle_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/particle_system.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/primitive_model.Po@am__quote@
@@ -1038,4 +1043,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particle_engine.obj `if test -f 'lib/graphics/particles/particle_engine.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_engine.cc'; fi`
+
+particle_system.o: lib/graphics/particles/particle_system.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particle_system.o -MD -MP -MF "$(DEPDIR)/particle_system.Tpo" -c -o particle_system.o `test -f 'lib/graphics/particles/particle_system.cc' || echo '$(srcdir)/'`lib/graphics/particles/particle_system.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particle_system.Tpo" "$(DEPDIR)/particle_system.Po"; else rm -f "$(DEPDIR)/particle_system.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/particles/particle_system.cc' object='particle_system.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particle_system.Po' tmpdepfile='$(DEPDIR)/particle_system.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particle_system.o `test -f 'lib/graphics/particles/particle_system.cc' || echo '$(srcdir)/'`lib/graphics/particles/particle_system.cc
+
+particle_system.obj: lib/graphics/particles/particle_system.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particle_system.obj -MD -MP -MF "$(DEPDIR)/particle_system.Tpo" -c -o particle_system.obj `if test -f 'lib/graphics/particles/particle_system.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_system.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_system.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particle_system.Tpo" "$(DEPDIR)/particle_system.Po"; else rm -f "$(DEPDIR)/particle_system.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/particles/particle_system.cc' object='particle_system.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particle_system.Po' tmpdepfile='$(DEPDIR)/particle_system.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particle_system.obj `if test -f 'lib/graphics/particles/particle_system.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_system.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_system.cc'; fi`
 
 base_entity.o: lib/lang/base_entity.cc
Index: orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h
===================================================================
--- orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3924)
+++ orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3925)
@@ -10,4 +10,7 @@
 
 // FORWARD DEFINITION 
+template<class T> class tList;
+class ParticleSystem;
+
 
 //! A default singleton class.
@@ -18,7 +21,11 @@
   virtual ~ParticleEngine(void);
 
+  void tick(float dt);
+
  private:
   ParticleEngine(void);
   static ParticleEngine* singletonRef;
+
+  tList<ParticleSystem>* partSysList;
 };
 
Index: orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc
===================================================================
--- orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc	(revision 3925)
+++ orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.cc	(revision 3925)
@@ -0,0 +1,41 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+#include "particle_system.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+   \todo this constructor is not jet implemented - do it
+*/
+ParticleSystem::ParticleSystem () 
+{
+   this->setClassName ("ParticleSystem");
+}
+
+
+/**
+   \brief standard deconstructor
+
+*/
+ParticleSystem::~ParticleSystem () 
+{
+  // delete what has to be deleted here
+}
+
Index: orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h
===================================================================
--- orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h	(revision 3925)
+++ orxonox/branches/particleEngine/src/lib/graphics/particles/particle_system.h	(revision 3925)
@@ -0,0 +1,40 @@
+/*! 
+    \file particle_system.h
+
+*/
+
+#ifndef _PARTICLE_SYSTEM_H
+#define _PARTICLE_SYSTEM_H
+
+#include "base_object.h"
+#include "vector.h"
+// FORWARD DEFINITION
+
+
+//! A struct for one Particle
+typedef struct Particle
+{
+  float timeToLive;
+  Vector position;
+  Quaternion rotation;
+  
+  
+};
+
+//! A class to handle particle Systems
+class ParticleSystem : public BaseObject {
+
+ public:
+  ParticleSystem();
+  virtual ~ParticleSystem();
+
+
+ private:
+
+  int particleCount;
+
+  Particle* particles;
+
+};
+
+#endif /* _PARTICLE_SYSTEM_H */
