Index: /trunk/src/lib/graphics/importer/material.cc
===================================================================
--- /trunk/src/lib/graphics/importer/material.cc	(revision 6621)
+++ /trunk/src/lib/graphics/importer/material.cc	(revision 6622)
@@ -68,4 +68,24 @@
     ResourceManager::getInstance()->unload(this->specularTexture);
 }
+
+Material& Material::operator=(const Material& m)
+{
+  this->setIllum(m.illumModel);
+  this->setDiffuse(m.diffuse[0],m.diffuse[1],m.diffuse[2]);
+  this->setAmbient(m.ambient[0],m.ambient[1],m.ambient[2]);
+  this->setSpecular(m.specular[0],m.specular[1],m.specular[2]);
+  this->setShininess(m.shininess);
+  this->setTransparency(m.transparency);
+
+  if (this->diffuseTexture != NULL)
+    ResourceManager::getInstance()->unload(this->diffuseTexture);
+  if (m.diffuseTexture != NULL)
+    this->diffuseTexture = m.diffuseTexture; /// HACK shoudl be:(Texture*)ResourceManager::getInstance()->load();
+  this->ambientTexture = NULL; /// FIXME
+  this->specularTexture = NULL; /// FIXME
+
+  this->setName(m.getName());
+}
+
 
 /**
@@ -282,5 +302,5 @@
   //! @todo check if RESOURCE MANAGER is availiable
   //! @todo Textures from .mtl-file need special care.
-  if (dMap!= NULL)
+  if (dMap != NULL)
     this->diffuseTexture = (Texture*)ResourceManager::getInstance()->load(dMap, IMAGE, RP_GAME, (void*)&target);
   else
Index: /trunk/src/lib/graphics/importer/material.h
===================================================================
--- /trunk/src/lib/graphics/importer/material.h	(revision 6621)
+++ /trunk/src/lib/graphics/importer/material.h	(revision 6622)
@@ -28,8 +28,11 @@
   virtual ~Material ();
 
+  Material& operator=(const Material& material);
+
   bool select () const;
 
   void setIllum (int illum);
   void setIllum (char* illum);
+  int getIllumModel() const { return this->illumModel; };
   void setDiffuse (float r, float g, float b);
   void setDiffuse (char* rgb);
@@ -58,5 +61,5 @@
     float       shininess;        //!< The shininess of the Material.
     float       transparency;     //!< The transperency of the Material.
-  public:
+
     Texture*    diffuseTexture;   //!< The diffuse texture of the Material.
     Texture*    ambientTexture;   //!< The ambient texture of the Material.
Index: /trunk/src/world_entities/projectiles/bomb.h
===================================================================
--- /trunk/src/world_entities/projectiles/bomb.h	(revision 6621)
+++ /trunk/src/world_entities/projectiles/bomb.h	(revision 6622)
@@ -10,5 +10,5 @@
 
 class FastFactory;
-class ParticleSystem;
+class SpriteParticles;
 class ParticleEmitter;
 class Material;
@@ -39,6 +39,6 @@
  private:
   static FastFactory*               fastFactory;
-  static ParticleSystem*            trailParticles;
-  static ParticleSystem*            explosionParticles;
+  static SpriteParticles*           trailParticles;
+  static SpriteParticles*           explosionParticles;
 
   ParticleEmitter*                  emitter;
Index: /trunk/src/world_entities/projectiles/guided_missile.cc
===================================================================
--- /trunk/src/world_entities/projectiles/guided_missile.cc	(revision 6621)
+++ /trunk/src/world_entities/projectiles/guided_missile.cc	(revision 6622)
@@ -75,6 +75,6 @@
 }
 
-ParticleSystem* GuidedMissile::trailParticles = NULL;
-ParticleSystem* GuidedMissile::explosionParticles = NULL;
+SpriteParticles* GuidedMissile::trailParticles = NULL;
+SpriteParticles* GuidedMissile::explosionParticles = NULL;
 
 
Index: /trunk/src/world_entities/projectiles/guided_missile.h
===================================================================
--- /trunk/src/world_entities/projectiles/guided_missile.h	(revision 6621)
+++ /trunk/src/world_entities/projectiles/guided_missile.h	(revision 6622)
@@ -10,5 +10,5 @@
 
 class Weapon;
-class ParticleSystem;
+class SpriteParticles;
 class ParticleEmitter;
 class FastFactory;
@@ -34,6 +34,6 @@
   private:
     static FastFactory*               fastFactory;
-    static ParticleSystem*            trailParticles;
-    static ParticleSystem*            explosionParticles;
+    static SpriteParticles*           trailParticles;
+    static SpriteParticles*           explosionParticles;
 
     ParticleEmitter*                  emitter;
Index: /trunk/src/world_entities/projectiles/laser.cc
===================================================================
--- /trunk/src/world_entities/projectiles/laser.cc	(revision 6621)
+++ /trunk/src/world_entities/projectiles/laser.cc	(revision 6622)
@@ -71,5 +71,5 @@
 }
 
-ParticleSystem* Laser::explosionParticles = NULL;
+SpriteParticles* Laser::explosionParticles = NULL;
 
 void Laser::activate()
Index: /trunk/src/world_entities/projectiles/laser.h
===================================================================
--- /trunk/src/world_entities/projectiles/laser.h	(revision 6621)
+++ /trunk/src/world_entities/projectiles/laser.h	(revision 6622)
@@ -11,5 +11,5 @@
 class Vector;
 class Weapon;
-class ParticleSystem;
+class SpriteParticles;
 class ParticleEmitter;
 class FastFactory;
@@ -36,5 +36,5 @@
     static FastFactory*               fastFactory;
 
-    static ParticleSystem*            explosionParticles;
+    static SpriteParticles*           explosionParticles;
 
     ParticleEmitter*                  emitter;
Index: /trunk/src/world_entities/projectiles/rocket.cc
===================================================================
--- /trunk/src/world_entities/projectiles/rocket.cc	(revision 6621)
+++ /trunk/src/world_entities/projectiles/rocket.cc	(revision 6622)
@@ -74,6 +74,6 @@
 }
 
-ParticleSystem* Rocket::trailParticles = NULL;
-ParticleSystem* Rocket::explosionParticles = NULL;
+SpriteParticles* Rocket::trailParticles = NULL;
+SpriteParticles* Rocket::explosionParticles = NULL;
 
 void Rocket::activate()
Index: /trunk/src/world_entities/projectiles/rocket.h
===================================================================
--- /trunk/src/world_entities/projectiles/rocket.h	(revision 6621)
+++ /trunk/src/world_entities/projectiles/rocket.h	(revision 6622)
@@ -11,5 +11,5 @@
 class Vector;
 class Weapon;
-class ParticleSystem;
+class SpriteParticles;
 class ParticleEmitter;
 class FastFactory;
@@ -35,6 +35,6 @@
   private:
     static FastFactory*               fastFactory;
-    static ParticleSystem*            trailParticles;
-    static ParticleSystem*            explosionParticles;
+    static SpriteParticles*           trailParticles;
+    static SpriteParticles*           explosionParticles;
 
     ParticleEmitter*                  emitter;
Index: /trunk/src/world_entities/projectiles/test_bullet.cc
===================================================================
--- /trunk/src/world_entities/projectiles/test_bullet.cc	(revision 6621)
+++ /trunk/src/world_entities/projectiles/test_bullet.cc	(revision 6622)
@@ -74,6 +74,6 @@
 }
 
-ParticleSystem* TestBullet::trailParticles = NULL;
-ParticleSystem* TestBullet::explosionParticles = NULL;
+SpriteParticles* TestBullet::trailParticles = NULL;
+SpriteParticles* TestBullet::explosionParticles = NULL;
 
 void TestBullet::activate()
Index: /trunk/src/world_entities/projectiles/test_bullet.h
===================================================================
--- /trunk/src/world_entities/projectiles/test_bullet.h	(revision 6621)
+++ /trunk/src/world_entities/projectiles/test_bullet.h	(revision 6622)
@@ -11,5 +11,5 @@
 class Vector;
 class Weapon;
-class ParticleSystem;
+class SpriteParticles;
 class ParticleEmitter;
 class FastFactory;
@@ -35,6 +35,6 @@
   private:
     static FastFactory*               fastFactory;
-    static ParticleSystem*            trailParticles;
-    static ParticleSystem*            explosionParticles;
+    static SpriteParticles*           trailParticles;
+    static SpriteParticles*           explosionParticles;
 
     ParticleEmitter*                  emitter;
