]> git.rm.cloudns.org Git - xonotic/darkplaces.git/commitdiff
when fixing vertex indexes, reject the map instead of segfaulting if vertex index...
authordivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 28 Sep 2009 14:47:36 +0000 (14:47 +0000)
committerdivverent <divverent@d7cf8633-e32d-0410-b094-e92efae38249>
Mon, 28 Sep 2009 14:47:36 +0000 (14:47 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9251 d7cf8633-e32d-0410-b094-e92efae38249

model_brush.c

index 03009ddfbc93849dfe8e212155c54a64fdb8912d..790a28a7623fcaf0b33994613ee396cba2e45ab3 100644 (file)
@@ -1980,6 +1980,9 @@ static void Mod_Q1BSP_LoadEdges(lump_t *l)
                if (out->v[0] >= loadmodel->brushq1.numvertexes || out->v[1] >= loadmodel->brushq1.numvertexes)
                {
                        Con_Printf("Mod_Q1BSP_LoadEdges: %s has invalid vertex indices in edge %i (vertices %i %i >= numvertices %i)\n", loadmodel->name, i, out->v[0], out->v[1], loadmodel->brushq1.numvertexes);
+                       if(!loadmodel->brushq1.numvertexes)
+                               Host_Error("Mod_Q1BSP_LoadEdges: %s has edges but no vertexes, cannot fix\n", loadmodel->name);
+                               
                        out->v[0] = 0;
                        out->v[1] = 0;
                }
@@ -4467,6 +4470,8 @@ static void Mod_Q3BSP_LoadTriangles(lump_t *l)
                if (*out < 0 || *out >= loadmodel->brushq3.num_vertices)
                {
                        Con_Printf("Mod_Q3BSP_LoadTriangles: invalid vertexindex %i (%i vertices), setting to 0\n", *out, loadmodel->brushq3.num_vertices);
+                       if(!loadmodel->brushq3.num_vertices)
+                               Host_Error("Mod_Q1BSP_LoadTrianglles: %s has triangles but no vertexes, cannot fix\n", loadmodel->name);
                        *out = 0;
                }
        }