]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Models.cpp
Removed most of the commented out code
[lugaru.git] / Source / Models.cpp
index fdf26753266b9bb44cc0f31afa95943ebfec4fc1..0203689a260ffd5b51cbf0bbef51db5b26106cf3 100644 (file)
@@ -3,20 +3,18 @@ Copyright (C) 2003, 2010 - Wolfire Games
 
 This file is part of Lugaru.
 
-Lugaru 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
-of the License, or (at your option) any later version.
+Lugaru 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 of the License, or
+(at your option) any later version.
 
-This program is distributed in the hope that it will be useful,
+Lugaru is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-See the GNU General Public License for more details.
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "Game.h"
@@ -66,43 +64,6 @@ int Model::LineCheck(XYZ *p1, XYZ *p2, XYZ *p, XYZ *move, float *rotate)
     return firstintersecting;
 }
 
-int Model::LineCheckSlide(XYZ *p1, XYZ *p2, XYZ *p, XYZ *move, float *rotate)
-{
-    static int j;
-    static float distance;
-    static float olddistance;
-    static int intersecting;
-    static int firstintersecting;
-    static XYZ point;
-
-    *p1 = *p1 - *move;
-    *p2 = *p2 - *move;
-    if (!sphere_line_intersection(p1, p2, &boundingspherecenter, &boundingsphereradius))
-        return -1;
-    firstintersecting = -1;
-    if (*rotate)
-        *p1 = DoRotation(*p1, 0, -*rotate, 0);
-    if (*rotate)
-        *p2 = DoRotation(*p2, 0, -*rotate, 0);
-
-    for (j = 0; j < TriangleNum; j++) {
-        intersecting = LineFacetd(p1, p2, &vertex[Triangles[j].vertex[0]], &vertex[Triangles[j].vertex[1]], &vertex[Triangles[j].vertex[2]], &facenormals[j], &point);
-        distance = (point.x - p1->x) * (point.x - p1->x) + (point.y - p1->y) * (point.y - p1->y) + (point.z - p1->z) * (point.z - p1->z);
-        if ((distance < olddistance || firstintersecting == -1) && intersecting) {
-            olddistance = distance;
-            firstintersecting = j;
-        }
-    }
-
-    distance = abs((facenormals[firstintersecting].x * p2->x) + (facenormals[firstintersecting].y * p2->y) + (facenormals[firstintersecting].z * p2->z) - ((facenormals[firstintersecting].x * vertex[Triangles[firstintersecting].vertex[0]].x) + (facenormals[firstintersecting].y * vertex[Triangles[firstintersecting].vertex[0]].y) + (facenormals[firstintersecting].z * vertex[Triangles[firstintersecting].vertex[0]].z)));
-    *p2 -= facenormals[firstintersecting] * distance;
-
-    if (*rotate)
-        *p2 = DoRotation(*p2, 0, *rotate, 0);
-    *p2 = *p2 + *move;
-    return firstintersecting;
-}
-
 int Model::LineCheckPossible(XYZ *p1, XYZ *p2, XYZ *p, XYZ *move, float *rotate)
 {
     static int j;
@@ -219,12 +180,6 @@ int Model::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate)
                     intersecting = sphere_line_intersection(&vertex[Triangles[j].vertex[0]], &vertex[Triangles[j].vertex[2]], p1, &radius);
                 if (intersecting) {
                     *p1 += facenormals[j] * (distance - radius);
-                    /*start=*p1;
-                    end=*p1;
-                    end.y-=radius;
-                    if(LineFacetd(&start,&end,&vertex[Triangles[j].vertex[0]],&vertex[Triangles[j].vertex[1]],&vertex[Triangles[j].vertex[2]],&facenormals[j],&point)){
-                    p1->y=point.y+radius;
-                    }*/
                 }
             }
             if ((distance < olddistance || firstintersecting == -1) && intersecting) {
@@ -245,7 +200,7 @@ int Model::SphereCheck(XYZ *p1, float radius, XYZ *p, XYZ *move, float *rotate)
 
 int Model::SphereCheckPossible(XYZ *p1, float radius, XYZ *move, float *rotate)
 {
-    static int i, j;
+    static int j;
     static float distance;
     static float olddistance;
     static int intersecting;
@@ -282,7 +237,6 @@ int Model::SphereCheckPossible(XYZ *p1, float radius, XYZ *move, float *rotate)
             if (!intersecting)
                 intersecting = sphere_line_intersection(&vertex[Triangles[j].vertex[0]], &vertex[Triangles[j].vertex[2]], p1, &radius);
             if (intersecting) {
-                //if(j>=0&&j<TriangleNum)
                 possible[numpossible] = j;
                 numpossible++;
             }
@@ -605,10 +559,6 @@ bool Model::loaddecal(const char *filename, bool texture )
 
     LOG(std::string("Loading decal...") + FixedFN);
 
-    //~ int oldvertexNum, oldTriangleNum;
-    //~ oldvertexNum = vertexNum;
-    //~ oldTriangleNum = TriangleNum;
-
     type = decalstype;
     numdecals = 0;
     color = 0;
@@ -681,7 +631,6 @@ bool Model::loaddecal(const char *filename, bool texture )
                 decaltexcoords[i][j] = (float*)malloc(sizeof(float) * 2);
             }
         }
-        //if(decalvertex)free(decalvertex);
         decalvertex = (XYZ**)malloc(sizeof(XYZ*)*max_model_decals);
         for (i = 0; i < max_model_decals; i++) {
             decalvertex[i] = (XYZ*)malloc(sizeof(XYZ) * 3);
@@ -928,11 +877,6 @@ void Model::drawimmediate()
     textureptr.bind();
     glBegin(GL_TRIANGLES);
     for (int i = 0; i < TriangleNum; i++) {
-        /*if(Triangles[i].vertex[0]<vertexNum&&Triangles[i].vertex[1]<vertexNum&&Triangles[i].vertex[2]<vertexNum&&Triangles[i].vertex[0]>=0&&Triangles[i].vertex[1]>=0&&Triangles[i].vertex[2]>=0){
-        if(isnormal(vertex[Triangles[i].vertex[0]].x)&&isnormal(vertex[Triangles[i].vertex[0]].y)&&isnormal(vertex[Triangles[i].vertex[0]].z)
-        &&isnormal(vertex[Triangles[i].vertex[1]].x)&&isnormal(vertex[Triangles[i].vertex[1]].y)&&isnormal(vertex[Triangles[i].vertex[1]].z)
-        &&isnormal(vertex[Triangles[i].vertex[2]].x)&&isnormal(vertex[Triangles[i].vertex[2]].y)&&isnormal(vertex[Triangles[i].vertex[2]].z)){
-        */
         glTexCoord2f(Triangles[i].gx[0], Triangles[i].gy[0]);
         if (color)
             glColor3f(normals[Triangles[i].vertex[0]].x, normals[Triangles[i].vertex[0]].y, normals[Triangles[i].vertex[0]].z);
@@ -959,8 +903,6 @@ void Model::drawimmediate()
         if (!color && flat)
             glNormal3f(facenormals[i].x, facenormals[i].y, facenormals[i].y);
         glVertex3f(vertex[Triangles[i].vertex[2]].x, vertex[Triangles[i].vertex[2]].y, vertex[Triangles[i].vertex[2]].z);
-        //}
-        //}
     }
     glEnd();
 }
@@ -1029,7 +971,6 @@ void Model::drawdifftex(GLuint texture)
         glDisableClientState(GL_COLOR_ARRAY);
     glDisableClientState(GL_VERTEX_ARRAY);
     glDisableClientState(GL_TEXTURE_COORD_ARRAY);
-    //drawdiffteximmediate(texture);
 }
 
 void Model::drawdifftex(Texture texture)
@@ -1062,49 +1003,6 @@ void Model::drawdifftex(Texture texture)
         glDisableClientState(GL_COLOR_ARRAY);
     glDisableClientState(GL_VERTEX_ARRAY);
     glDisableClientState(GL_TEXTURE_COORD_ARRAY);
-    //drawdiffteximmediate(texture);
-}
-
-void Model::drawdiffteximmediate(GLuint texture)
-{
-    glBindTexture(GL_TEXTURE_2D, (unsigned long)texture);
-
-    glBegin(GL_TRIANGLES);
-    for (int i = 0; i < TriangleNum; i++) {
-        /*if(Triangles[i].vertex[0]<vertexNum&&Triangles[i].vertex[1]<vertexNum&&Triangles[i].vertex[2]<vertexNum&&Triangles[i].vertex[0]>=0&&Triangles[i].vertex[1]>=0&&Triangles[i].vertex[2]>=0){
-        if(isnormal(vertex[Triangles[i].vertex[0]].x)&&isnormal(vertex[Triangles[i].vertex[0]].y)&&isnormal(vertex[Triangles[i].vertex[0]].z)
-        &&isnormal(vertex[Triangles[i].vertex[1]].x)&&isnormal(vertex[Triangles[i].vertex[1]].y)&&isnormal(vertex[Triangles[i].vertex[1]].z)
-        &&isnormal(vertex[Triangles[i].vertex[2]].x)&&isnormal(vertex[Triangles[i].vertex[2]].y)&&isnormal(vertex[Triangles[i].vertex[2]].z)){
-        */glTexCoord2f(Triangles[i].gx[0], Triangles[i].gy[0]);
-        if (color)
-            glColor3f(normals[Triangles[i].vertex[0]].x, normals[Triangles[i].vertex[0]].y, normals[Triangles[i].vertex[0]].z);
-        if (!color && !flat)
-            glNormal3f(normals[Triangles[i].vertex[0]].x, normals[Triangles[i].vertex[0]].y, normals[Triangles[i].vertex[0]].z);
-        if (!color && flat)
-            glNormal3f(facenormals[i].x, facenormals[i].y, facenormals[i].y);
-        glVertex3f(vertex[Triangles[i].vertex[0]].x, vertex[Triangles[i].vertex[0]].y, vertex[Triangles[i].vertex[0]].z);
-
-        glTexCoord2f(Triangles[i].gx[1], Triangles[i].gy[1]);
-        if (color)
-            glColor3f(normals[Triangles[i].vertex[1]].x, normals[Triangles[i].vertex[1]].y, normals[Triangles[i].vertex[1]].z);
-        if (!color && !flat)
-            glNormal3f(normals[Triangles[i].vertex[1]].x, normals[Triangles[i].vertex[1]].y, normals[Triangles[i].vertex[1]].z);
-        if (!color && flat)
-            glNormal3f(facenormals[i].x, facenormals[i].y, facenormals[i].y);
-        glVertex3f(vertex[Triangles[i].vertex[1]].x, vertex[Triangles[i].vertex[1]].y, vertex[Triangles[i].vertex[1]].z);
-
-        glTexCoord2f(Triangles[i].gx[2], Triangles[i].gy[2]);
-        if (color)
-            glColor3f(normals[Triangles[i].vertex[2]].x, normals[Triangles[i].vertex[2]].y, normals[Triangles[i].vertex[2]].z);
-        if (!color && !flat)
-            glNormal3f(normals[Triangles[i].vertex[2]].x, normals[Triangles[i].vertex[2]].y, normals[Triangles[i].vertex[2]].z);
-        if (!color && flat)
-            glNormal3f(facenormals[i].x, facenormals[i].y, facenormals[i].y);
-        glVertex3f(vertex[Triangles[i].vertex[2]].x, vertex[Triangles[i].vertex[2]].y, vertex[Triangles[i].vertex[2]].z);
-        //}
-        //}
-    }
-    glEnd();
 }
 
 void Model::drawdecals(Texture shadowtexture, Texture bloodtexture, Texture bloodtexture2, Texture breaktexture)
@@ -1113,12 +1011,9 @@ void Model::drawdecals(Texture shadowtexture, Texture bloodtexture, Texture bloo
         if (type != decalstype)
             return;
         static int i;
-        //~ static float distancemult;
         static int lasttype;
-        //~ static float viewdistsquared;
         static bool blend;
 
-        //~ viewdistsquared = viewdistance * viewdistance;
         blend = 1;
 
         lasttype = -1;
@@ -1237,7 +1132,6 @@ void Model::MakeDecal(int atype, XYZ *where, float *size, float *opacity, float
 
         static float placex, placez;
         static XYZ rot;
-        //static XYZ point,point1,point2;
         static float distance;
         static int i, j;
 
@@ -1316,7 +1210,6 @@ void Model::MakeDecal(int atype, XYZ where, float size, float opacity, float rot
 
         static float placex, placez;
         static XYZ rot;
-        //static XYZ point,point1,point2;
         static float distance;
         static int i, j;