Index: branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 7573)
+++ branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 7573)
@@ -0,0 +1,115 @@
+/*
+   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: hdavid, amaechler
+*/
+
+#include "snow_effect.h"
+
+#include "util/loading/load_param.h"
+#include "util/loading/factory.h"
+
+#include "glincl.h"
+
+#include "state.h"
+#include "sprite_particles.h"
+#include "plane_emitter.h"
+
+#include "parser/tinyxml/tinyxml.h"
+
+using namespace std;
+
+CREATE_FACTORY(SnowEffect, CL_SNOW_EFFECT);
+
+SnowEffect::SnowEffect(const TiXmlElement* root)
+{
+  this->setClassID(CL_SNOW_EFFECT, "SnowEffect");
+
+//   this->snowMode = GL_LINEAR;
+//   this->snowDensity = 0.001f;
+//   this->snowStart = 10.0f;
+//   this->snowEnd = 1000.0f;
+
+  if (root != NULL)
+    this->loadParams(root);
+
+  this->init();
+  
+  this->activate();
+}
+
+
+
+SnowEffect::~SnowEffect()
+{
+  this->deactivate();
+}
+
+SpriteParticles* SnowEffect::snowParticles = NULL;
+
+void SnowEffect::loadParams(const TiXmlElement* root)
+{
+  WeatherEffect::loadParams(root);
+
+//   LoadParam(root, "snow-mode", this, SnowEffect, setSnowMode);
+//   LoadParam(root, "snow-density", this, SnowEffect, setSnowDensity);
+//   LoadParam(root, "snow-color", this, SnowEffect, setSnowColor);
+
+
+}
+
+bool SnowEffect::init()
+{
+  Vector2D      size;
+  size.x = 1200;
+  size.y = 1200;
+  this->emitter = new PlaneEmitter(size, 900, 40, 5);
+}
+
+
+
+bool SnowEffect::activate()
+{
+  PRINTF(0)("Activating Snow Effect\n");
+  /*
+  SnowEffect::snowParticles = new SpriteParticles(2000);
+  SnowEffect::snowParticles->setName("SnowEffectTrailParticles");
+  SnowEffect::snowParticles->setMaterialTexture("maps/radial-trans-noise.png");
+  SnowEffect::snowParticles->setLifeSpan(1.0, .3);
+  SnowEffect::snowParticles->setRadius(0.0, .5);
+  SnowEffect::snowParticles->setRadius(0.2, 2.0);
+  SnowEffect::snowParticles->setRadius(.5, .8);
+  SnowEffect::snowParticles->setRadius(1.0, .8);
+  SnowEffect::snowParticles->setColor(0.0, 1,0,0,.7);
+  SnowEffect::snowParticles->setColor(0.2, .8,.8,0,.5);
+  SnowEffect::snowParticles->setColor(0.5, .8,.8,.8,.8);
+  SnowEffect::snowParticles->setColor(1.0, .8,.8,.8,.0);
+  
+  this->emitter->setSystem(SnowEffect::snowParticles);
+
+  this->updateNode(0);
+  this->emitter->setEmissionRate(45.0);
+  this->emitter->setEmissionVelocity(0.0);*/
+}
+
+
+bool SnowEffect::deactivate()
+{
+  PRINTF(0)("Deactivating Snow Effect\n");
+}
+
+void SnowEffect::draw() const
+{
+}
+
+void SnowEffect::tick(float dt)
+{
+}
Index: branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h	(revision 7573)
+++ branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h	(revision 7573)
@@ -0,0 +1,49 @@
+/**
+ * @file snow_effect.h
+ */
+
+#ifndef _SNOW_EFFECT
+#define _SNOW_EFFECT
+
+#include "vector.h"
+#include "particle_system.h"
+#include "material.h"
+#include "vector2D.h"
+
+#include "weather_effect.h"
+
+class SpriteParticles;
+
+class SnowEffect : public WeatherEffect
+{
+  public:
+    SnowEffect(const TiXmlElement* root = NULL);
+    virtual ~SnowEffect();
+
+    virtual void loadParams(const TiXmlElement* root);
+
+    virtual bool init();
+
+    virtual bool activate();
+    virtual bool deactivate();
+
+    virtual void draw() const;
+    virtual void tick(float dt);
+
+//     inline void setSnowMode(const std::string& mode) { this->snowMode = this->stringToSnowMode(mode); }
+//     inline void setSnowDensity(float density) { this->snowDensity = density; }
+//     inline void setSnowRange(float start, float end) { this->snowStart = start; this->snowEnd = end; }
+//     inline void setSnowColor(float r, float g, float b) { this->colorVector = Vector(r, g, b); }
+  private:
+//     GLint                    snowMode;
+//     GLfloat                 snowDensity;
+//     GLfloat                 snowStart;
+//     GLfloat                 snowEnd;
+//     Vector                  colorVector;
+    static SpriteParticles* snowParticles;
+    
+    ParticleEmitter*          emitter;
+};
+
+
+#endif  /* _SNOW_EFFECT */
