1*3e12c5d1SDavid du Colombier #include <u.h> 2*3e12c5d1SDavid du Colombier #include <libc.h> 3*3e12c5d1SDavid du Colombier #include <libg.h> 4*3e12c5d1SDavid du Colombier #include <bio.h> 5*3e12c5d1SDavid du Colombier #include "proof.h" 6*3e12c5d1SDavid du Colombier 7*3e12c5d1SDavid du Colombier int Mode = DorS; 8*3e12c5d1SDavid du Colombier 9*3e12c5d1SDavid du Colombier Rectangle rpage = { 0, 0, 850, 1150 }; 10*3e12c5d1SDavid du Colombier char devname[64]; 11*3e12c5d1SDavid du Colombier double mag = DEFMAG; 12*3e12c5d1SDavid du Colombier int dbg = 0; 13*3e12c5d1SDavid du Colombier char *track = 0; 14*3e12c5d1SDavid du Colombier Biobuf bin; 15*3e12c5d1SDavid du Colombier char libfont[100] = "/lib/font/bit"; 16*3e12c5d1SDavid du Colombier char mapfile[100] = "MAP"; 17*3e12c5d1SDavid du Colombier char *mapname = "MAP"; 18*3e12c5d1SDavid du Colombier 19*3e12c5d1SDavid du Colombier void 20*3e12c5d1SDavid du Colombier main(int argc, char *argv[]) 21*3e12c5d1SDavid du Colombier { 22*3e12c5d1SDavid du Colombier char c; 23*3e12c5d1SDavid du Colombier int dotrack = 0; 24*3e12c5d1SDavid du Colombier 25*3e12c5d1SDavid du Colombier for (argv++; *argv && (**argv == '-'); argv++) 26*3e12c5d1SDavid du Colombier switch(argv[0][1]) { 27*3e12c5d1SDavid du Colombier case 'm': /* magnification */ 28*3e12c5d1SDavid du Colombier mag = atof(&argv[0][2]); 29*3e12c5d1SDavid du Colombier if (mag < 0.1 || mag > 10){ 30*3e12c5d1SDavid du Colombier fprint(2, "ridiculous mag argument ignored\n"); 31*3e12c5d1SDavid du Colombier mag = DEFMAG; 32*3e12c5d1SDavid du Colombier } 33*3e12c5d1SDavid du Colombier break; 34*3e12c5d1SDavid du Colombier case '/': 35*3e12c5d1SDavid du Colombier nview = atoi(&argv[0][2]); 36*3e12c5d1SDavid du Colombier if (nview < 1 || nview > MAXVIEW) 37*3e12c5d1SDavid du Colombier nview = 1; 38*3e12c5d1SDavid du Colombier break; 39*3e12c5d1SDavid du Colombier case 'x': 40*3e12c5d1SDavid du Colombier xyoffset.x += atoi(&argv[0][2]) * 100; 41*3e12c5d1SDavid du Colombier break; 42*3e12c5d1SDavid du Colombier case 'y': 43*3e12c5d1SDavid du Colombier xyoffset.y += atoi(&argv[0][2]) * 100; 44*3e12c5d1SDavid du Colombier break; 45*3e12c5d1SDavid du Colombier case 'M': /* change MAP file */ 46*3e12c5d1SDavid du Colombier if (argv[0][2]) 47*3e12c5d1SDavid du Colombier strcpy(mapname, &argv[0][2]); 48*3e12c5d1SDavid du Colombier else { 49*3e12c5d1SDavid du Colombier strcpy(mapname, argv[1]); 50*3e12c5d1SDavid du Colombier argv++; 51*3e12c5d1SDavid du Colombier argc--; 52*3e12c5d1SDavid du Colombier } 53*3e12c5d1SDavid du Colombier break; 54*3e12c5d1SDavid du Colombier case 'F': /* change /lib/font/bit directory */ 55*3e12c5d1SDavid du Colombier if (argv[0][2]) 56*3e12c5d1SDavid du Colombier strcpy(libfont, &argv[0][2]); 57*3e12c5d1SDavid du Colombier else { 58*3e12c5d1SDavid du Colombier strcpy(libfont, argv[1]); 59*3e12c5d1SDavid du Colombier argv++; 60*3e12c5d1SDavid du Colombier argc--; 61*3e12c5d1SDavid du Colombier } 62*3e12c5d1SDavid du Colombier break; 63*3e12c5d1SDavid du Colombier case 'd': 64*3e12c5d1SDavid du Colombier dbg = 1; 65*3e12c5d1SDavid du Colombier break; 66*3e12c5d1SDavid du Colombier case 't': 67*3e12c5d1SDavid du Colombier dotrack = 1; 68*3e12c5d1SDavid du Colombier break; 69*3e12c5d1SDavid du Colombier default: 70*3e12c5d1SDavid du Colombier fprint(2, "unknown option '%s' ignored!\n", *argv); 71*3e12c5d1SDavid du Colombier break; 72*3e12c5d1SDavid du Colombier } 73*3e12c5d1SDavid du Colombier if (*argv) { 74*3e12c5d1SDavid du Colombier close(0); 75*3e12c5d1SDavid du Colombier if (open(*argv, 0) == -1) { 76*3e12c5d1SDavid du Colombier perror(*argv); 77*3e12c5d1SDavid du Colombier exits("open failure"); 78*3e12c5d1SDavid du Colombier } 79*3e12c5d1SDavid du Colombier if(dotrack) 80*3e12c5d1SDavid du Colombier track = *argv; 81*3e12c5d1SDavid du Colombier } 82*3e12c5d1SDavid du Colombier Binit(&bin, 0, OREAD); 83*3e12c5d1SDavid du Colombier sprint(mapfile, "%s/%s", libfont, mapname); 84*3e12c5d1SDavid du Colombier readmapfile(mapfile); 85*3e12c5d1SDavid du Colombier for (c = 0; c < NFONT; c++) 86*3e12c5d1SDavid du Colombier loadfontname(c, "??"); 87*3e12c5d1SDavid du Colombier mapscreen(); 88*3e12c5d1SDavid du Colombier clearscreen(); 89*3e12c5d1SDavid du Colombier readpage(); 90*3e12c5d1SDavid du Colombier } 91