X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2F3dgfx.c;h=a4af73a5015329f9dafb34440146c62adadf3a0e;hp=39997475d7fa7eb3fca427c1cd0d1c09b3605090;hb=45f6f46fe758d15aafccdb69ae837fc7d84ee466;hpb=100da5f0dbf2d9edbc65d6308f9481ca2e4f55df diff --git a/src/3dgfx.c b/src/3dgfx.c index 3999747..a4af73a 100644 --- a/src/3dgfx.c +++ b/src/3dgfx.c @@ -404,6 +404,9 @@ void g3d_draw_indexed(int prim, const struct g3d_vertex *varr, int varr_size, int vnum = prim; /* primitive vertex counts correspond to enum values */ int mvtop = st->mtop[G3D_MODELVIEW]; int ptop = st->mtop[G3D_PROJECTION]; + struct g3d_vertex *tmpv; + + tmpv = alloca(prim * 6 * sizeof *tmpv); /* calc the normal matrix */ memcpy(st->norm_mat, st->mat[G3D_MODELVIEW][mvtop], 16 * sizeof(float)); @@ -432,7 +435,6 @@ void g3d_draw_indexed(int prim, const struct g3d_vertex *varr, int varr_size, /* clipping */ for(i=0; i<6; i++) { - struct g3d_vertex tmpv[16]; memcpy(tmpv, v, vnum * sizeof *v); if(clip_frustum(v, &vnum, tmpv, vnum, i) < 0) {