Index: branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc	(revision 8118)
+++ branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.cc	(revision 8119)
@@ -57,19 +57,18 @@
 bool CloudEffect::init()
 {
-  PRINTF(1)("Initializing CloudEffect\n");
+	PRINTF(1)("Initializing CloudEffect\n");
 
-  this->sphereObj = gluNewQuadric();
-  //this->setParentMode(PNODE_MOVEMENT);
+	this->sphereObj = gluNewQuadric();
+	//this->setParentMode(PNODE_MOVEMENT);
 
-  gluQuadricTexture(this->sphereObj, GL_TRUE);
-  gluQuadricOrientation(this->sphereObj, GLU_INSIDE);
+	gluQuadricTexture(this->sphereObj, GL_TRUE);
+	gluQuadricOrientation(this->sphereObj, GLU_INSIDE);
 
+	this->setRadius(1900.0);
 
-  this->setRadius(1900.0);
+	mover = 0.0f;
 
-  mover = 0.0f;
-
-  // Initializing default values
-  this->cloudSpeed = 1.0f;
+	// Initializing default values
+	this->cloudSpeed = 1.0f;
 	this->cloudTexture = "pictures/sky/cloud1.jpg";
 }
@@ -90,7 +89,7 @@
 
 	this->cloudMaterial = new Material("Sky");
-  this->cloudMaterial->setIllum(3);
-  this->cloudMaterial->setAmbient(1.0, 1.0, 1.0);
-  this->cloudMaterial->setDiffuseMap(this->cloudTexture);
+	this->cloudMaterial->setIllum(3);
+	this->cloudMaterial->setAmbient(1.0, 1.0, 1.0);
+	this->cloudMaterial->setDiffuseMap(this->cloudTexture);
 }
 
@@ -108,32 +107,32 @@
 	*/
 
-  glMatrixMode(GL_MODELVIEW);
-  glPushMatrix();
+	glMatrixMode(GL_MODELVIEW);
+	glPushMatrix();
 
-  // Move sphere along with the camera
-  Vector r = State::getCameraNode()->getAbsCoor();
-  glTranslatef(r.x, r.y, r.z);
+	// 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();
+	cloudMaterial->select();
+	gluSphere(this->sphereObj, this->sphereRadius, 20, 20);
+	glPopMatrix();
 }
 
 void CloudEffect::tick (float dt)
 {
-  mover = mover + this->cloudSpeed * dt;
+	mover = mover + this->cloudSpeed * dt;
 }
 
 
 /**
- *  sets the Radius of the Sphere.
- * @param radius The Radius of The Sphere
+*  sets the Radius of the Sphere.
+* @param radius The Radius of The Sphere
 */
 void CloudEffect::setRadius(float radius)
 {
-  this->sphereRadius = radius;
+	this->sphereRadius = radius;
 }
 
Index: branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h	(revision 8118)
+++ branches/atmospheric_engine/src/lib/graphics/effects/cloud_effect.h	(revision 8119)
@@ -40,10 +40,11 @@
 		void initialize(char* fileName);
 
-		GLUquadricObj*			sphereObj;							// A Placeholder for the SkySphere.
-		Material*						cloudMaterial;					// A Material for the SkySphere.
-		float								sphereRadius;						// Radius of the SkySphere.
-		float 							mover;
-		float								cloudSpeed;
-		std::string				cloudTexture;
+		GLUquadricObj*			sphereObj;		// A Placeholder for the Sphere.
+		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; }
Index: branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8118)
+++ branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8119)
@@ -1,14 +1,14 @@
 /*
-   orxonox - the future of 3D-vertical-scrollers
+orxonox - the future of 3D-vertical-scrollers
 
-   Copyright (C) 2004 orx
+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.
+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
+main-programmer: hdavid, amaechler
 */
 
@@ -31,4 +31,6 @@
 SHELL_COMMAND(activate, RainEffect, activateRain);
 SHELL_COMMAND(deactivate, RainEffect, deactivateRain);
+
+SHELL_COMMAND(startRaining, RainEffect, startRaining);
 
 using namespace std;
@@ -59,6 +61,6 @@
 	}
 
-  if(rainActivate)
-	 this->activate();
+	if(rainActivate)
+		this->activate();
 }
 
@@ -84,11 +86,11 @@
 	LoadParam(root, "life", this, RainEffect, setRainLife);
 	LoadParam(root, "wind", this, RainEffect, setRainWind);
-  
-  LOAD_PARAM_START_CYCLE(root, element);
-  {
-    LoadParam_CYCLE(element, "option", this, RainEffect, setRainOption);
-  }
-  LOAD_PARAM_END_CYCLE(element);
-  
+
+	LOAD_PARAM_START_CYCLE(root, element);
+	{
+		LoadParam_CYCLE(element, "option", this, RainEffect, setRainOption);
+	}
+	LOAD_PARAM_END_CYCLE(element);
+
 }
 
@@ -97,6 +99,6 @@
 {
 	//Default values
-  this->rainActivate = false;
-  this->rainMove = false;
+	this->rainActivate = false;
+	this->rainMove = false;
 	this->rainCoord = Vector(500, 500, 500);
 	this->rainSize = Vector2D(1000, 1000);
@@ -108,6 +110,6 @@
 
 	this->emitter = new PlaneEmitter(this->rainSize);
-  
-  lightMan = LightManager::getInstance();
+
+	lightMan = LightManager::getInstance();
 }
 
@@ -145,6 +147,6 @@
 	if (this->rainWindForce > 0)
 		this->soundSource.loop(this->windBuffer, 0.5f);
-  
-  lightMan->setAmbientColor(.1,.1,.1);
+
+	lightMan->setAmbientColor(.1,.1,.1);
 }
 
@@ -156,6 +158,6 @@
 
 	this->soundSource.stop();
-  
-  lightMan->setAmbientColor(1,1,1);
+
+	lightMan->setAmbientColor(1,1,1);
 }
 
@@ -167,2 +169,13 @@
 	}
 }
+
+/**
+*  Slowly starts rain
+*  @param duration duration of the fade in process in seconds
+*/
+void RainEffect::startRaining(float duration)
+{
+	// use alpha in color to fade in
+	// increase radius for more "heavy" rain
+	// increase sound volume
+}
Index: branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.h
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.h	(revision 8118)
+++ branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.h	(revision 8119)
@@ -35,8 +35,8 @@
 		virtual bool deactivate();
 
-    void activateRain() { this->activate(); }
-    void deactivateRain() { this->deactivate(); }
+		virtual void tick(float dt);
 
-		virtual void tick(float dt);
+		inline void activateRain() { this->activate(); }
+		inline void deactivateRain() { this->deactivate(); }
 
 		inline void setRainCoord(float x, float y, float z) { this->rainCoord = Vector(x, y, z); }
@@ -46,29 +46,31 @@
 		inline void setRainLife(float life) { this->rainLife = life; }
 		inline void setRainWind(int force) { this->rainWindForce = force; }
-		inline void setRainOption(const std::string& option) { if (option == "moverain") this->rainMove = true;
-                                                                                if (option == "activate") this->rainActivate = true; }
+		inline void setRainOption(const std::string& option) {
+			if (option == "moverain") this->rainMove = true;
+			if (option == "activate") this->rainActivate = true;
+		}
 
+		void startRaining(float duration);
 
 	private:
-		static SparkParticles*						rainParticles;
-		ParticleEmitter*									emitter;
+		static SparkParticles*			rainParticles;
+		ParticleEmitter*			emitter;
 
-		Vector														rainCoord;
-		Vector2D													rainSize;
-		GLfloat														rainRate;
-		GLfloat														rainVelocity;
-		GLfloat														rainLife;
-		GLfloat														rainMaxParticles;
-		int																rainWindForce;
-		bool															rainMove;
-    bool                              rainActivate;
+		Vector					rainCoord;
+		Vector2D				rainSize;
+		GLfloat					rainRate;
+		GLfloat					rainVelocity;
+		GLfloat					rainLife;
+		GLfloat					rainMaxParticles;
+		int					rainWindForce;
+		bool					rainMove;
+		bool					rainActivate;
 
 		OrxSound::SoundSource			soundSource;
 		OrxSound::SoundBuffer*			rainBuffer;
 		OrxSound::SoundBuffer*			windBuffer;
-    
-    LightManager* lightMan;
+
+		LightManager* lightMan;
 };
 
-
 #endif  /* _RAIN_EFFECT */
