#ifndef lint static const char RCSid[] = "$Id: subr.c,v 1.3 2004/03/28 20:33:13 schorsch Exp $"; #endif #include #include "local4014.h" #include "lib4014.h" float obotx = 0.; float oboty = 0.; float botx = 0.; float boty = 0.; float scalex = 1.; float scaley = 1.; int scaleflag; int oloy = -1; int ohiy = -1; int ohix = -1; int oextra = -1; extern void cont( int x, int y ) { int hix,hiy,lox,loy,extra; int n; x = (x-obotx)*scalex + botx; y = (y-oboty)*scaley + boty; hix=(x>>7) & 037; hiy=(y>>7) & 037; lox = (x>>2)&037; loy=(y>>2)&037; extra=x&(03+(y<<2))&014; n = (abs(hix-ohix) + abs(hiy-ohiy) + 6) / 12; if(hiy != ohiy){ putch(hiy|040); ohiy=hiy; } if(hix != ohix){ if(extra != oextra){ putch(extra|0140); oextra=extra; } putch(loy|0140); putch(hix|040); ohix=hix; oloy=loy; } else{ if(extra != oextra){ putch(extra|0140); putch(loy|0140); oextra=extra; oloy=loy; } else if(loy != oloy){ putch(loy|0140); oloy=loy; } } putch(lox|0100); while(n--) putch(0); } extern void putch( int c ) { putc(c,stdout); }