about summary refs log tree commit diff
path: root/src/Models.cpp
diff options
context:
space:
mode:
authorNguyễn Gia Phong <cnx@loang.net>2023-08-25 04:06:49 +0900
committerNguyễn Gia Phong <cnx@loang.net>2023-08-25 04:11:13 +0900
commit371906f5fb958691a8bfce85c28eb4dfaf63559c (patch)
treec5c2d42600045cc080a18eb6488992974dbc5313 /src/Models.cpp
parentd08aaf50515cf3fcf03e6523976258b02f6b2e95 (diff)
downloadblackshades-371906f5fb958691a8bfce85c28eb4dfaf63559c.tar.gz
Hide laser sight in psychic visions
Fixes: 2c44d2e60bb8 ("Make laser always and only availble in 3rd person")
Diffstat (limited to 'src/Models.cpp')
-rw-r--r--src/Models.cpp24
1 files changed, 7 insertions, 17 deletions
diff --git a/src/Models.cpp b/src/Models.cpp
index 0e558e2..63cf26a 100644
--- a/src/Models.cpp
+++ b/src/Models.cpp
@@ -4,6 +4,8 @@
 #include "Models.h"
 #include "misc.h"
 
+extern bool visions;
+
 void Model::CalculateNormals()
 {
 	for (int i = 0; i < TriangleNum; ++i)
@@ -80,40 +82,28 @@ void Model::load(const char* path)
 	CalculateNormals();
 }
 
-extern int nocolors;
 void Model::draw()
 {
-	if(!nocolors){
 	glEnableClientState(GL_VERTEX_ARRAY);
 	glEnableClientState(GL_NORMAL_ARRAY);
 	glEnableClientState(GL_COLOR_ARRAY);
 	glVertexPointer(3, GL_FLOAT, 9*sizeof(GLfloat),&vArray[0]);
 	glNormalPointer(GL_FLOAT, 9*sizeof(GLfloat),&vArray[3]);
-	glColorPointer(3,GL_FLOAT, 9*sizeof(GLfloat),&vArray[6]);
+	if (visions)
+		glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
+	else
+		glColorPointer(3, GL_FLOAT, 9*sizeof(GLfloat), &vArray[6]);
 	glDrawArrays(GL_TRIANGLES, 0, TriangleNum*3);
-	}
-	if(nocolors){
-		glColor4f(0,0,0,1);
-		glEnableClientState(GL_VERTEX_ARRAY);
-		glEnableClientState(GL_NORMAL_ARRAY);
-		glDisableClientState(GL_COLOR_ARRAY);
-		glVertexPointer(3, GL_FLOAT, 9*sizeof(GLfloat),&vArray[0]);
-		glNormalPointer(GL_FLOAT, 9*sizeof(GLfloat),&vArray[3]);
-		glDrawArrays(GL_TRIANGLES, 0, TriangleNum*3);
-	}
 }
 
 void Model::draw(float r, float g, float b)
 {
-	if(!nocolors)glColor4f(r,g,b,1);
-	if(nocolors==1)glColor4f(0,0,0,1);
-	if(nocolors==2)glColor4f(1,0,0,1);
-	if(nocolors==3)glColor4f(0,0,1,1);
 	glEnableClientState(GL_VERTEX_ARRAY);
 	glEnableClientState(GL_NORMAL_ARRAY);
 	glDisableClientState(GL_COLOR_ARRAY);
 	glVertexPointer(3, GL_FLOAT, 9*sizeof(GLfloat),&vArray[0]);
 	glNormalPointer(GL_FLOAT, 9*sizeof(GLfloat),&vArray[3]);
+	glColor4f(r, g, b, 1.0f);
 	glDrawArrays(GL_TRIANGLES, 0, TriangleNum*3);
 }