Index: /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc
===================================================================
--- /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc	(revision 8241)
+++ /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc	(revision 8242)
@@ -27,4 +27,5 @@
 #include "p_node.h"
 #include "shader.h"
+#include "shell_command.h"
 
 #include "parser/tinyxml/tinyxml.h"
@@ -33,4 +34,7 @@
 
 using namespace std;
+
+SHELL_COMMAND(activate, CloudEffect, activateCloud);
+SHELL_COMMAND(deactivate, CloudEffect, deactivateCloud);
 
 CREATE_FACTORY(CloudEffect, CL_CLOUD_EFFECT);
@@ -45,5 +49,6 @@
 		this->loadParams(root);
 
-	this->activate();
+	if(cloudActivate)
+		this->activate();
 }
 
@@ -54,6 +59,6 @@
 	delete this->cloudMaterial;
 
-	g_sky_model.Delete();
-	Shader::unload(this->skyShader);
+	cloudModel.Delete();
+	Shader::unload(this->cloudShader);
 
 }
@@ -63,4 +68,89 @@
 {
 	PRINTF(1)("Initializing CloudEffect\n");
+
+	// Default values
+	this->cloudActivate = false;
+	this->cloudTint[4] = ( 0.9f, 0.7f, 0.7f, 1.0f );
+	this->cloudScroll = 1.0f;
+	this->time = 0.0f;
+	//g_cloud_texture = 0;
+
+	this->cloudTexture = "pictures/sky/cloud1.jpg";
+
+	cloudModel.Load("sky.sgl");
+	cloudModel.Unitize();
+
+	// Get the bounding box of the sky dome
+	float bbox[3] = {0};
+	cloudModel.GetDimensions(bbox[0], bbox[1], bbox[2]);
+	
+	// Load Shaders
+	this->cloudShader = new Shader( ResourceManager::getInstance()->getDataDir() + "/shaders/sky.vert", ResourceManager::getInstance()->getDataDir() +"/shaders/sky.frag");
+
+	// Tell the shader the bounding box of the sky dome
+	this->cloudShader->bindShader("bbox", bbox, 4);
+
+	// Initialze Cloud Material
+	this->cloudMaterial = new Material("Sky");
+	this->cloudMaterial->setIllum(3);
+	this->cloudMaterial->setAmbient(1.0, 1.0, 1.0);
+	this->cloudMaterial->setDiffuseMap(this->cloudTexture);
+
+}
+
+
+void CloudEffect::loadParams(const TiXmlElement* root)
+{
+	WeatherEffect::loadParams(root);
+
+	// LoadParam(root, "speed", this, CloudEffect, setCloudAnimation);
+	// LoadParam(root, "texture", this, CloudEffect, setCloudTexture);
+
+	LOAD_PARAM_START_CYCLE(root, element);
+	{
+		LoadParam_CYCLE(element, "option", this, CloudEffect, setCloudOption);
+	}
+	LOAD_PARAM_END_CYCLE(element);
+}
+
+
+bool CloudEffect::activate()
+{
+	PRINTF(0)( "Activating CloudEffect with Material %s\n", this->cloudTexture.c_str());
+
+	this->cloudActivate = true;
+	
+}
+
+bool CloudEffect::deactivate()
+{
+	PRINTF(0)("Deactivating CloudEffect\n");
+
+	this->cloudActivate = false;
+}
+
+void CloudEffect::draw() const
+{
+	if (!this->cloudActivate)
+		return;
+		
+	// 	glMatrixMode(GL_MODELVIEW);
+	// 	glPushMatrix();
+	//
+	// 	// Move sphere along with the camera
+	// 	Vector r = State::getCameraNode()->getAbsCoor();
+	// 	glTranslatef(r.x, r.y, r.z);
+	//
+	// 	// Sky movement
+	// 	glRotatef(mover, 0, 0, 1);
+	//
+	// 	cloudMaterial->select();
+	// 	gluSphere(this->sphereObj, this->sphereRadius, 20, 20);
+	// 	glPopMatrix();
+
+	// ******
+
+	glMatrixMode(GL_MODELVIEW);
+	glPushMatrix();
 
 	// glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
@@ -72,88 +162,4 @@
 	
 	glLineWidth(3.0f);
-	
-	float diffuse[]  = {1.0f, 1.0f, 1.0f, 1.0f};
-	float position[] = {0.0f, 2.0f, 0.0f, 1.0f};
-	float specular[] = {1.0f, 1.0f, 1.0f, 1.0f};
-	
-	glEnable(GL_LIGHTING);
-	glEnable( GL_LIGHT0);
-	glLightfv(GL_LIGHT0, GL_DIFFUSE,  diffuse);
-	glLightfv(GL_LIGHT0, GL_POSITION, position);
-	glLightfv(GL_LIGHT0, GL_SPECULAR, specular);
-	
-	float shininess = 5.0f;
-	glEnable(GL_COLOR_MATERIAL);
-	glMaterialf( GL_FRONT, GL_SHININESS, shininess);
-	glMaterialfv(GL_FRONT, GL_SPECULAR,  specular);
-
-	this->cloudTexture = "pictures/sky/cloud1.jpg";
-
-	g_sky_model.Load("sky.sgl");
-	g_sky_model.Unitize();
-
-	/* Get the bounding box of the sky dome. */
-	float bbox[3] = {0};
-	g_sky_model.GetDimensions(bbox[0], bbox[1], bbox[2]);
-	
-	// this->skyShader = (Shader*)ResourceManager::getInstance()->load("shaders/sky.vert", SHADER, RP_GAME, "shaders/skyfrag");
-	this->skyShader = new Shader( ResourceManager::getInstance()->getDataDir() + "/shaders/sky.vert", ResourceManager::getInstance()->getDataDir() +"/shaders/sky.frag");
-
-	/* Tell the shader the bounding box of the sky dome. */
-	this->skyShader->bindShader("bbox", bbox, 4);
-
-	//g_cloud_texture = 0;
-
-	g_tint[4] = ( 0.9f, 0.7f, 0.7f, 1.0f );
-	g_scroll = 1.0f;
-	time = 0.0f;
-}
-
-
-void CloudEffect::loadParams(const TiXmlElement* root)
-{
-	WeatherEffect::loadParams(root);
-
-	LoadParam(root, "speed", this, CloudEffect, setCloudAnimation);
-	LoadParam(root, "texture", this, CloudEffect, setCloudTexture);
-}
-
-
-bool CloudEffect::activate()
-{
-	PRINTF(0)( "Activating CloudEffect with Material %s\n", this->cloudTexture.c_str());
-
-	this->cloudMaterial = new Material("Sky");
-	this->cloudMaterial->setIllum(3);
-	this->cloudMaterial->setAmbient(1.0, 1.0, 1.0);
-	this->cloudMaterial->setDiffuseMap(this->cloudTexture);
-}
-
-bool CloudEffect::deactivate()
-{
-	PRINTF(0)("Deactivating CloudEffect\n");
-}
-
-void CloudEffect::draw() const
-{
-
-// 	glMatrixMode(GL_MODELVIEW);
-// 	glPushMatrix();
-// 
-// 	// Move sphere along with the camera
-// 	Vector r = State::getCameraNode()->getAbsCoor();
-// 	glTranslatef(r.x, r.y, r.z);
-// 
-// 	// Sky movement
-// 	glRotatef(mover, 0, 0, 1);
-// 
-// 	cloudMaterial->select();
-// 	gluSphere(this->sphereObj, this->sphereRadius, 20, 20);
-// 	glPopMatrix();
-
-	// ******
-
-	glMatrixMode(GL_MODELVIEW);
-	glPushMatrix();
 
 	static float time = 0.0f;
@@ -164,25 +170,26 @@
 	// gluLookAt(eye[x], eye[y], eye[z], look[x], look[y], look[z], up[x], up[y], up[z]);
 
-	/* Turn off the depth buffer when rendering the background. */
+	// Turn off the depth buffer when rendering the background
 	// glDisable(GL_DEPTH_TEST);
 
-	this->skyShader->activateShader();
+	this->cloudShader->activateShader();
 
 	/* Select the shader program and update parameters. */
 	/* The "time" parameter controls the cloud scrolling. */
-	this->skyShader->bindShader("time", &time, 1);
+	this->cloudShader->bindShader("time", &time, 1);
 	/* The "horizon" parameter controls the sky tinting. */
-	this->skyShader->bindShader("horizon", g_tint, 4);
-	
+	this->cloudShader->bindShader("horizon", cloudTint, 4);
+
 	glActiveTexture(GL_TEXTURE0 + 0);
 	glActiveTexture(GL_TEXTURE0 + 1);
-	/* Load the cloud texture. */
+
+	// Load the cloud texture
 	//glBindTexture(GL_TEXTURE_2D, g_cloud_texture);
 	this->cloudMaterial->select();
-	
-	/* Render the sky dome. */
-	g_sky_model.Render();
-	
-	/* Unselect the shader. */
+
+	// Render the sky dome
+	cloudModel.Render();
+
+	// Unselect the shader
 	Shader::deactivateShader();
 
@@ -203,12 +210,14 @@
 
 	glPopMatrix();
+	
 }
 
 void CloudEffect::tick (float dt)
 {
-	// mover = mover + this->cloudSpeed * dt;
-
-	/* Update the timer for scrolling the clouds. */
-	time = time + ((1.0f / 2000.0f) * g_scroll);
-}
-
+	if (!this->cloudActivate)
+		return;
+
+	// Update the timer for scrolling the clouds
+	time = time + ((1.0f / 2000.0f) * cloudScroll);
+}
+
Index: /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h
===================================================================
--- /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h	(revision 8241)
+++ /branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h	(revision 8242)
@@ -33,9 +33,13 @@
 		virtual bool deactivate();
 
+		inline void activateCloud() { this->activate(); }
+		inline void deactivateCloud() { this->deactivate(); }
+		
 		virtual void draw() const;
 		virtual void tick(float dt);
 
-		// void setRadius(float radius);
-		// void setTexture(char* fileName);
+		inline void setCloudOption(const std::string& option) {
+			if (option == "activate") this->cloudActivate = true;
+		}
 
 
@@ -43,23 +47,17 @@
 		void initialize(char* fileName);
 
-		// GLUquadricObj*		sphereObj;		// A Placeholder for the Sphere.
+		bool				cloudActivate;
+
 		Material*			cloudMaterial;		// A Material for the Sphere.
-		float				sphereRadius;		// Radius of the Sphere.
 
-		float 				mover;
-		float				cloudSpeed;
 		std::string			cloudTexture;
 
-		inline void setCloudTexture(const std::string& file) { this->cloudTexture = file; }
-		inline void setCloudAnimation(float speed) { this->cloudSpeed = speed; }
+		Sglmodel_sgl			cloudModel;
+		Shader*				cloudShader;
 
-		Sglmodel_sgl g_sky_model;
-		Shader* skyShader;
+		GLfloat				cloudTint[4];
+		GLfloat				cloudScroll;
 
-		float g_tint[4];
-		float g_scroll;
-
-		float time;
-
+		float				time;
 
 };
Index: /branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc
===================================================================
--- /branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8241)
+++ /branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8242)
@@ -125,4 +125,6 @@
 	PRINTF(0)( "Activating RainEffect, coord: %f, %f, %f, size: %f, %f, rate: %f, velocity: %f, moveRain: %s\n", this->rainCoord.x, this->rainCoord.y, this->rainCoord.z, this->rainSize.x, this-> rainSize.y, this->rainRate, this->rainVelocity, this->rainMove ? "true" : "false" );
 
+	this->rainActivate = true;
+
 	if (unlikely(RainEffect::rainParticles == NULL))
 	{
@@ -134,7 +136,7 @@
 		RainEffect::rainParticles->setRadius(0.2, 0.02);
 		RainEffect::rainParticles->setRadius(1, 0.01);
-		RainEffect::rainParticles->setColor(0, 0.3, 0.3, 0.5, 0.2); // grey blue 1
-		RainEffect::rainParticles->setColor(0.5, 0.4, 0.4, 0.5, 0.2); // grey blue 2
-		RainEffect::rainParticles->setColor(1, 0.7, 0.7, 0.7, 0.2); // light grey
+		RainEffect::rainParticles->setColor(0, 0.3, 0.3, 0.5, 0.2);	// grey blue 1
+		RainEffect::rainParticles->setColor(0.5, 0.4, 0.4, 0.5, 0.2);	// grey blue 2
+		RainEffect::rainParticles->setColor(1, 0.7, 0.7, 0.7, 0.2);	// light grey
 	}
 
@@ -158,6 +160,7 @@
 {
 	PRINTF(0)("Deactivating RainEffect\n");
+	
+	this->rainActivate = false;
 	this->emitter->setSystem(NULL);
-
 	this->soundSource.stop();
 
@@ -167,35 +170,37 @@
 void RainEffect::tick (float dt)
 {
-	if (RainEffect::rainParticles != NULL) {
-		if (this->rainMove) {
-			this->rainCoord = State::getCameraNode()->getAbsCoor();
-			this->emitter->setRelCoor(this->rainCoord.x , this->rainCoord.y+800, this->rainCoord.z);
-		}
+	if (!this->rainActivate)
+		return;
+		
+	if (this->rainMove) {
+		this->rainCoord = State::getCameraNode()->getAbsCoor();
+		this->emitter->setRelCoor(this->rainCoord.x , this->rainCoord.y+800, this->rainCoord.z);
+	}
+
+	if (this->rainStartDuration != 0 && this->localTimer < this->rainStartDuration) {
+		this->localTimer += dt;
+		float progress = this->localTimer / this->rainStartDuration;
+
+		// PRINTF(0)("Progress %f: \n", progress);
+
+		// use alpha in color to fade in
+		RainEffect::rainParticles->setColor(0,   0.3, 0.3, 0.5, 0.2 * progress); // grey blue 1
+		RainEffect::rainParticles->setColor(0.5, 0.4, 0.4, 0.5, 0.2 * progress); // grey blue 2
+		RainEffect::rainParticles->setColor(1,   0.7, 0.7, 0.7, 0.2 * progress); // light grey
+
+		// increase radius for more "heavy" rain
+		RainEffect::rainParticles->setRadius(0, 0.03 * progress);
+		RainEffect::rainParticles->setRadius(0.2, 0.02 * progress);
+		RainEffect::rainParticles->setRadius(1, 0.01 * progress);
+
+		// increase sound volume
+		// this->soundSource.fadein(this->rainBuffer, 10);
+	}
 	
-		if (this->rainStartDuration != 0 && this->localTimer < this->rainStartDuration) {
-			this->localTimer += dt;
-			float progress = this->localTimer / this->rainStartDuration;
-	
-			// PRINTF(0)("Progress %f: \n", progress);
-	
-			// use alpha in color to fade in
-			RainEffect::rainParticles->setColor(0,   0.3, 0.3, 0.5, 0.2 * progress); // grey blue 1
-			RainEffect::rainParticles->setColor(0.5, 0.4, 0.4, 0.5, 0.2 * progress); // grey blue 2
-			RainEffect::rainParticles->setColor(1,   0.7, 0.7, 0.7, 0.2 * progress); // light grey
-	
-			// increase radius for more "heavy" rain
-			RainEffect::rainParticles->setRadius(0, 0.03 * progress);
-			RainEffect::rainParticles->setRadius(0.2, 0.02 * progress);
-			RainEffect::rainParticles->setRadius(1, 0.01 * progress);
-	
-			// increase sound volume
-			// this->soundSource.fadein(this->rainBuffer, 10);
-		}
-	}
 }
 
 void RainEffect::startRaining() {
 
-	if (RainEffect::rainParticles != NULL)
+	if (this->rainActivate)
 		this->deactivate();
 
Index: /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc
===================================================================
--- /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 8241)
+++ /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 8242)
@@ -53,6 +53,6 @@
 	}
 
-  if(snowActivate)
-    this->activate();
+	if(snowActivate)
+		this->activate();
 }
 
@@ -76,13 +76,13 @@
 	LoadParam(root, "emissionRate", this, SnowEffect, emissionRate);
 	LoadParam(root, "emissionVelocity", this, SnowEffect, emissionVelocity);
-  LoadParam(root, "wind", this, SnowEffect, wind);
+	LoadParam(root, "wind", this, SnowEffect, wind);
 	LoadParam(root, "size", this, SnowEffect, size);
 	LoadParam(root, "coord", this, SnowEffect, coord);
   
-  LOAD_PARAM_START_CYCLE(root, element);
-  {
-    LoadParam_CYCLE(element, "option", this, SnowEffect, setSnowOption);
-  }
-  LOAD_PARAM_END_CYCLE(element);
+	LOAD_PARAM_START_CYCLE(root, element);
+	{
+		LoadParam_CYCLE(element, "option", this, SnowEffect, setSnowOption);
+	}
+	LOAD_PARAM_END_CYCLE(element);
 }
 
@@ -92,6 +92,6 @@
 
 	// Default values
-  this->snowActivate = false;
-  this->snowMove = false;
+	this->snowActivate = false;
+	this->snowMove = false;
 	this->particles = 12000;
 	this->texture = "maps/snow_flake_01_32x32.png";
@@ -109,8 +109,6 @@
 	this->alpha = 0.5;
 	this->snowSize = Vector2D(2500, 2500);
-  this->snowCoord = Vector(100,450,400);
+	this->snowCoord = Vector(100,450,400);
 	this->snowWindForce = 1;
-
-//	this->activated = false;
 }
 
@@ -118,5 +116,6 @@
 {
 	PRINTF(0)("Activating SnowEffect\n");
-//	activated = true;
+
+	this->snowActivate = true;
 
 	SnowEffect::snowParticles = new SpriteParticles(particles);
@@ -140,5 +139,5 @@
 	this->emitter->setSize(snowSize);
 
-  //SnowEffect::snowParticles->precache(8);
+	// SnowEffect::snowParticles->precache(8);
 
 	if (this->snowWindForce > 1)
@@ -150,6 +149,6 @@
 {
 	PRINTF(0)("Deactivating SnowEffect\n");
-	//activated = false;
-
+
+	this->snowActivate = false;
 	this->emitter->setSystem(NULL);
 
@@ -161,44 +160,50 @@
 void SnowEffect::draw() const
 {
+	if (!this->snowActivate)
+		return;
 }
 
 void SnowEffect::tick(float dt)
-{/*
-  float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len();
-  
-  if(activated)
-  {
-    if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y)
-		  this->deactivate();
-    else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y) 
-      this->alpha = 0.15;
-    else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y) 
-      this->alpha = 0.25;
-    else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y) 
-      this->alpha = 0.4;
-
-    SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
-    SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
-    SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
-  }
-  else
-  {
-  if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y )
-    this->activate();
-  if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y )
-    this->alpha = 0.25;
-  else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y )
-    this->alpha = 0.4;
-  else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y )
-    this->alpha = 0.5;
-
-    SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
-    SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
-    SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
-}*/
-  if (this->snowMove) {
-    this->snowCoord = State::getCameraNode()->getAbsCoor();
-    this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z);
-  }
-}
-
+{
+	if (!this->snowActivate)
+		return;
+
+	/*
+	float distance = (State::getCameraNode()->getAbsCoor() - Vector(snowCoord.x, State::getCameraNode()->getAbsCoor().y, snowCoord.z)).len();
+	
+	if(activated)
+	{
+	if(distance > 0.3*snowSize.x || distance > 0.3*snowSize.y)
+			this->deactivate();
+	else if(distance > 0.25*snowSize.x || distance > 0.25*snowSize.y)
+	this->alpha = 0.15;
+	else if(distance > 0.2*snowSize.x || distance > 0.2*snowSize.y)
+	this->alpha = 0.25;
+	else if(distance > 0.1*snowSize.x || distance > 0.1*snowSize.y)
+	this->alpha = 0.4;
+	
+	SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
+	SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
+	SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
+	}
+	else
+	{
+	if(distance < 0.3*snowSize.x || distance < 0.3*snowSize.y )
+	this->activate();
+	if( distance < 0.25*snowSize.x || distance < 0.25*snowSize.y )
+	this->alpha = 0.25;
+	else if( distance < 0.2*snowSize.x || distance < 0.2*snowSize.y )
+	this->alpha = 0.4;
+	else if( distance < 0.1*snowSize.x || distance < 0.1*snowSize.y )
+	this->alpha = 0.5;
+	
+	SnowEffect::snowParticles->setColor(0,1, 1, 1, alpha);
+	SnowEffect::snowParticles->setColor(.5, .6, .6, .6, alpha/2);
+	SnowEffect::snowParticles->setColor(1, .0, .0, .0, .0);
+	}*/
+
+	if (this->snowMove) {
+		this->snowCoord = State::getCameraNode()->getAbsCoor();
+		this->emitter->setRelCoor(this->snowCoord.x , this->snowCoord.y+300, this->snowCoord.z);
+	}
+}
Index: /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h
===================================================================
--- /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h	(revision 8241)
+++ /branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.h	(revision 8242)
@@ -33,9 +33,10 @@
 		virtual bool deactivate();
 
+		inline void activateSnow() { this->activate(); }
+		inline void deactivateSnow() { this->deactivate(); }
+		
 		virtual void draw() const;
 		virtual void tick(float dt);
 
-    void activateSnow() { this->activate(); }
-    void deactivateSnow() { this->deactivate(); }
 
 		inline void numParticles(int n) { this->particles = n; }
@@ -48,33 +49,35 @@
 		inline void size(float sizeX, float sizeY) { this->snowSize = Vector2D(sizeX, sizeY); }
 		inline void coord(float x, float y, float z) { this->snowCoord = Vector(x, y, z); }
-    inline void wind(int force) { this->snowWindForce = force; }
-    inline void setSnowOption(const std::string& option) { /*if (option == "fade") this->snowFade = true;*/
-                                                                                  if (option == "movesnow") this->snowMove = true;
-                                                                                  if (option == "activate") this->snowActivate = true; }
+		inline void wind(int force) { this->snowWindForce = force; }
+
+		inline void setSnowOption(const std::string& option) {
+			/*if (option == "fade") this->snowFade = true;*/
+			if (option == "movesnow") this->snowMove = true;
+			if (option == "activate") this->snowActivate = true;
+		}
 
 
 	private:
-		int 																particles;
-		std::string 												texture;
-		float 															life, randomLife;
-		float																snowRadius, randomRadius;
-		float																snowMass, randomMass;
-		float 															rate;
-		float 															velocity, randomVelocity;
-		float 															angle, randomAngle;
-		float 															alpha;
-		Vector 															snowCoord;
-		Vector2D 														snowSize;
-		int																	snowWindForce;
+		int 				particles;
+		std::string 			texture;
+		float				life, randomLife;
+		float				snowRadius, randomRadius;
+		float				snowMass, randomMass;
+		float 				rate;
+		float 				velocity, randomVelocity;
+		float 				angle, randomAngle;
+		float 				alpha;
+		Vector 				snowCoord;
+		Vector2D 			snowSize;
+		int				snowWindForce;
 
-		//bool																activated;
-    bool                              snowMove;
-    bool                              snowActivate;
-    
-		PlaneEmitter*												emitter;
+		bool 				snowMove;
+		bool 				snowActivate;
 
-		static SpriteParticles* 						snowParticles;
-		OrxSound::SoundSource              soundSource;
-		OrxSound::SoundBuffer*             windBuffer;
+		PlaneEmitter*			emitter;
+
+		static SpriteParticles*		snowParticles;
+		OrxSound::SoundSource		soundSource;
+		OrxSound::SoundBuffer*		windBuffer;
 
 };
