#include extern int csetmatrix(int *,long,long,long); extern int crotlist(long *,long *); extern int cclipedges(int *,int *,long *); // modifies given point list extern int cprojlist(long *,long *); extern int cdrawpolylist(int *); extern int cmatrix_yxz(int,int,int,int *); extern int cpolylist(int *polylist,int *polys,int *edges,long *points3); long points[32]={8, -1000,-1000,-1000, 1000,-1000,-1000, 1000,1000,-1000, -1000,1000,-1000, -1000,-1000,1000, 1000,-1000,1000, 1000,1000,1000, -1000,1000,1000}; long points2[64]; int points3[64*2]; int edges[64]={12,0, 0,1,0,0, 1,2,0,0, 2,3,0,0, 3,0,0,0, 4,5,0,0, // 4 5,6,0,0, 6,7,0,0, 7,4,0,0, 0,4,0,0, // 8 1,5,0,0, 2,6,0,0, 3,7,0,0}; int edges2[64]; int polys[64]={ 4,0x0010,0,1,2,3, 4,0x0018,0,8,4,9, 4,0x0020,1,9,5,10, 4,0x0028,2,10,6,11, 4,0x0030,3,11,7,12, 4,0x8038,4,5,6,7, 0}; int polylist[256]; int matrix[9]; int testlist[]={ 3,16, 190,100, 90,50, 110,150, 3,20, 10,100, 90,50, 99,150, 0}; main() { int a,b,c,x,y,rx,ry,rz,n=8,p1,p2; printf("Starting"); testasm(); initnewgroup(); initnewgroup(); while(!kbhit()) { initnewgroup(); rz+=5; ry+=7; rz+=6; rx%=3600; ry%=3600; rz%=3600; cmatrix_yxz(rx,ry,rz,matrix); csetmatrix(matrix,0,0,4000); points2[0]=0; crotlist(points2,points); //cclipedges(edges2,edges,points2); points3[0]=0; cprojlist(points3,points2); cpolylist(polylist,polys,edges,points3); asm(); cdrawpolylist(polylist); //cdrawpolylist(testlist); setborder(40); drawnewgroup(); setborder(10); #if 0 n=edges[0]; for(a=2,b=0;b