]> de.git.xonotic.org Git - xonotic/darkplaces.git/commitdiff
fixed Mod_AllocSurfMesh (doesn't crash now)
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 3 Mar 2005 14:21:31 +0000 (14:21 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Thu, 3 Mar 2005 14:21:31 +0000 (14:21 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@5028 d7cf8633-e32d-0410-b094-e92efae38249

model_shared.c

index 913d3bb5bcb7fdd83cd5f7665e5d7e346a81eeda..d1b4ecd07f49824cb4affbe0fac2f37806410d10 100644 (file)
@@ -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;