From b7a537ae6584d3f512ff99aa7c2ebef918376731 Mon Sep 17 00:00:00 2001 From: havoc Date: Thu, 3 Mar 2005 14:21:31 +0000 Subject: [PATCH] fixed Mod_AllocSurfMesh (doesn't crash now) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5028 d7cf8633-e32d-0410-b094-e92efae38249 --- model_shared.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/model_shared.c b/model_shared.c index 913d3bb5..d1b4ecd0 100644 --- a/model_shared.c +++ b/model_shared.c @@ -789,7 +789,7 @@ surfmesh_t *Mod_AllocSurfMesh(mempool_t *mempool, int numvertices, int numtriang { surfmesh_t *mesh; qbyte *data; - mesh = Mem_Alloc(mempool, sizeof(surfmesh_t) + numvertices * (3 + 3 + 3 + 3 + 1 + 2 + 2 + (detailtexcoords ? 2 : 0) + (vertexcolors ? 4 : 0)) * sizeof(float) + numtriangles * sizeof(int) * (3 + 3 + (lightmapoffsets ? 1 : 0)) + numcollisionvertices * sizeof(float[3]) + numcollisiontriangles * sizeof(int[3])); + mesh = Mem_Alloc(mempool, sizeof(surfmesh_t) + numvertices * (3 + 3 + 3 + 3 + 2 + 2 + (detailtexcoords ? 2 : 0) + (vertexcolors ? 4 : 0)) * sizeof(float) + numvertices * (lightmapoffsets ? 1 : 0) * sizeof(int) + numtriangles * (3 + 3) * sizeof(int) + numcollisionvertices * sizeof(float[3]) + numcollisiontriangles * sizeof(int[3])); mesh->num_vertices = numvertices; mesh->num_triangles = numtriangles; mesh->num_collisionvertices = numcollisionvertices; @@ -812,8 +812,8 @@ surfmesh_t *Mod_AllocSurfMesh(mempool_t *mempool, int numvertices, int numtriang } if (mesh->num_triangles) { - mesh->data_element3i = (int *)data, data += sizeof(int[3]) * mesh->num_vertices; - mesh->data_neighbor3i = (int *)data, data += sizeof(int[3]) * mesh->num_vertices; + mesh->data_element3i = (int *)data, data += sizeof(int[3]) * mesh->num_triangles; + mesh->data_neighbor3i = (int *)data, data += sizeof(int[3]) * mesh->num_triangles; } if (mesh->num_collisionvertices) mesh->data_collisionvertex3f = (float *)data, data += sizeof(float[3]) * mesh->num_collisionvertices; -- 2.39.2