Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!lll-lcc!seismo!munnari!moncskermit!trldeity!trlamct!sunk!richb From: richb@sunk.UUCP Newsgroups: net.sources.games Subject: Sid Tool (Pacman) Part 3 of 5. Message-ID: <124@sunk.oz> Date: Sun, 12-Apr-87 01:11:41 EST Article-I.D.: sunk.124 Posted: Sun Apr 12 01:11:41 1987 Date-Received: Wed, 15-Apr-87 00:04:02 EST Organization: Sun Microsystems Australia Lines: 1115 Keywords: Sun O/S v3.2 or later. ----------CUT HERE----------CUT HERE------- #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh images/animate.c <<'END_OF_images/animate.c' X X/* animate.c X * X * Make the debugger.animate file from the individual icons. X * Written by Rich Burridge - Sun Microsystems Australia (Melbourne). X * X * Version 2.1. - April 1987. X * X * No responsibility is taken for any errors or inaccuracies inherent X * either to the comments or the code of this program, but if reported X * to me, then an attempt will be made to fix them. X */ X X#include X#include X#include X X#define CLOSE (void) close /* To make lint happy. */ X#define FCLOSE (void) fclose X#define FPRINTF (void) fprintf X#define SSCANF (void) sscanf X#define STRCPY (void) strcpy X#define STRNCPY (void) strncpy X#define WRITE (void) write X X#define BUFSIZE 512 /* Output buffer size in characters. */ X#define MAXLINE 256 /* Maximum length of character string. */ X Xextern int errno ; X Xchar progname[MAXLINE] ; /* Name of this program. */ Xchar filename[MAXLINE] ; /* Name of the sidtool animate file. */ X Xint fd ; /* File descriptor for animate data. */ X X Xgetline(fd,s) /* Checks each character, and ignore's it if its NULL. */ XFILE *fd ; Xchar s[MAXLINE] ; X X{ X int c,i ; X X i = 0 ; X while (i < MAXLINE-1 && (c = getc(fd)) != EOF && c != '\n') X if (c != '\0') s[i++] = c ; X X if (c == EOF) return ; X if (c == '\n') s[i++] = c ; X s[i] = '\0' ; X} X X Xload_cursor(name) Xchar name[MAXLINE] ; X X{ X unsigned short buf[BUFSIZE/2] ; X int i,j,temp ; X char arg[MAXLINE],line[MAXLINE] ; X FILE *fin,*fopen() ; X X if ((fin = fopen(name,"r")) == NULL) X { X FPRINTF(stderr,"%s: can't open %s.\n",progname,name) ; X exit(1) ; X } X getline(fin,line) ; X getline(fin,line) ; X for (i = 0; i < 32; i++) X { X getline(fin,line) ; X for (j = 0; j < 8; j++) X { X STRNCPY(&arg[0],&line[j*7+3],4) ; X arg[4] = '\0' ; X SSCANF(arg,"%X",&temp) ; X buf[i*8+j] = (short) temp ; X } X } X WRITE(fd,(char *) buf,BUFSIZE) ; X FCLOSE(fin) ; X} X X X/*ARGSUSED*/ Xmain(argc,argv) Xint argc ; Xchar *argv[] ; X X{ X STRCPY(progname,argv[0]) ; X STRCPY(filename,"sidtool.animate") ; X if ((fd = open(filename,2)) == -1) X if ((fd = creat(filename,0777)) == -1) X { X FPRINTF(stderr,"\n%s: unable to create %s.\n",progname,filename) ; X exit(1) ; X } X X load_cursor("cornerUR.pic") ; X load_cursor("cornerRD.pic") ; X load_cursor("cornerDL.pic") ; X load_cursor("cornerLU.pic") ; X X load_cursor("picbigdot.pic") ; X load_cursor("picsmalldot.pic") ; X X load_cursor("cirRIGHT0.pic") ; X load_cursor("cirRIGHT1.pic") ; X load_cursor("cirRIGHT2.pic") ; X load_cursor("cirRIGHT3.pic") ; X X load_cursor("cirUP0.pic") ; X load_cursor("cirUP1.pic") ; X load_cursor("cirUP2.pic") ; X load_cursor("cirUP3.pic") ; X X load_cursor("cirLEFT0.pic") ; X load_cursor("cirLEFT1.pic") ; X load_cursor("cirLEFT2.pic") ; X load_cursor("cirLEFT3.pic") ; X X load_cursor("cirDOWN0.pic") ; X load_cursor("cirDOWN1.pic") ; X load_cursor("cirDOWN2.pic") ; X load_cursor("cirDOWN3.pic") ; X X load_cursor("POKEY0.pic") ; X load_cursor("POKEY1.pic") ; X X load_cursor("BASHFUL0.pic") ; X load_cursor("BASHFUL1.pic") ; X X load_cursor("SPEEDY0.pic") ; X load_cursor("SPEEDY1.pic") ; X X load_cursor("SHADOW0.pic") ; X load_cursor("SHADOW1.pic") ; X X load_cursor("blueghost0.pic") ; X load_cursor("blueghost1.pic") ; X X load_cursor("bluepics0.pic") ; X load_cursor("bluepics1.pic") ; X X load_cursor("eyesRIGHT.pic") ; X load_cursor("eyesUP.pic") ; X load_cursor("eyesLEFT.pic") ; X load_cursor("eyesDOWN.pic") ; X X load_cursor("circleexplode0.pic") ; X load_cursor("circleexplode1.pic") ; X load_cursor("circleexplode2.pic") ; X load_cursor("circleexplode3.pic") ; X load_cursor("circleexplode4.pic") ; X load_cursor("circleexplode5.pic") ; X load_cursor("circleexplode6.pic") ; X load_cursor("circleexplode7.pic") ; X load_cursor("circleexplode8.pic") ; X X load_cursor("fruit1.pic") ; X load_cursor("fruit2.pic") ; X load_cursor("fruit3.pic") ; X load_cursor("fruit4.pic") ; X load_cursor("fruit5.pic") ; X load_cursor("fruit6.pic") ; X load_cursor("fruit7.pic") ; X load_cursor("fruit8.pic") ; X CLOSE(fd) ; X} END_OF_images/animate.c if test 4180 -ne `wc -c images/blueghost0.pic <<'END_OF_images/blueghost0.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0001,0x0018,0x0000,0x0000, X 0x0001,0x8018,0x3000,0x0000,0x0000,0xC018,0x6000,0x0000, X 0x0000,0x6018,0x6000,0x0000,0x0000,0x2030,0xC000,0x0000, X 0x0040,0x3031,0x8000,0x0000,0x0030,0x1031,0x8000,0x0000, X 0x0008,0x1833,0x0000,0x0000,0x0008,0x0C36,0x0000,0x0000, X 0x0184,0x0636,0x3E00,0x0000,0x0062,0x03FC,0x7F00,0x0000, X 0x0011,0xC7F8,0xFF80,0x0000,0x000F,0xE7FD,0xFFC0,0x0000, X 0x0003,0xE7FD,0xFFE0,0x0000,0x0007,0xF7FD,0xFFF0,0x0000, X 0x0007,0xFFFF,0xFFF8,0x0000,0x0007,0xFFFF,0xFFF8,0x0000, X 0x0007,0xF7FD,0xFFF0,0x0000,0x0003,0xE7FD,0xFFE0,0x0000, X 0x0003,0xE7FD,0xFFC0,0x0000,0x0001,0xC7F8,0xFF80,0x0000, X 0x0000,0x03F0,0x7F00,0x0000,0x0000,0x0000,0x3E00,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/blueghost0.pic if test 1933 -ne `wc -c images/circleexplode0.pic <<'END_OF_images/circleexplode0.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFFF0,0x0000,0x0001,0xFFFF,0xFFE0,0x0000, X 0x0001,0xFFFF,0xFFC0,0x0000,0x0001,0xFFFF,0x8000,0x0000, X 0x0001,0xFFFF,0x8000,0x0000,0x0001,0xFFFF,0x0000,0x0000, X 0x0001,0xFFFF,0x0000,0x0000,0x0001,0xFFFE,0x0000,0x0000, X 0x0001,0xFFFE,0x0000,0x0000,0x0001,0xFFFC,0x0000,0x0000, X 0x7FFF,0xFFFF,0xFDE0,0x0000,0xFFFF,0xFFFF,0xFBE0,0x0000, X 0xFFFF,0xAFFF,0xFBE0,0x0000,0xFFFF,0x57FF,0xF7D8,0x0000, X 0xFFFF,0xAFFF,0xEFD8,0x0000,0xFFFF,0x57FF,0xDFD8,0x0000, X 0xFFFF,0xFFFF,0xDFD8,0x0000,0xFFFF,0xFFFF,0xBFD8,0x0000, X 0xFFFF,0xFFFF,0x7FB8,0x0000,0xFFFF,0xFFFE,0xFFB8,0x0000, X 0xFFFF,0xFFFE,0xFFB8,0x0000,0xFFFF,0xFFFD,0xFFB8,0x0000, X 0xFFFF,0xFFFB,0xFFB8,0x0000,0xFFFF,0xFFF7,0xFF78,0x0000, X 0xFFFF,0xFFF7,0xFF78,0x0000,0xFFFF,0xFFEF,0xFF78,0x0000, X 0xFFFF,0xFFDF,0xFF70,0x0000,0x8000,0x003F,0xFEF0,0x0000, X 0x7FFF,0xFFFF,0xFEF0,0x0000,0xF000,0x007F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFEF0,0x0000,0xFFFF,0xF07F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0xFFFF,0xFFFF,0xFDF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0x7FFF,0xFFFF,0xFDE0,0x0000, X 0x3FFF,0xFFFF,0xFDE0,0x0000,0x0000,0x0FFF,0xFBE0,0x0000, X 0x0000,0x0FFF,0xFBE0,0x0000,0x0000,0x07FF,0xFBE0,0x0000, X 0x0000,0x07FF,0xFFE0,0x0000,0x0000,0x03FF,0xFFC0,0x0000, X 0x0000,0x03FF,0xF000,0x0000,0x0000,0x01FF,0xE000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode0.pic if test 1933 -ne `wc -c images/circleexplode1.pic <<'END_OF_images/circleexplode1.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFFF0,0x0000,0x0001,0xFFFF,0xFFE0,0x0000, X 0x0001,0xFFFF,0xFFC0,0x0000,0x0001,0xFFFF,0x8000,0x0000, X 0x0001,0xFFFF,0x8000,0x0000,0x0001,0xFFFF,0x0000,0x0000, X 0x0001,0xFFFF,0x0000,0x0000,0x0001,0xFFFE,0x0000,0x0000, X 0x0001,0xFFFE,0x0000,0x0000,0x0001,0xFFFC,0x0000,0x0000, X 0x7FFF,0xFFFF,0xFDE0,0x0000,0xFFFF,0xFFFF,0xFBE0,0x0000, X 0xFFFF,0xAFFF,0xFBE0,0x0000,0xFFFF,0x57FF,0xF7D8,0x0000, X 0xFFFF,0xAFFF,0xEFD8,0x0000,0xFFFF,0x57FF,0xDFD8,0x0000, X 0xFFFF,0xFFFF,0xDFD8,0x0000,0xFFFF,0xFFFF,0xBFD8,0x0000, X 0xFFFF,0xFFFF,0x7FB8,0x0000,0xFFFF,0xFFFE,0xFFB8,0x0000, X 0xFFFF,0xFFFE,0xFFB8,0x0000,0xFFFF,0xFFFD,0xFFB8,0x0000, X 0xFFFF,0xFFFB,0xFFB8,0x0000,0xFFFF,0xFFF7,0xFF78,0x0000, X 0xFFFF,0xFFF7,0xFF78,0x0000,0xFFFF,0xFFEF,0xFF78,0x0000, X 0xFFFF,0xFFDF,0xFF70,0x0000,0x8000,0x003F,0xFEF0,0x0000, X 0x7FFF,0xFFFF,0xFEF0,0x0000,0xF000,0x007F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFEF0,0x0000,0xFFFF,0xF07F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0xFFFF,0xFFFF,0xFDF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0x7FFF,0xFFFF,0xFDE0,0x0000, X 0x3FFF,0xFFFF,0xFDE0,0x0000,0x0000,0x0FFF,0xFBE0,0x0000, X 0x0000,0x0FFF,0xFBE0,0x0000,0x0000,0x07FF,0xFBE0,0x0000, X 0x0000,0x07FF,0xFFE0,0x0000,0x0000,0x03FF,0xFFC0,0x0000, X 0x0000,0x03FF,0xF000,0x0000,0x0000,0x01FF,0xE000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode1.pic if test 1933 -ne `wc -c images/circleexplode2.pic <<'END_OF_images/circleexplode2.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFFF0,0x0000,0x0001,0xFFFF,0xFFE0,0x0000, X 0x0001,0xFFFF,0xFFC0,0x0000,0x0001,0xFFFF,0x8000,0x0000, X 0x0001,0xFFFF,0x8000,0x0000,0x0001,0xFFFF,0x0000,0x0000, X 0x0001,0xFFFF,0x0000,0x0000,0x0001,0xFFFE,0x0000,0x0000, X 0x0001,0xFFFE,0x0000,0x0000,0x0001,0xFFFC,0x0000,0x0000, X 0x7FFF,0xFFFF,0xFDE0,0x0000,0xFFFF,0xFFFF,0xFBE0,0x0000, X 0xFFFF,0xAFFF,0xFBE0,0x0000,0xFFFF,0x57FF,0xF7D8,0x0000, X 0xFFFF,0xAFFF,0xEFD8,0x0000,0xFFFF,0x57FF,0xDFD8,0x0000, X 0xFFFF,0xFFFF,0xDFD8,0x0000,0xFFFF,0xFFFF,0xBFD8,0x0000, X 0xFFFF,0xFFFF,0x7FB8,0x0000,0xFFFF,0xFFFE,0xFFB8,0x0000, X 0xFFFF,0xFFFE,0xFFB8,0x0000,0xFFFF,0xFFFD,0xFFB8,0x0000, X 0xFFFF,0xFFFB,0xFFB8,0x0000,0xFFFF,0xFFF7,0xFF78,0x0000, X 0xFFFF,0xFFF7,0xFF78,0x0000,0xFFFF,0xFFEF,0xFF78,0x0000, X 0xFFFF,0xFFDF,0xFF70,0x0000,0x8000,0x003F,0xFEF0,0x0000, X 0x7FFF,0xFFFF,0xFEF0,0x0000,0xF000,0x007F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFEF0,0x0000,0xFFFF,0xF07F,0xFEF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0xFFFF,0xFFFF,0xFDF0,0x0000, X 0xFFFF,0xFFFF,0xFDF0,0x0000,0x7FFF,0xFFFF,0xFDE0,0x0000, X 0x3FFF,0xFFFF,0xFDE0,0x0000,0x0000,0x0FFF,0xFBE0,0x0000, X 0x0000,0x0FFF,0xFBE0,0x0000,0x0000,0x07FF,0xFBE0,0x0000, X 0x0000,0x07FF,0xFFE0,0x0000,0x0000,0x03FF,0xFFC0,0x0000, X 0x0000,0x03FF,0xF000,0x0000,0x0000,0x01FF,0xE000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode2.pic if test 1933 -ne `wc -c images/circleexplode3.pic <<'END_OF_images/circleexplode3.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFFF0,0x0000,0x0001,0xFFFF,0xFFE0,0x0000, X 0x0001,0xFFFF,0x8000,0x0000,0x0001,0xFFFF,0x8000,0x0000, X 0x0001,0xFFFF,0x8000,0x0000,0x0001,0xFFFF,0x0000,0x0000, X 0x0001,0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF,0x8000,0x0000, X 0xFFFF,0xAFFF,0xFB80,0x0000,0xFFFF,0x57FF,0xF7C0,0x0000, X 0xFFFF,0xAFFF,0xEF80,0x0000,0xFFFF,0x57FF,0xDF88,0x0000, X 0xFFFF,0xFFFF,0xDF88,0x0000,0xFFFF,0xFFFF,0xBF88,0x0000, X 0xFFFF,0xFFFF,0x7F08,0x0000,0xFFFF,0xFFFE,0xFF18,0x0000, X 0xFFFF,0xFFFE,0xFF18,0x0000,0xFFFF,0xFFFD,0xFF18,0x0000, X 0xFFFF,0xFFFB,0xFF18,0x0000,0xFFFF,0xFFF7,0xFE38,0x0000, X 0xFFFF,0xFFF7,0xFE38,0x0000,0xFFFF,0xFFEF,0xFE38,0x0000, X 0xFFFF,0xFFDF,0xFE38,0x0000,0x8000,0x003F,0xFC78,0x0000, X 0x7FFF,0xFFFF,0xFC78,0x0000,0xF000,0x007F,0xFC70,0x0000, X 0xFFFF,0xFFFF,0xFC70,0x0000,0xFFFF,0xF07F,0xF8F0,0x0000, X 0xFFFF,0xFFFF,0xF8F0,0x0000,0xFFFF,0xFFFF,0xF8F0,0x0000, X 0xFFFF,0xFFFF,0xF8F0,0x0000,0x7FFF,0xFFFF,0xF9F0,0x0000, X 0x3FFF,0xFFFF,0xF1F0,0x0000,0x0000,0x0FFF,0xF1E0,0x0000, X 0x0000,0x0FFF,0xF1E0,0x0000,0x0000,0x07FF,0xF3E0,0x0000, X 0x0000,0x07FF,0xE3E0,0x0000,0x0000,0x03FF,0xE3E0,0x0000, X 0x0000,0x03FF,0xE000,0x0000,0x0000,0x01FF,0xE000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode3.pic if test 1933 -ne `wc -c images/circleexplode4.pic <<'END_OF_images/circleexplode4.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFC00,0x0000,0x0001,0xFFFF,0xFE00,0x0000, X 0x0001,0xFFFF,0x0000,0x0000,0x0000,0xFFFF,0x0000,0x0000, X 0x0000,0x7FE0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x09FE,0x0000,0x0000, X 0x0000,0x2FFF,0xF000,0x0000,0x00AF,0x57FF,0xF000,0x0000, X 0x05FF,0xAFFF,0xEC00,0x0000,0x1FFF,0x57FF,0xDE00,0x0000, X 0x3FFF,0xFFFF,0xDF00,0x0000,0x3FFF,0xFFFF,0xBF80,0x0000, X 0x7FFF,0xFFFF,0x7F00,0x0000,0x7FFF,0xFFFE,0xFF00,0x0000, X 0x7FFF,0xFFFE,0xFF00,0x0000,0x7FFF,0xFFFD,0xFF00,0x0000, X 0x7FFF,0xFFFB,0xFF00,0x0000,0x7FFF,0xFFF7,0xFE00,0x0000, X 0x3FFF,0xFFF7,0xFE00,0x0000,0x3FFF,0xFFEF,0xFE00,0x0000, X 0x3FFF,0xFFDF,0xFE08,0x0000,0x0000,0x003F,0xFC18,0x0000, X 0x3FFF,0xFFFF,0xFC18,0x0000,0x3000,0x007F,0xFC30,0x0000, X 0x3FFF,0xFFFF,0xFC30,0x0000,0x3FFF,0xF07F,0xF830,0x0000, X 0x0FFF,0xFFFF,0xF870,0x0000,0x03FF,0xFFFF,0xF870,0x0000, X 0x00FF,0xFFFF,0xF070,0x0000,0x007F,0xFFFF,0xF070,0x0000, X 0x000F,0xFFFF,0xE0F0,0x0000,0x0000,0x0FFF,0xE0E0,0x0000, X 0x0000,0x0FF8,0x00E0,0x0000,0x0000,0x0118,0x00E0,0x0000, X 0x0000,0x0000,0x01C0,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode4.pic if test 1933 -ne `wc -c images/circleexplode5.pic <<'END_OF_images/circleexplode5.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFFFF,0xFC00,0x0000,0x0001,0xFFFF,0xFE00,0x0000, X 0x0001,0xFEFF,0x0000,0x0000,0x0000,0x003F,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0020,0x0000,0x0000, X 0x0000,0x0368,0x0000,0x0000,0x0000,0x0700,0x0000,0x0000, X 0x0033,0xFFCF,0x0000,0x0000,0x0087,0xFFF4,0x0000,0x0000, X 0x0140,0x3FFF,0x0000,0x0000,0x0123,0xFFFE,0x8000,0x0000, X 0x007F,0xFFFE,0xC000,0x0000,0x07FF,0xFFFD,0x8000,0x0000, X 0x0FFF,0xFFFB,0x8000,0x0000,0x27FF,0xFFF7,0x4000,0x0000, X 0x37FF,0xFFF7,0x0000,0x0000,0x37FF,0xFFEF,0x8000,0x0000, X 0x1FFF,0xFFDE,0x0000,0x0000,0x0000,0x003E,0x0000,0x0000, X 0x1BFF,0xFFFC,0x0000,0x0000,0x0000,0x0078,0x0000,0x0000, X 0x03FF,0xFFE0,0x1000,0x0000,0x27FF,0xF07E,0x8000,0x0000, X 0x0FFF,0xFFF0,0x0000,0x0000,0x03FF,0xFE90,0x0800,0x0000, X 0x00FF,0xC010,0x0040,0x0000,0x7C00,0x0400,0x5000,0x0000, X 0x0005,0x8400,0x00F0,0x0000,0x0000,0x0000,0x00E0,0x0000, X 0x0000,0x0000,0x00E0,0x0000,0x0000,0x0000,0x00E0,0x0000, X 0x0000,0x0000,0x01C0,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode5.pic if test 1933 -ne `wc -c images/circleexplode6.pic <<'END_OF_images/circleexplode6.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0001,0xFF80,0x0000,0x0000,0x0001,0xFC00,0x0000,0x0000, X 0x0001,0x8000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0080,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x3FFC,0x0000,0x0000,0x0003,0xFFFE,0x0000,0x0000, X 0x000E,0x8FFE,0x0000,0x0000,0x0035,0xEFE4,0x0000,0x0000, X 0x005F,0xDFDA,0x0000,0x0000,0x00FF,0xC9B0,0x0000,0x0000, X 0x00FF,0xFF74,0x0000,0x0000,0x003F,0xF8EE,0x0000,0x0000, X 0x001F,0xF8DE,0x0000,0x0000,0x0000,0x003C,0x0000,0x0000, X 0x002F,0xF008,0x0000,0x0000,0x0000,0x0070,0x0000,0x0000, X 0x0012,0xF3E0,0x0000,0x0000,0x0003,0xF020,0x0000,0x0000, X 0x0008,0xA000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode6.pic if test 1933 -ne `wc -c images/circleexplode7.pic <<'END_OF_images/circleexplode7.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0004,0x8000,0x0000,0x0000,0x0005,0xEC00,0x0000,0x0000, X 0x000F,0xDC00,0x0000,0x0000,0x001F,0xC800,0x0000,0x0000, X 0x000F,0xFE00,0x0000,0x0000,0x000F,0xFE00,0x0000,0x0000, X 0x0007,0xA800,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode7.pic if test 1933 -ne `wc -c images/circleexplode8.pic <<'END_OF_images/circleexplode8.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0000,0x0600,0x0000,0x0000,0x0000,0x0600,0x0000,0x0000, X 0x0000,0x0600,0x0000,0x0000,0x0000,0x0600,0x0000,0x0000, X 0x0000,0x0600,0x0000,0x0000,0x0000,0x0600,0x0000,0x0000, X 0x0100,0x0600,0x0000,0x0000,0x0380,0x0600,0x0C00,0x0000, X 0x01C0,0x0600,0x1C00,0x0000,0x00E0,0x0600,0x3800,0x0000, X 0x0070,0x0000,0x7000,0x0000,0x0038,0x0000,0xE000,0x0000, X 0x001C,0x0001,0xC000,0x0000,0x000C,0x0001,0x8000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x1FF8,0x0000, X 0xFF80,0x0000,0x1FF8,0x0000,0xFF80,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0018,0x0000,0xC000,0x0000,0x0038,0x0000,0xE000,0x0000, X 0x0070,0x0000,0x7000,0x0000,0x00E0,0x0000,0x3800,0x0000, X 0x01C0,0x0000,0x1C00,0x0000,0x0380,0x0300,0x0E00,0x0000, X 0x0100,0x0300,0x0400,0x0000,0x0000,0x0300,0x0000,0x0000, X 0x0000,0x0300,0x0000,0x0000,0x0000,0x0300,0x0000,0x0000, X 0x0000,0x0300,0x0000,0x0000,0x0000,0x0300,0x0000,0x0000, X 0x0000,0x0300,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/circleexplode8.pic if test 1933 -ne `wc -c images/picsmalldot.pic <<'END_OF_images/picsmalldot.pic' X/* Format_version=1, Width=64, Height=64, Depth=1, Valid_bits_per_item=16 X */ X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0800,0x0000,0x0000,0x0000,0x0000, X 0x003E,0x0000,0x0000,0x0000,0x003E,0x0000,0x0000,0x0000, X 0x007F,0x0000,0x0000,0x0000,0x003E,0x0000,0x0000,0x0000, X 0x003E,0x0000,0x0000,0x0000,0x0008,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000, X 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 END_OF_images/picsmalldot.pic if test 1933 -ne `wc -c sid_sun.c <<'END_OF_sid_sun.c' X X/* sid_sun.c X * X * Various graphics functions used by Sid Tool. X * X * Written by Rich Burridge - SUN Microsystems Australia (Melbourne). X * X * Version 2.1. - April 1987. X * X * No responsibility is taken for any errors inherent either to the code X * or the comments of this program, but if reported to me then an attempt X * will be made to fix them. X */ X X#include X#include X#include X#include X#include X#include X#include "bltstuff.h" X#include "sidtool.h" X#include X#include X XCursor nullcur,syscur ; /* Sid Tool cursors. */ XPixfont *pf ; XPixrect *bigdot,*bluebug[2],*bluepics[2],*bugpics[4][2],*circleexplode[9] ; XPixrect *circles[4][4],*corner[4],*curcircle,*eyes[4],*fruitpics[9] ; XPixrect *smalldot ; X Xextern Canvas canvas ; Xextern Pixwin *pw ; X Xshort nullcur_data[] = { X 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 X} ; Xmpr_static(nullcur_pr,16,16,1,nullcur_data) ; X Xshort syscur_data[] = { X#include "main.cursor" X} ; Xmpr_static(syscur_pr,16,16,1,syscur_data) ; X Xint sfunc ; X X Xget_key(fd,station,value,count) Xint fd,station,count ; Xchar value[MAXLINE] ; X X{ X struct kiockey key ; X X key.kio_tablemask = 0 ; X key.kio_entry = count ; X key.kio_station = station ; X IOCTL(fd,(int) KIOCGETKEY,(char *) &key) ; X STRCPY(value,key.kio_string) ; X} X X Xiocursormode(m) /* Set the current cursor display mode. */ Xint m ; X X{ X switch (m) X { X case OFFCURSOR : nullcur = window_get(canvas,WIN_CURSOR) ; X cursor_set(nullcur,CURSOR_IMAGE,&nullcur_pr,0) ; X window_set(canvas,WIN_CURSOR,nullcur,0) ; X break ; X case TRACKCURSOR : syscur = window_get(canvas,WIN_CURSOR) ; X cursor_set(syscur,CURSOR_IMAGE,&syscur_pr,0) ; X cursor_set(syscur,CURSOR_OP,PIX_SRC ^ PIX_DST,0) ; X window_set(canvas,WIN_CURSOR,syscur,0) ; X } X} X X XPixrect *load_picture(fd) Xint fd ; X X{ X Pixrect *name ; X struct pr_size size ; X int i ; X unsigned int *ptr,temp_area[128] ; X X size.x = 64 ; X size.y = 64 ; X name = mem_create(size,1) ; X READ(fd,(char *) temp_area,512) ; X ptr = (unsigned int *) ((struct mpr_data *) name->pr_data)->md_image ; X for (i = 0; i < 128; i++) ptr[i] = temp_area[i] ; X return(name) ; X} X X Xset_key(fd,station,value,count) Xint fd,station,count ; Xchar value[MAXLINE] ; X X{ X struct kiockey key ; X X key.kio_tablemask = 0 ; X key.kio_entry = count ; X key.kio_station = station ; X STRCPY(key.kio_string,value) ; X IOCTL(fd,(int) KIOCSETKEY,(char *) &key) ; X} X X Xwrite_bold(x,y,text) /* Write text in a "pseudo" bold font. */ Xint x,y ; Xchar text[MAXLINE] ; X X{ X pw_text(pw,x,y,ROR,pf,text) ; X pw_text(pw,x+1,y,ROR,pf,text) ; X} END_OF_sid_sun.c if test 2825 -ne `wc -c sidtool.h <<'END_OF_sidtool.h' X X/* sidtool.h X * X * Definitions used by the SID tool. X * Written by Rich Burridge - SUN Microsystems Australia (Melbourne). X * X * Version 2.1. - April 1987. X * X * No responsibility is taken for any errors inherent either to the code X * or the comments of this program, but if reported to me then an attempt X * will be made to fix them. X */ X X/* These are the variables you might wish to change at compile time, or they X * can be overridden at run time by command line options or environment X * variables. X */ X X#define A_NAME "sidtool.animate" /* Default animate filename. */ X#define H_NAME "sidtool.help" /* Defaults help filename. */ X#define M_NAME "sidtool.maze" /* Default maze filename. */ X#define SPEED 3 /* Speed of this Sun. */ X#define S_NAME "sidtool.hs" /* Default highscore filename. */ X Xtypedef int BOOLEAN ; Xchar *sprintf() ; X X#define BIND (void) bind /* To make lint happy. */ X#define CLOSE (void) close X#define CONNECT (void) connect X#define DOINC (void) doinc X#define FCLOSE (void) fclose X#define FCNTL (void) fcntl X#define FGETS (void) fgets X#define FPRINTF (void) fprintf X#define FSCANF (void) fscanf X#define IOCTL (void) ioctl X#define KILL (void) kill X#define LISTEN (void) listen X#define READ (void) read X#define SSCANF (void) sscanf X#define SELECT (void) select X#define SETJMP (void) setjmp X#define SPRINTF (void) sprintf X#define STAT (void) stat X#define STRCPY (void) strcpy X#define UNLINK (void) unlink X#define WRITE (void) write X X X#define SQUARE 26 /* Size of each square of the maze. */ X#define XBASE 45 /* X start of maze. */ X#define YBASE 100 /* Y start of maze. */ X X/* Convert from maze coordinates to screen coordinates. */ X#define TRANSPT(mx,my,scrx,scry) { scrx = (mx - 1) * SQUARE + XBASE ; \ X scry = (my - 1) * SQUARE + YBASE ; } X X/* Convert from screen coordinates to maze coordinates. */ X#define UNTRANSPT(scrx,scry,mx,my) { mx = ((scrx - XBASE) / SQUARE) + 1 ; \ X my = ((scry - YBASE) / SQUARE) + 1 ; } X X/* Wait for len tics. */ X#define PPAUSE(len) { int ppi ; for (ppi = 0; ppi < len; ppi++) ; } X X/* Wait for a while and check keyboard for commands. */ X#define LONGPAUSE() { int loi ; for (loi = 0; loi < (1000*speed); loi++) ; } X X/* Returns the reverse direction of the parameter (left goes to right, etc.) */ X#define REVERSEDIR(dir) ((dir + 2) % 4) X X/* Returns true if the screen position is in the center of a square. */ X#define GCENTERED(scrx,scry) (((scrx - XBASE) % SQUARE == 0) && \ X ((scry - YBASE) % SQUARE == 0)) X X/* Set the function to be used for characters. */ X#define SCHRFUNC(f) (sfunc = f) X X/* Determine the bug index, POKEY to SHADOW. */ X#define GIND(x) ((x) - &bugs[0]) X X#define OFFCURSOR 0 /* Mouse cursor modes. */ X#define TRACKCURSOR 1 X X#define KEY_SET 0 /* Used for function key setup. */ X#define KEY_RESET 1 X X#define BSPACE 8 /* Backspace used by getline. */ X#define BUTXOFF 30 /* X offset of buttons. */ X#define BUTYOFF 10 /* Y offset of buttons. */ X#define CATCHUP 3 /* Amount screen catches up blue bug. */ X#define CR 13 X#define DEL 127 /* Used to start the sid tool game. */ X#define ENKEY 01652 /* Encode key used in highscore file. */ X#define FRUITMX 13 /* X maze position of fruit. */ X#define FRUITMY 16 /* Y maze position of fruit. */ X#define GOFFSET SQUARE / 2 - 3 /* Offset of bugs and screen. */ X#define MAXNUMPLAYERS 4 /* Number of players allowed. */ X#define MAXLINE 80 /* Maximum string length. */ X#define MINMOVE 20 X#define SWIDTH 768 /* Maximum screen width. */ X#define SHEIGHT 900 /* Maximum screen height. */ X#define XSIZE 26 /* Number of squares in x. */ X#define YSIZE 28 /* Number of squares in y. */ X X/* States for the Sid Tool automation. */ X#define STARTUP 0 /* Define setjmp variable. */ X#define INITGAME 1 /* Initialise start of game variables. */ X#define PLAY 2 /* Start play mode. */ X#define DOPLAY 3 /* Jump here if been eaten, or starting new game. */ X#define MAKEPLAY 4 /* Perform next movement of each Sid Tool object. */ X#define DOREST 5 /* Initial routine for credits and button actions.*/ X#define HIGHSCORE 6 /* Initial routine for getting the highscores. */ X#define NEXTLINE 7 /* Get a user name for the new high score. */ X#define DOCREDIT 8 /* Initial routine for display the credits. */ X#define MOVELEFT 9 /* Animate screen left during credits. */ X#define MOVERIGHT 10 /* Animate screen right during credits. */ X#define DELHIT 11 /* Del key has been pressed. */ X#define GETBUT 12 /* Get a pseudo-button press from the user. */ X#define MAKESEL 13 X#define DOLEAVE 14 X#define RESETGAME 15 X#define CTRLSHIT 16 /* ^S has been hit, do nothing until ^Q. */ X X#ifndef CTRLQ X#define CTRLQ 17 /* Used to restart SID tool. */ X#endif X#ifndef CTRLS X#define CTRLS 19 /* Used to halt the SID tool. */ X#endif X X#define TRUE 1 X#define FALSE 0 X X#define BUT_AUTO 0 /* Control menu buttons. */ X#define BUT_HELP 1 X#define BUT_LEVEL 2 X#define BUT_PLAYERS 3 X#define BUT_QUIT 4 X#define BUT_SCORES 5 X#define BUT_START 6 X X#define UR 0 /* Corners. */ X#define RD 1 X#define DL 2 X#define LU 3 X X#define NODOT 0 /* Dotsize. */ X#define BIGDOT 1 X#define SMALLDOT 2 X X#define RIGHT 0 /* Direction. */ X#define UP 1 X#define LEFT 2 X#define DOWN 3 X X#define POKEY 0 /* Ghostnames. */ X#define BASHFUL 1 X#define SPEEDY 2 X#define SHADOW 3 X Xstruct scorerec X { X char who[MAXLINE] ; X int score ; X } ; X Xstruct bugrec X { X int dir ; X BOOLEAN eyesonly ; /* Going to box. */ X BOOLEAN enteringbox ; /* Going down into box. */ X BOOLEAN inbox ; /* Inside or leaving. */ X BOOLEAN intunnel ; X int delay ; X int scrx,scry ; X int mx,my ; X int bluetime ; /* If zero then not blue. */ X int boxtime ; /* Countdown until leave. */ X int count ; /* Incremented every tic. */ X int pic ; /* 0 or 1. */ X } ; X Xstruct startrec X { X int x,y,time ; X } ; END_OF_sidtool.h if test 7252 -ne `wc -c sidtool.maze <<'END_OF_sidtool.maze' Xrrrrrrrrrrrrrdxrrrrrrrrrrrrd Xu............d u....0......d Xu.sd.srrrrrd.d u.srRRrd.sd.d Xu*ud.udlllll.rru.u 8d.ud*d Xu.ul.ud..........u98 d.ud.d Xu....ud.sd.sd.sd.ulllll.ul.d Xulll.ud.ul.ud.ud...........d Xx u.ud....ud.ud.srrrrrd.dll XSrru.ul.rrrud.ud.u dllll.rrx X ....ullll.ul.ull.... XSrrrrrd..............sd.rrrx Xdllllll.srrrrrrrd.rd.ud.ulll Xd.......udlllllll*ud.ud....u Xd.sd.sd.ud........ud.ud.sd.u Xd.ud.ul.ud.srrrrd.ud.ul.ud.u Xd.ud....ud.ulllll.ud....ul.u Xd.urrrd.ud ud.sd....u Xd.ullld.urrrrrrrrrud.ud.sd.u Xd....ud.ulllllllllll.ud.ud.u Xd.sd.ud..............ud.ud*u Xd*ud.urd.srrrrrrrrrd.ud.ud.u Xd.ul.uld.ullllllllll.ul.ul.u Xd.....ud..... ............u Xrrrrd.urrrd.srrrrd....srd.ru Xxllll.ullld.ulll d....ull.uT X ......ud....uld.sd..... XSrd.srrd.ud.rd..ud.ul.srd.rx Xx d.ulll.ul.urd.ul....ull.ux Xx d.........u d....rd.....ux Xxxrrrrrrrrrruxrrrrrurrrrrrux X X X X X DESIGN: X In the code, x and y positions that refer to maze coords are preceeded by X M, N or T (e.g. MX); X Screen coords either have scr in front or no prefix. X X REQUIREMENTS FOR MAZE: X The maze size is fixed at 26 by 28. X The maze is not allowed to have any dead ends. X All boxes in the maze are defined by paths. X The upper left corner of each box is signified by a small s. X Use the letters r,d,l,u to signify the direction to travel around boxes. X Corners must be signified by changing the letter. X The tunnel start must be signified by a capital S. X The exit box must have the opening at the top. X The ghost number 0 must be started directly above this exit. X The exit should be signified by capital R's. X All ghosts except for one must start in the box. X The amount of time spent in the box is specified by the number which X shows where the ghost goes. X Small dots in the maze are signified by periods '.'; X Large dots in the maze are signified by asterisks '*'; X Tunnels may be on left and right. X All tunnels must have exits at both sides. X There must be a row around the entire maze defining the border. X All non-tunnel parts of the border must be 'x's X The area in the tunnel in which the ghosts go slowly is defined as the X area between the exit and the first non-space character. Thus a '.' X causes the ghosts to speed up. END_OF_sidtool.maze if test 2368 -ne `wc -c