summary refs log tree commit diff
path: root/src/Sprites.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Sprites.cpp')
-rw-r--r--src/Sprites.cpp54
1 files changed, 43 insertions, 11 deletions
diff --git a/src/Sprites.cpp b/src/Sprites.cpp
index 239c0a8..e96577e 100644
--- a/src/Sprites.cpp
+++ b/src/Sprites.cpp
@@ -1,7 +1,6 @@
 #include <cmath>
 
 #include "Camera.h"
-#include "Fog.h"
 #include "Models.h"
 #include "Sprites.h"
 #include "misc.h"
@@ -149,15 +148,48 @@ void Sprites::draw()
 	glDisable(GL_LIGHTING);
 	glDepthMask(0);
 	glAlphaFunc(GL_GREATER, 0.01);
-	for(int i=0;i<howmanysprites;i++){
-		if(type[i]==muzzleflashsprite){fog.TempFog(0,0,0); glBindTexture(GL_TEXTURE_2D, muzzleflaretextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE);}
-		if(type[i]==flashsprite){fog.TempFog(0,0,0); glBindTexture(GL_TEXTURE_2D, flaretextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE);}
-		if(type[i]==smokesprite||type[i]==smokespritenoup){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  smoketextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
-		if(type[i]==bloodspritedown||type[i]==bloodspritenoup){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  smoketextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
-		if(type[i]==particlesspritedown){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  bloodtextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
-		if(type[i]==snowsprite){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  snowtextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
-		if(type[i]==rainsprite){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  raintextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
-		if(type[i]==bullet||type[i]==bulletinstant){fog.ResetFog(); glBindTexture(GL_TEXTURE_2D,  bullettextureptr);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);}
+	for (int i = 0; i < howmanysprites; ++i) {
+		switch (type[i]) {
+		case muzzleflashsprite:
+			tempFog(&fog, 0, 0, 0);
+			glBindTexture(GL_TEXTURE_2D, muzzleflaretextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+			break;
+		case flashsprite:
+			tempFog(&fog, 0, 0, 0);
+			glBindTexture(GL_TEXTURE_2D, flaretextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+			break;
+		case smokesprite:
+		case smokespritenoup:
+		case bloodspritedown:
+		case bloodspritenoup:
+			resetFog(&fog);
+			glBindTexture(GL_TEXTURE_2D, smoketextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+			break;
+		case particlesspritedown:
+			resetFog(&fog);
+			glBindTexture(GL_TEXTURE_2D, bloodtextureptr);
+			glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
+			break;
+		case snowsprite:
+			resetFog(&fog);
+			glBindTexture(GL_TEXTURE_2D, snowtextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+			break;
+		case rainsprite:
+			resetFog(&fog);
+			glBindTexture(GL_TEXTURE_2D, raintextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+			break;
+		case bullet:
+		case bulletinstant:
+			resetFog(&fog);
+			glBindTexture(GL_TEXTURE_2D, bullettextureptr);
+			glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+			break;
+		}
 
 		glPushMatrix();
 		if(type[i]==muzzleflashsprite||type[i]==flashsprite||type[i]==smokesprite||type[i]==smokespritenoup||type[i]==snowsprite||type[i]==particlesspritedown||((type[i]==bloodspritenoup||type[i]==bloodspritedown)&&blood)){
@@ -276,7 +308,7 @@ void Sprites::draw()
 		}
 		glPopMatrix();
 	}
-	fog.ResetFog();
+	resetFog(&fog);
 	glDepthMask(1);
 	glDisable(GL_TEXTURE_2D);
 	glEnable(GL_CULL_FACE);