Index: branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.cc	(revision 8713)
+++ branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.cc	(revision 8716)
@@ -78,4 +78,6 @@
     this->fogFadeOutDuration = 0;
     this->fogFadeDensity = 0;
+    this->fogFadeEnd = 0;
+
     this->localTimer = 0;
     this->fogActivate = false;
@@ -123,15 +125,8 @@
     // If Fog Fade
     if ( this->fogFadeInActivate || this->fogFadeOutActivate ) {
-      glDisable(GL_FOG);
-
-      GLfloat fogColor[4] = { colorVector.x, colorVector.y, colorVector.z, 1.0};
-      glFogi(GL_FOG_MODE, this->fogMode);
-      glFogfv(GL_FOG_COLOR, fogColor);
-      glHint(GL_FOG_HINT, GL_DONT_CARE);
-      glFogf(GL_FOG_DENSITY, this->fogFadeDensity);
-      glFogf(GL_FOG_START, this->fogStart);
-      glFogf(GL_FOG_END, this->fogEnd);
-
-      glEnable(GL_FOG);
+        if ( this->fogMode == GL_LINEAR)
+            glFogf(GL_FOG_END, this->fogFadeEnd);
+        else
+            glFogf(GL_FOG_DENSITY, this->fogFadeDensity);
     }
 }
@@ -144,7 +139,11 @@
     if ( this->fogFadeInActivate ) {
         this->localTimer += dt;
-        this->fogFadeDensity = ( this->localTimer / this->fogFadeInDuration ) * this->fogDensity;
-
-        if ( this->localTimer >= this->fogFadeOutDuration )
+
+        if ( this->fogMode == GL_LINEAR)
+          this->fogFadeEnd = 2000 * (1 - ( this->localTimer / this->fogFadeInDuration )) + this->fogEnd;
+        else
+            this->fogFadeDensity = ( this->localTimer / this->fogFadeInDuration ) * this->fogDensity;
+
+        if ( this->localTimer >= this->fogFadeInDuration )
             this->fogFadeInActivate = false;
     }
@@ -152,5 +151,9 @@
     if ( this->fogFadeOutActivate ) {
         this->localTimer += dt;
-        this->fogFadeDensity = 1 - (( this->localTimer / this->fogFadeInDuration ) * this->fogDensity);
+
+        if ( this->fogMode == GL_LINEAR)
+          this->fogFadeEnd = 2000 * ( this->localTimer / this->fogFadeInDuration ) + this->fogEnd;
+        else
+            this->fogFadeDensity = 1 - (( this->localTimer / this->fogFadeInDuration ) * this->fogDensity);
 
         if ( this->localTimer >= this->fogFadeOutDuration )
@@ -175,9 +178,9 @@
     this->localTimer = 0;
 
+    // Activate Fog
+    this->activate();
+
     // set FogFadeIn activate
     this->fogFadeInActivate = true;
-
-    // Activate Fog
-    this->activate();
 
 }
Index: branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.h
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.h	(revision 8713)
+++ branches/atmospheric_engine/src/lib/graphics/effects/fog_effect.h	(revision 8716)
@@ -89,4 +89,6 @@
     GLfloat       fogStart;
     GLfloat       fogEnd;
+    GLfloat       fogFadeEnd;
+
     Vector        colorVector;
 };
Index: branches/atmospheric_engine/src/lib/graphics/effects/lightening_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/lightening_effect.cc	(revision 8713)
+++ branches/atmospheric_engine/src/lib/graphics/effects/lightening_effect.cc	(revision 8716)
@@ -145,5 +145,5 @@
   if (this->thunderBuffer != NULL)
     ResourceManager::getInstance()->unload(this->thunderBuffer);
-  this->thunderBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/thunder.ogg", OGG);
+  this->thunderBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/thunder.wav", WAV);
 
 }
Index: branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8713)
+++ branches/atmospheric_engine/src/lib/graphics/effects/rain_effect.cc	(revision 8716)
@@ -57,5 +57,5 @@
     if (this->rainBuffer != NULL)
         ResourceManager::getInstance()->unload(this->rainBuffer);
-    this->rainBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/rain.ogg", OGG);
+    this->rainBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/rain.wav", WAV);
 
     //load wind sound
@@ -63,5 +63,5 @@
         if (this->windBuffer != NULL)
             ResourceManager::getInstance()->unload(this->windBuffer);
-        this->windBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/wind.ogg", OGG);
+        this->windBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/wind.wav", WAV);
     }
 
Index: branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc
===================================================================
--- branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 8713)
+++ branches/atmospheric_engine/src/lib/graphics/effects/snow_effect.cc	(revision 8716)
@@ -50,5 +50,5 @@
 		if (this->windBuffer != NULL)
 			ResourceManager::getInstance()->unload(this->windBuffer);
-	       		this->windBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/wind.ogg", OGG);
+	       		this->windBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/wind.wav", WAV);
 	}
 
Index: branches/atmospheric_engine/src/world_entities/effects/lightning_bolt.cc
===================================================================
--- branches/atmospheric_engine/src/world_entities/effects/lightning_bolt.cc	(revision 8713)
+++ branches/atmospheric_engine/src/world_entities/effects/lightning_bolt.cc	(revision 8716)
@@ -64,5 +64,5 @@
   if (this->thunderBuffer != NULL)
     ResourceManager::getInstance()->unload(this->thunderBuffer);
-  this->thunderBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/thunder.ogg", OGG);
+  this->thunderBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/thunder.wav", WAV);
 }
 
