X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGraphic%2FModels.cpp;h=c58e6910d82a14ee8b94ef9bb0d352692395d20a;hb=8b8230c564e1f0063b381e77bf6222af9f2e678d;hp=78970d5d7a0ab9ff131759bde853007f377cd34b;hpb=542e48a5f43e0169f98fca72bdd13aa66517f203;p=lugaru.git diff --git a/Source/Graphic/Models.cpp b/Source/Graphic/Models.cpp index 78970d5..c58e691 100644 --- a/Source/Graphic/Models.cpp +++ b/Source/Graphic/Models.cpp @@ -395,7 +395,7 @@ bool Model::loadnotex(const std::string& filename) { FILE *tfile; long i; - int TriangleNum; + short triangleNum; type = notextype; color = 0; @@ -405,7 +405,7 @@ bool Model::loadnotex(const std::string& filename) // read model settings fseek(tfile, 0, SEEK_SET); - funpackf(tfile, "Bs Bs", &vertexNum, &TriangleNum); + funpackf(tfile, "Bs Bs", &vertexNum, &triangleNum); // read the model data deallocate(); @@ -414,14 +414,14 @@ bool Model::loadnotex(const std::string& filename) owner = (int*)malloc(sizeof(int) * vertexNum); vertex = (XYZ*)malloc(sizeof(XYZ) * vertexNum); - Triangles.resize(TriangleNum); - vArray = (GLfloat*)malloc(sizeof(GLfloat) * TriangleNum * 24); + Triangles.resize(triangleNum); + vArray = (GLfloat*)malloc(sizeof(GLfloat) * triangleNum * 24); for (i = 0; i < vertexNum; i++) { funpackf(tfile, "Bf Bf Bf", &vertex[i].x, &vertex[i].y, &vertex[i].z); } - for (i = 0; i < TriangleNum; i++) { + for (i = 0; i < triangleNum; i++) { short vertex[6]; funpackf(tfile, "Bs Bs Bs Bs Bs Bs", &vertex[0], &vertex[1], &vertex[2], &vertex[3], &vertex[4], &vertex[5]); Triangles[i].vertex[0] = vertex[0]; @@ -458,7 +458,7 @@ bool Model::load(const std::string& filename) { FILE *tfile; long i; - int TriangleNum; + short triangleNum; LOGFUNC; @@ -474,7 +474,7 @@ bool Model::load(const std::string& filename) // read model settings fseek(tfile, 0, SEEK_SET); - funpackf(tfile, "Bs Bs", &vertexNum, &TriangleNum); + funpackf(tfile, "Bs Bs", &vertexNum, &triangleNum); // read the model data deallocate(); @@ -484,14 +484,14 @@ bool Model::load(const std::string& filename) owner = (int*)malloc(sizeof(int) * vertexNum); vertex = (XYZ*)malloc(sizeof(XYZ) * vertexNum); normals = (XYZ*)malloc(sizeof(XYZ) * vertexNum); - Triangles.resize(TriangleNum); - vArray = (GLfloat*)malloc(sizeof(GLfloat) * TriangleNum * 24); + Triangles.resize(triangleNum); + vArray = (GLfloat*)malloc(sizeof(GLfloat) * triangleNum * 24); for (i = 0; i < vertexNum; i++) { funpackf(tfile, "Bf Bf Bf", &vertex[i].x, &vertex[i].y, &vertex[i].z); } - for (i = 0; i < TriangleNum; i++) { + for (i = 0; i < triangleNum; i++) { short vertex[6]; funpackf(tfile, "Bs Bs Bs Bs Bs Bs", &vertex[0], &vertex[1], &vertex[2], &vertex[3], &vertex[4], &vertex[5]); Triangles[i].vertex[0] = vertex[0]; @@ -530,7 +530,7 @@ bool Model::loaddecal(const std::string& filename) { FILE *tfile; long i, j; - int TriangleNum; + short triangleNum; LOGFUNC; @@ -545,7 +545,7 @@ bool Model::loaddecal(const std::string& filename) // read model settings fseek(tfile, 0, SEEK_SET); - funpackf(tfile, "Bs Bs", &vertexNum, &TriangleNum); + funpackf(tfile, "Bs Bs", &vertexNum, &triangleNum); // read the model data @@ -556,14 +556,14 @@ bool Model::loaddecal(const std::string& filename) owner = (int*)malloc(sizeof(int) * vertexNum); vertex = (XYZ*)malloc(sizeof(XYZ) * vertexNum); normals = (XYZ*)malloc(sizeof(XYZ) * vertexNum); - Triangles.resize(TriangleNum); - vArray = (GLfloat*)malloc(sizeof(GLfloat) * TriangleNum * 24); + Triangles.resize(triangleNum); + vArray = (GLfloat*)malloc(sizeof(GLfloat) * triangleNum * 24); for (i = 0; i < vertexNum; i++) { funpackf(tfile, "Bf Bf Bf", &vertex[i].x, &vertex[i].y, &vertex[i].z); } - for (i = 0; i < TriangleNum; i++) { + for (i = 0; i < triangleNum; i++) { short vertex[6]; funpackf(tfile, "Bs Bs Bs Bs Bs Bs", &vertex[0], &vertex[1], &vertex[2], &vertex[3], &vertex[4], &vertex[5]); Triangles[i].vertex[0] = vertex[0]; @@ -602,7 +602,7 @@ bool Model::loadraw(const std::string& filename) { FILE *tfile; long i; - int TriangleNum; + short triangleNum; LOGFUNC; @@ -616,7 +616,7 @@ bool Model::loadraw(const std::string& filename) // read model settings fseek(tfile, 0, SEEK_SET); - funpackf(tfile, "Bs Bs", &vertexNum, &TriangleNum); + funpackf(tfile, "Bs Bs", &vertexNum, &triangleNum); // read the model data deallocate(); @@ -625,15 +625,15 @@ bool Model::loadraw(const std::string& filename) owner = (int*)malloc(sizeof(int) * vertexNum); vertex = (XYZ*)malloc(sizeof(XYZ) * vertexNum); - Triangles.resize(TriangleNum); - vArray = (GLfloat*)malloc(sizeof(GLfloat) * TriangleNum * 24); + Triangles.resize(triangleNum); + vArray = (GLfloat*)malloc(sizeof(GLfloat) * triangleNum * 24); for (i = 0; i < vertexNum; i++) { funpackf(tfile, "Bf Bf Bf", &vertex[i].x, &vertex[i].y, &vertex[i].z); } - for (i = 0; i < TriangleNum; i++) { + for (i = 0; i < triangleNum; i++) { short vertex[6]; funpackf(tfile, "Bs Bs Bs Bs Bs Bs", &vertex[0], &vertex[1], &vertex[2], &vertex[3], &vertex[4], &vertex[5]); Triangles[i].vertex[0] = vertex[0]; @@ -880,33 +880,6 @@ void Model::draw() glDisableClientState(GL_TEXTURE_COORD_ARRAY); } -//TODO: phase out in favor of Texture -void Model::drawdifftex(GLuint texture) -{ - glEnableClientState(GL_NORMAL_ARRAY); - glEnableClientState(GL_VERTEX_ARRAY); - glEnableClientState(GL_TEXTURE_COORD_ARRAY); - if (color) { - glInterleavedArrays( GL_T2F_C3F_V3F, 8 * sizeof(GLfloat), &vArray[0]); - } else { - glInterleavedArrays( GL_T2F_N3F_V3F, 8 * sizeof(GLfloat), &vArray[0]); - } - - glBindTexture(GL_TEXTURE_2D, (unsigned long)texture); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); - - glDrawArrays(GL_TRIANGLES, 0, Triangles.size() * 3); - - if (color) { - glDisableClientState(GL_COLOR_ARRAY); - } else { - glDisableClientState(GL_NORMAL_ARRAY); - } - glDisableClientState(GL_VERTEX_ARRAY); - glDisableClientState(GL_TEXTURE_COORD_ARRAY); -} - void Model::drawdifftex(Texture texture) { glEnableClientState(GL_NORMAL_ARRAY); @@ -1205,20 +1178,15 @@ void Model::deallocate() Model::Model() : vertexNum(0), - hastexture(0), - type(0), oldtype(0), + type(nothing), owner(0), vertex(0), normals(0), - vArray(0) + vArray(0), + color(0), + boundingspherecenter(), + boundingsphereradius(0), + flat(false) { memset(&modelTexture, 0, sizeof(modelTexture)); - color = 0; - - boundingspherecenter = 0; - boundingsphereradius = 0; - - flat = 0; - - type = nothing; }