X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fbsptree.c;h=89f6c75b74bd553c7fc7dcb23752da439b954025;hp=334e53073c66f7ce10a7f7ee0019176eb71931da;hb=a5c65ceb155188c8acee31a475f8db9f5b58f4b6;hpb=e5393153629cb39ea6af0ca4a35370442127c5c2 diff --git a/src/bsptree.c b/src/bsptree.c index 334e530..89f6c75 100644 --- a/src/bsptree.c +++ b/src/bsptree.c @@ -2,6 +2,11 @@ #include #include #include +#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__DJGPP__) +#include +#else +#include +#endif #include "bsptree.h" #include "dynarr.h" #include "inttypes.h" @@ -239,7 +244,10 @@ static struct bspnode *add_poly_tree(struct bspnode *n, struct g3d_vertex *v, in return n; } -void debug_draw_poly(struct g3d_vertex *varr, int vcount) +#undef DRAW_NGONS + +#ifndef DRAW_NGONS +static void debug_draw_poly(struct g3d_vertex *varr, int vcount) { int i, nfaces = vcount - 2; int vbuf_size = nfaces * 3; @@ -254,6 +262,7 @@ void debug_draw_poly(struct g3d_vertex *varr, int vcount) g3d_draw_indexed(G3D_TRIANGLES, vbuf, vbuf_size, 0, 0); } +#endif static void draw_bsp_tree(struct bspnode *n, const vec3_t *vdir) { @@ -264,13 +273,19 @@ static void draw_bsp_tree(struct bspnode *n, const vec3_t *vdir) dot = vdir->x * n->plane.nx + vdir->y * n->plane.ny + vdir->z * n->plane.nz; if(dot >= 0.0f) { draw_bsp_tree(n->front, vdir); - //g3d_draw_indexed(n->vcount, n->verts, n->vcount, 0, 0); +#ifdef DRAW_NGONS + g3d_draw_indexed(n->vcount, n->verts, n->vcount, 0, 0); +#else debug_draw_poly(n->verts, n->vcount); +#endif draw_bsp_tree(n->back, vdir); } else { draw_bsp_tree(n->back, vdir); - //g3d_draw_indexed(n->vcount, n->verts, n->vcount, 0, 0); +#ifdef DRAW_NGONS + g3d_draw_indexed(n->vcount, n->verts, n->vcount, 0, 0); +#else debug_draw_poly(n->verts, n->vcount); +#endif draw_bsp_tree(n->front, vdir); } }