Index: /orxonox/branches/particleEngine/src/Makefile.am
===================================================================
--- /orxonox/branches/particleEngine/src/Makefile.am	(revision 3925)
+++ /orxonox/branches/particleEngine/src/Makefile.am	(revision 3926)
@@ -72,4 +72,5 @@
 		 lib/graphics/particles/particle_engine.cc \
 		 lib/graphics/particles/particle_system.cc \
+		 lib/graphics/particles/particle_emitter.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -130,4 +131,5 @@
 		 lib/graphics/particles/particle_engine.h \
 		 lib/graphics/particles/particle_system.h \
+		 lib/graphics/particles/particle_emitter.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 3925)
+++ /orxonox/branches/particleEngine/src/Makefile.in	(revision 3926)
@@ -69,8 +69,8 @@
 	primitive_model.$(OBJEXT) model.$(OBJEXT) material.$(OBJEXT) \
 	texture.$(OBJEXT) particle_engine.$(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)
+	particle_system.$(OBJEXT) particle_emitter.$(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 +98,5 @@
 @AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/particle_emitter.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_engine.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_system.Po \
@@ -285,4 +286,5 @@
 		 lib/graphics/particles/particle_engine.cc \
 		 lib/graphics/particles/particle_system.cc \
+		 lib/graphics/particles/particle_emitter.cc \
 		 lib/lang/base_entity.cc \
 		 lib/lang/base_object.cc \
@@ -343,4 +345,5 @@
 		 lib/graphics/particles/particle_engine.h \
 		 lib/graphics/particles/particle_system.h \
+		 lib/graphics/particles/particle_emitter.h \
 		 lib/data/data_tank.h \
 		 lib/lang/base_entity.h \
@@ -462,4 +465,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p_node.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/particle_emitter.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@
@@ -1059,4 +1063,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_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`
+
+particle_emitter.o: lib/graphics/particles/particle_emitter.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particle_emitter.o -MD -MP -MF "$(DEPDIR)/particle_emitter.Tpo" -c -o particle_emitter.o `test -f 'lib/graphics/particles/particle_emitter.cc' || echo '$(srcdir)/'`lib/graphics/particles/particle_emitter.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particle_emitter.Tpo" "$(DEPDIR)/particle_emitter.Po"; else rm -f "$(DEPDIR)/particle_emitter.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/particles/particle_emitter.cc' object='particle_emitter.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particle_emitter.Po' tmpdepfile='$(DEPDIR)/particle_emitter.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_emitter.o `test -f 'lib/graphics/particles/particle_emitter.cc' || echo '$(srcdir)/'`lib/graphics/particles/particle_emitter.cc
+
+particle_emitter.obj: lib/graphics/particles/particle_emitter.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particle_emitter.obj -MD -MP -MF "$(DEPDIR)/particle_emitter.Tpo" -c -o particle_emitter.obj `if test -f 'lib/graphics/particles/particle_emitter.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_emitter.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_emitter.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particle_emitter.Tpo" "$(DEPDIR)/particle_emitter.Po"; else rm -f "$(DEPDIR)/particle_emitter.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/graphics/particles/particle_emitter.cc' object='particle_emitter.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particle_emitter.Po' tmpdepfile='$(DEPDIR)/particle_emitter.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_emitter.obj `if test -f 'lib/graphics/particles/particle_emitter.cc'; then $(CYGPATH_W) 'lib/graphics/particles/particle_emitter.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/particles/particle_emitter.cc'; fi`
 
 base_entity.o: lib/lang/base_entity.cc
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc	(revision 3926)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.cc	(revision 3926)
@@ -0,0 +1,38 @@
+/* 
+   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: ...
+   co-programmer: Patrick Boenzli
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
+
+#include "particle_emitter.h"
+
+using namespace std;
+
+
+/**
+   \brief standard constructor
+*/
+ParticleEmitter::ParticleEmitter () 
+{
+   this->setClassName ("ParticleEmitter");
+}
+
+
+
+/**
+   \brief standard destructor
+
+*/
+ParticleEmitter::~ParticleEmitter () 
+{}
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h	(revision 3926)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_emitter.h	(revision 3926)
@@ -0,0 +1,38 @@
+/*! 
+    \file particle_e,otter.h
+    \brief Definition of a ParticleEmitter
+*/
+
+#ifndef _PARTICLE_EMITTER_H
+#define _PARTICLE_EMITTER_H
+
+#include "p_node.h"
+
+// FORWARD DEFINITION 
+struct Particle;
+class ParticleSystem;
+
+
+//! A default singleton class.
+class ParticleEmitter : public PNode {
+
+ public:
+  ParticleEmitter(void);
+  virtual ~ParticleEmitter(void);
+
+  void tick(float dt);
+
+ private:
+  Vector direction;     //!< emition direction
+  float angle;          //!< max angle from the direction of the emitter
+
+  float emissionRate;   //!< amount of particles per seconds emitted by emiter
+  
+  float velocity;       //!< the contant speed a particle gets if been emitted
+  float minVel, maxVel; //!< the minimal and maximal velocity a particle has
+
+  float timeToLive;     //!< this is the global time to live (ttl) definition
+  float minTTL, maxTTL  //!<
+};
+
+#endif /* _PARTICLE_EMITTER_H */
Index: /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h
===================================================================
--- /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3925)
+++ /orxonox/branches/particleEngine/src/lib/graphics/particles/particle_engine.h	(revision 3926)
@@ -28,4 +28,5 @@
 
   tList<ParticleSystem>* partSysList;
+
 };
 
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 3926)
@@ -11,4 +11,7 @@
 // FORWARD DEFINITION
 
+class Material;
+class Vector;
+
 
 //! A struct for one Particle
@@ -18,6 +21,5 @@
   Vector position;
   Quaternion rotation;
-  
-  
+  Material* material;  
 };
 
@@ -35,5 +37,4 @@
 
   Particle* particles;
-
 };
 
