|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T a
Length: 4180 (0x1054) Types: TextFile Names: »animate.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/Sun/Sidtool/images/animate.c«
/* animate.c * * Make the debugger.animate file from the individual icons. * Written by Rich Burridge - Sun Microsystems Australia (Melbourne). * * Version 2.1. - April 1987. * * No responsibility is taken for any errors or inaccuracies inherent * either to the comments or the code of this program, but if reported * to me, then an attempt will be made to fix them. */ #include <stdio.h> #include <strings.h> #include <errno.h> #define CLOSE (void) close /* To make lint happy. */ #define FCLOSE (void) fclose #define FPRINTF (void) fprintf #define SSCANF (void) sscanf #define STRCPY (void) strcpy #define STRNCPY (void) strncpy #define WRITE (void) write #define BUFSIZE 512 /* Output buffer size in characters. */ #define MAXLINE 256 /* Maximum length of character string. */ extern int errno ; char progname[MAXLINE] ; /* Name of this program. */ char filename[MAXLINE] ; /* Name of the sidtool animate file. */ int fd ; /* File descriptor for animate data. */ getline(fd,s) /* Checks each character, and ignore's it if its NULL. */ FILE *fd ; char s[MAXLINE] ; { int c,i ; i = 0 ; while (i < MAXLINE-1 && (c = getc(fd)) != EOF && c != '\n') if (c != '\0') s[i++] = c ; if (c == EOF) return ; if (c == '\n') s[i++] = c ; s[i] = '\0' ; } load_cursor(name) char name[MAXLINE] ; { unsigned short buf[BUFSIZE/2] ; int i,j,temp ; char arg[MAXLINE],line[MAXLINE] ; FILE *fin,*fopen() ; if ((fin = fopen(name,"r")) == NULL) { FPRINTF(stderr,"%s: can't open %s.\n",progname,name) ; exit(1) ; } getline(fin,line) ; getline(fin,line) ; for (i = 0; i < 32; i++) { getline(fin,line) ; for (j = 0; j < 8; j++) { STRNCPY(&arg[0],&line[j*7+3],4) ; arg[4] = '\0' ; SSCANF(arg,"%X",&temp) ; buf[i*8+j] = (short) temp ; } } WRITE(fd,(char *) buf,BUFSIZE) ; FCLOSE(fin) ; } /*ARGSUSED*/ main(argc,argv) int argc ; char *argv[] ; { STRCPY(progname,argv[0]) ; STRCPY(filename,"sidtool.animate") ; if ((fd = open(filename,2)) == -1) if ((fd = creat(filename,0777)) == -1) { FPRINTF(stderr,"\n%s: unable to create %s.\n",progname,filename) ; exit(1) ; } load_cursor("cornerUR.pic") ; load_cursor("cornerRD.pic") ; load_cursor("cornerDL.pic") ; load_cursor("cornerLU.pic") ; load_cursor("picbigdot.pic") ; load_cursor("picsmalldot.pic") ; load_cursor("cirRIGHT0.pic") ; load_cursor("cirRIGHT1.pic") ; load_cursor("cirRIGHT2.pic") ; load_cursor("cirRIGHT3.pic") ; load_cursor("cirUP0.pic") ; load_cursor("cirUP1.pic") ; load_cursor("cirUP2.pic") ; load_cursor("cirUP3.pic") ; load_cursor("cirLEFT0.pic") ; load_cursor("cirLEFT1.pic") ; load_cursor("cirLEFT2.pic") ; load_cursor("cirLEFT3.pic") ; load_cursor("cirDOWN0.pic") ; load_cursor("cirDOWN1.pic") ; load_cursor("cirDOWN2.pic") ; load_cursor("cirDOWN3.pic") ; load_cursor("POKEY0.pic") ; load_cursor("POKEY1.pic") ; load_cursor("BASHFUL0.pic") ; load_cursor("BASHFUL1.pic") ; load_cursor("SPEEDY0.pic") ; load_cursor("SPEEDY1.pic") ; load_cursor("SHADOW0.pic") ; load_cursor("SHADOW1.pic") ; load_cursor("blueghost0.pic") ; load_cursor("blueghost1.pic") ; load_cursor("bluepics0.pic") ; load_cursor("bluepics1.pic") ; load_cursor("eyesRIGHT.pic") ; load_cursor("eyesUP.pic") ; load_cursor("eyesLEFT.pic") ; load_cursor("eyesDOWN.pic") ; load_cursor("circleexplode0.pic") ; load_cursor("circleexplode1.pic") ; load_cursor("circleexplode2.pic") ; load_cursor("circleexplode3.pic") ; load_cursor("circleexplode4.pic") ; load_cursor("circleexplode5.pic") ; load_cursor("circleexplode6.pic") ; load_cursor("circleexplode7.pic") ; load_cursor("circleexplode8.pic") ; load_cursor("fruit1.pic") ; load_cursor("fruit2.pic") ; load_cursor("fruit3.pic") ; load_cursor("fruit4.pic") ; load_cursor("fruit5.pic") ; load_cursor("fruit6.pic") ; load_cursor("fruit7.pic") ; load_cursor("fruit8.pic") ; CLOSE(fd) ; }