games-request@tekred.UUCP (05/16/87)
Submitted by: Rich Burridge <munnari!sunk.oz!richb@seismo.css.gov> Comp.sources.games: Volume 1, Issue 19 Archive-name: sidtool/Part02 #! /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 <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 5)." # Contents: images/Makefile images/blueghost1.pic # images/circleexplode0.pic images/circleexplode1.pic # images/circleexplode2.pic images/circleexplode3.pic # images/circleexplode4.pic images/circleexplode5.pic # images/circleexplode6.pic images/circleexplode7.pic # images/circleexplode8.pic images/picsmalldot.pic sid_stuff.c # sid_sun.c sidtool.h sidtool.maze # Wrapped by billr@tekred on Tue May 12 09:16:30 1987 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f images/Makefile -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/Makefile\" else echo shar: Extracting \"images/Makefile\" \(756 characters\) sed "s/^X//" >images/Makefile <<'END_OF_images/Makefile' X# X# Makefile for the sidtool animate program. 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 in the comments X# or the code of this program, but if reported to me then an attempt will X# be made to fix them. X# XBINARIES = animate XCFLAGS = -O XLDFLAGS = XOBJS = animate.o XSRCS = animate.c X Xall: $(BINARIES) X Xinstall: all X animate X (cd .. ; cp images/sidtool.animate $(BINDIR)) X Xclean: X rm -f *~ *.o core animate sidtool.animate X Xlint: X lint $(SRCS) X Xbackup: X cp animate.c animate.c~ X Xanimate: $(OBJS) X cc $(LDFLAGS) -o animate $(OBJS) X Xanimate.o: animate.c END_OF_images/Makefile if test 756 -ne `wc -c <images/Makefile`; then echo shar: \"images/Makefile\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/blueghost1.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/blueghost1.pic\" else echo shar: Extracting \"images/blueghost1.pic\" \(1933 characters\) sed "s/^X//" >images/blueghost1.pic <<'END_OF_images/blueghost1.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,0x3181,0x8000,0x0000,0x0000,0x18C1,0x8000,0x0000, X 0x0000,0x18C1,0x8000,0x0000,0x0000,0x18C1,0x8000,0x0000, X 0x0000,0x1861,0x8000,0x0000,0x0000,0x1833,0x0000,0x0000, X 0x0008,0x0C33,0x0000,0x0000,0x0008,0x0C33,0x0000,0x0000, X 0x0004,0x0C36,0x0000,0x0000,0x0004,0x0C36,0x0000,0x0000, X 0x0002,0x0636,0x3E00,0x0000,0x0002,0x03FC,0x7F00,0x0000, X 0x01C1,0xC7F8,0xFF80,0x0000,0x003F,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,0xF7FD,0xFFE0,0x0000, X 0x0003,0xE7FD,0xFFC0,0x0000,0x0001,0xC7F8,0xFF80,0x0000, X 0x0000,0x03F0,0x7F00,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/blueghost1.pic if test 1933 -ne `wc -c <images/blueghost1.pic`; then echo shar: \"images/blueghost1.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode0.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode0.pic\" else echo shar: Extracting \"images/circleexplode0.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode0.pic`; then echo shar: \"images/circleexplode0.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode1.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode1.pic\" else echo shar: Extracting \"images/circleexplode1.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode1.pic`; then echo shar: \"images/circleexplode1.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode2.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode2.pic\" else echo shar: Extracting \"images/circleexplode2.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode2.pic`; then echo shar: \"images/circleexplode2.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode3.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode3.pic\" else echo shar: Extracting \"images/circleexplode3.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode3.pic`; then echo shar: \"images/circleexplode3.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode4.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode4.pic\" else echo shar: Extracting \"images/circleexplode4.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode4.pic`; then echo shar: \"images/circleexplode4.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode5.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode5.pic\" else echo shar: Extracting \"images/circleexplode5.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode5.pic`; then echo shar: \"images/circleexplode5.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode6.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode6.pic\" else echo shar: Extracting \"images/circleexplode6.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode6.pic`; then echo shar: \"images/circleexplode6.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode7.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode7.pic\" else echo shar: Extracting \"images/circleexplode7.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode7.pic`; then echo shar: \"images/circleexplode7.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/circleexplode8.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/circleexplode8.pic\" else echo shar: Extracting \"images/circleexplode8.pic\" \(1933 characters\) sed "s/^X//" >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/circleexplode8.pic`; then echo shar: \"images/circleexplode8.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f images/picsmalldot.pic -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"images/picsmalldot.pic\" else echo shar: Extracting \"images/picsmalldot.pic\" \(1933 characters\) sed "s/^X//" >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 <images/picsmalldot.pic`; then echo shar: \"images/picsmalldot.pic\" unpacked with wrong size! fi # end of overwriting check fi if test -f sid_stuff.c -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"sid_stuff.c\" else echo shar: Extracting \"sid_stuff.c\" \(13794 characters\) sed "s/^X//" >sid_stuff.c <<'END_OF_sid_stuff.c' X X/* sid_stuff.c X * X * Various functions and procedures 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 <stdio.h> X#include <strings.h> X#include <setjmp.h> X#include <sundev/kbd.h> X#include "bltstuff.h" X#include "sidtool.h" X#include <suntool/sunview.h> X#include <suntool/canvas.h> X Xextern Pixfont *pf ; Xextern Pixrect *circles[4][4] ; Xextern Pixwin *pw ; X Xextern jmp_buf exception ; Xextern int val ; X Xextern long random() ; Xextern char *getenv() ; X X/* For descriptions of these external variables, see sid_main.c */ X Xextern BOOLEAN autoplay,changed,demomode,gamestate,remove ; X Xextern char a_name[MAXLINE],buffer[MAXLINE],h_name[MAXLINE] ; Xextern char m_name[MAXLINE], new_key_vals[9][MAXLINE] ; Xextern char old_key_vals[9][MAXLINE],s_name[MAXLINE],titlestring[MAXLINE] ; X Xextern int blueblink,blueincblink,button,c,cirx,ciry,credits ; Xextern int curbluetime[MAXNUMPLAYERS+1],curdir,dotx,doty ; Xextern int fruitmaze[MAXNUMPLAYERS+1],fruiton,fruitsgotten[MAXNUMPLAYERS+1][9] ; Xextern int fruitx,fruity,bugssincedot,height,highscore,inc,key_stations[9] ; Xextern int lastnumplayers,numcir[MAXNUMPLAYERS+1],numplayers ; Xextern int orgx,orgy,player,posx,posy,progstate,redraw,sfunc,skilllevel,speed ; Xextern int started,walls[XSIZE+6][YSIZE+1],width ; X Xextern struct bugrec bugs[4] ; Xextern struct scorerec allhighscores[11] ; Xextern struct startrec startpos[4] ; X X Xchangebugs() X X{ X register struct bugrec *p ; X X bugssincedot = 0 ; X for (p = &bugs[POKEY]; p <= &bugs[SHADOW]; p++) X if (!p->eyesonly) X { X drawbug(p) ; X p->bluetime = curbluetime[player] ; X if ((!p->boxtime) && (!p->inbox)) X p->dir = REVERSEDIR(p->dir) ; X drawbug(p) ; /* Will be blue now. */ X } X} X X Xchangeplayers(startgame) Xint startgame ; X X{ X int cnt,i ; X X if (numplayers == 1) X { X if (fruiton) updatefruit() ; X gamestate = TRUE ; X progstate = RESETGAME ; X longjmp(exception,val) ; X } X cnt = 0 ; X do X { X cnt++ ; X player = 1 + (player % numplayers) ; X if (cnt > 5) /* Game all over. */ X { X progstate = DOLEAVE ; X longjmp(exception,val) ; X } X } X while (!numcir[player]) ; X clear_screen() ; X SPRINTF(buffer,"Player %1d",player) ; X write_bold(348,500,buffer) ; X for (i = 0; i < 100; i++) LONGPAUSE() ; X drawmaze() ; X blinkpause() ; X if (!startgame) X { X gamestate = TRUE ; X progstate = RESETGAME ; X longjmp(exception,val) ; X } X} X X Xcheckcollision(nx,ny,g) Xregister int nx,ny ; Xint *g ; X X{ X register struct bugrec *tg ; X X for (tg = &bugs[POKEY]; tg <= &bugs[SHADOW]; tg++) X if (tg->mx == nx) X if (tg->my == ny) X if (!tg->eyesonly) X { X *g = GIND(tg) ; X return(1) ; X } X return(0) ; X} X X Xcheckinc(dir,mx,my) Xint dir,mx,my ; X X{ X switch (dir) X { X case UP : return(!walls[mx+2][my-1]) ; X case RIGHT : return(!walls[mx+3][my]) ; X case DOWN : return(!walls[mx+2][my+1]) ; X case LEFT : return(!walls[mx+1][my]) ; X } X return(0) ; X} X X Xdestroyblue(g) Xregister struct bugrec *g ; X X{ X int i,inc,x ; X X drawbug(g) ; /* Turn off. */ X g->eyesonly = 1 ; X g->bluetime = 0 ; X inc = 20 ; X for (i = 1; i <= bugssincedot; i++) inc *= 2 ; X bugssincedot++ ; X x = g->scrx + 10 ; X if (x > 740) x = 740 ; X else if (x < 5) x = 5 ; X SCHRFUNC(RXOR) ; X SPRINTF(buffer,"%1d0",inc) ; X WRITELN(x,g->scry+10,buffer) ; X for (i = 0; i < 10; i++) LONGPAUSE() ; X SPRINTF(buffer,"%1d0",inc) ; X WRITELN(x,g->scry+10,buffer) ; X SCHRFUNC(RRPL) ; X drawbug(g) ; /* Turn on as eyesonly. */ X updatescore(inc) ; X} X X Xdestroyfruit() X X{ X int i,inc ; X X fruitsgotten[player][fruitmaze[player]]++ ; X updatefruit() ; /* Turn fruit off. */ X inc = fruitscore(fruitmaze[player]) ; X updatescore(inc) ; X SCHRFUNC(RXOR) ; X SPRINTF(buffer,"%1d0",inc) ; X WRITELN(fruitx+10,fruity+10,buffer) ; X for (i = 0; i < 10; i++) LONGPAUSE() ; X SPRINTF(buffer,"%1d0",inc) ; X WRITELN(fruitx+10,fruity+10,buffer) ; X SCHRFUNC(RRPL) ; X} X X Xdisplay_settings() /* Display current skill level and number of players. */ X X{ X int x,y ; X char buffer[MAXLINE] ; X X x = 50 ; X y = 70 ; X write_bold(x,y,"Current skill level:") ; X SPRINTF(buffer,"%1d ",skilllevel) ; X WRITELN(x+190,y,buffer) ; X X x = 430 ; X write_bold(x,y,"Number of players:") ; X SPRINTF(buffer,"%1d ",numplayers) ; X WRITELN(x+180,y,buffer) ; X} X X Xdohighscores() /* Display high scores on the screen. */ X X{ X char skillc ; X int level ; X X clear_screen() ; X write_bold(334,200,"High Scores") ; X SCHRFUNC(ROR) ; X WRITELN(334,201,"___________") ; X WRITELN(200,300,"Skill level Score Who") ; X WRITELN(200,301,"___________ _____ ___"); X SCHRFUNC(RRPL) ; X for (level = 1; level <= 10; level++) X { X skillc = (level == skilllevel) ? '*' : ' ' ; X if (allhighscores[level].score) X SPRINTF(buffer,"%c %2d = %5d0 %s", X skillc,level,allhighscores[level].score,allhighscores[level].who) ; X else X SPRINTF(buffer,"%c %2d = - %s", X skillc,level,allhighscores[level].who) ; X WRITELN(200,330+level*30,buffer) ; X } X if (!autoplay) make_control_panel() ; X if (!autoplay) display_settings() ; X} X X Xmake_selection() /* Get user selection after DEL press. */ X X{ X switch (button) X { X case BUT_AUTO : numplayers = 1 ; X autoplay = TRUE ; X started = TRUE ; X iocursormode(OFFCURSOR) ; X break ; X case BUT_HELP : clear_screen() ; X dohelp() ; X break ; X case BUT_LEVEL : skilllevel = skilllevel % 10 + 1 ; X display_settings() ; X highscore = allhighscores[skilllevel].score ; X break ; X case BUT_PLAYERS : numplayers = numplayers % 4 + 1 ; X display_settings() ; X break ; X case BUT_QUIT : function_keys(KEY_RESET) ; X exit(0) ; X case BUT_SCORES : dohighscores() ; X break ; X case BUT_START : autoplay = FALSE ; X started = TRUE ; X iocursormode(OFFCURSOR) ; X lastnumplayers = numplayers ; X } X if (button == BUT_AUTO || button == BUT_START) progstate = INITGAME ; X else progstate = GETBUT ; X} X X Xrestore_screen() /* Called when window needs to be drawn. */ X X{ X int g ; X X if (!redraw++) return ; X clear_screen() ; X if (!started) X { X iocursormode(TRACKCURSOR) ; X make_control_panel() ; X display_settings() ; X dohelp() ; X } X else if (credits) X { X dohelp() ; X BLT_SCRN(3,ciry-37,762,100,RSET) ; X if (credits == 1) X { X drawdot(dotx,doty,BIGDOT) ; X drawcir(circles[LEFT][inc],cirx,ciry) ; X } X else drawcir(circles[RIGHT][inc],cirx,ciry) ; X for (g = POKEY; g <= SHADOW; g++) X if (!bugs[g].eyesonly) drawbug(&bugs[g]) ; X } X else X { X iocursormode(OFFCURSOR) ; X drawmaze() ; X for (g = POKEY; g <= SHADOW; g++) drawbug(&bugs[g]) ; X drawcir(circles[curdir][inc],posx,posy) ; X } X} X X Xerasebugs() /* Erase all bugs from the screen. */ X X{ X int g ; X X for (g = POKEY; g <= SHADOW; g++) X drawbug(&bugs[g]) ; /* Erase all bugs. */ X} X X Xfruitscore(fruit) /* Returns the score for the fruit specified. */ Xint fruit ; X X{ X switch (fruit) X { X case 1 : return(10) ; X case 2 : return(30) ; X case 3 : return(50) ; X case 4 : return(70) ; X case 5 : return(100) ; X case 6 : return(200) ; X case 7 : return(300) ; X case 8 : return(500) ; X } X return(0) ; X} X X Xgeths(fd,record) /* Get one high score record in. */ Xstruct scorerec *record ; Xint fd ; X X{ X char buffer[32],valuestr[7] ; X int i ; X X i = read(fd,buffer,23) ; X for (i = 0; i < 16; i++) record->who[i] = buffer[i] ^ ENKEY ; X record->who[i] = '\0' ; X for (i = 0; i < 7; i++) valuestr[i] = buffer[i+16] ^ ENKEY ; X record->score = atoi(valuestr) ; X} X X Xget_options(argc,argv) Xint argc ; Xchar *argv[] ; X X{ X char *arg,*env ; X char *p ; /* Pointer to string following argument flag. */ X X orgx = 0 ; /* X origin of SUN SID window. */ X orgy = 0 ; /* Y origin of SUN SID window. */ X width = SWIDTH ; /* Width of SUN SID window. */ X height = SHEIGHT ; /* Height of SUN SID window. */ X speed = SPEED ; /* Default speed of Sun machine that this game is on.*/ X STRCPY(titlestring,"sidtool - Sun Interactive Debugger V2.1. Rich Burridge") ; X STRCPY(m_name,M_NAME) ; /* Default sidtool maze filename. */ X STRCPY(a_name,A_NAME) ; /* Default sidtool animate filename. */ X STRCPY(s_name,S_NAME) ; /* Default sidtool highscore filename. */ X STRCPY(h_name,H_NAME) ; /* Default sidtool help filename. */ X demomode = FALSE ; X X if ((env = getenv("SID_MAZE")) != NULL) STRCPY(m_name,env) ; X if ((env = getenv("SID_ANIMATE")) != NULL) STRCPY(a_name,env) ; X if ((env = getenv("SID_SCORE")) != NULL) STRCPY(s_name,env) ; X if ((env = getenv("SID_HELP")) != NULL) STRCPY(h_name,env) ; X X while (argc > 1 && (arg = argv[1])[0] == '-') X { X p = arg + 2 ; X switch (arg[1]) X { X case 'a' : STRCPY(a_name,p) ; /* New animate filename. */ X break ; X case 'c' : speed = atoi(p) ; /* New class (speed) of machine. */ X break ; X case 'd' : demomode = TRUE ; /* Run in self demonstration mode. */ X break ; X case 'h' : STRCPY(h_name,p) ; /* New help filename. */ X break ; X case 'm' : STRCPY(m_name,p) ; /* New maze filename. */ X break ; X case 's' : STRCPY(s_name,p) ; /* New high score filename. */ X } X argc-- ; X argv++ ; X } X} X X Xget_string(fd,s) /* Get next line from specified file. */ 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(-1) ; X s[i] = '\0' ; X return(i) ; X} X X Xhandlecollision(g) Xregister struct bugrec *g ; X X{ X int i ; X struct bugrec *tg ; X X if (g->bluetime > 0) destroyblue(g) ; X else X { X drawbug(g) ; /* Erase one that ate screen. */ X explodecircle(posx,posy) ; X for (tg = &bugs[POKEY]; tg <= &bugs[SHADOW]; tg++) X if (tg != g) drawbug(tg) ; X if (autoplay) X { X progstate = DOLEAVE ; X longjmp(exception,val) ; X } X else if (!numcir[player]) X { X SCHRFUNC(RXOR) ; X WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; X for (i = 0; i < 80; i++) LONGPAUSE() ; X WRITELN(339,YBASE+SQUARE*16,"GAME OVER!") ; X SCHRFUNC(RRPL) ; X if (numplayers == 1) X { X progstate = DOLEAVE ; X longjmp(exception,val) ; X } X } X else for (i = 0; i < 50; i++) LONGPAUSE() ; X changeplayers(0) ; X } X} X X Xnewbugs(drawthem) Xint drawthem ; X X{ X register struct bugrec *p ; X X for (p = &bugs[POKEY]; p <= &bugs[SHADOW]; p++) X { X p->dir = UP ; X p->mx = startpos[GIND(p)].x ; X p->my = startpos[GIND(p)].y ; X TRANSPT(p->mx,p->my,p->scrx,p->scry) ; X p->bluetime = 0 ; X p->eyesonly = 0 ; X p->boxtime = ((-2*skilllevel+25) / 5) * startpos[GIND(p)].time ; X if (!p->boxtime) p->inbox = 0 ; X else p->inbox = 1 ; X p->enteringbox = 0 ; X p->count = 0 ; X p->delay = 5 ; X p->pic = GIND(p) % 2 ; X p->intunnel = 0 ; X if (drawthem) drawbug(p) ; X } X} X X Xplay() /* Initialise for next player to play. */ X X{ X fruiton = 0 ; X blueblink = 200 ; X blueincblink = 25 ; X if (numplayers == 1) X { X player = 1 ; X drawmaze() ; X blinkpause() ; X } X else X { X player = numplayers ; X changeplayers(1) ; X } X remove = TRUE ; X} X X Xpuths(fd,record) /* Put one high score record out. */ Xstruct scorerec record ; Xint fd ; X X{ X char buffer[32],valuestr[7] ; X int i,value ; X X for (i = 0; i < 16; i++) buffer[i] = record.who[i] ^ ENKEY ; X value = record.score ; X SPRINTF(valuestr,"%d",value) ; X for (i = 0; i < 7; i++) buffer[i+16] = valuestr[i] ^ ENKEY ; X WRITE(fd,buffer,23) ; X} X X Xrandomrange(low,high) /* Return a random number between low and high. */ Xint low,high ; X X{ X return((((int) random() & 077777) % (high-low+1)) + low) ; X} X X Xfunction_keys(state) /* Set or reset the function keys. */ Xint state ; X X{ X int count = STRING ; /* 0xB0 -- the starting entry for strings. */ X int fd,i ; X X if ((fd = open("/dev/kbd",0,0)) < 0) X { X FPRINTF(stderr,"sidtool: can't open /dev/kbd\n") ; X exit(1) ; X } X for (i = 0; i < 4; i++) /* Set up function keys R7-R15, saving old values. */ X { X if (state == KEY_SET) X { X get_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; X set_key(fd,key_stations[i],new_key_vals[i],STRING + 5 + i) ; X } X else set_key(fd,key_stations[i],old_key_vals[i],STRING + 1 + i) ; X } X CLOSE(fd) ; X} END_OF_sid_stuff.c if test 13794 -ne `wc -c <sid_stuff.c`; then echo shar: \"sid_stuff.c\" unpacked with wrong size! fi # end of overwriting check fi if test -f sid_sun.c -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"sid_sun.c\" else echo shar: Extracting \"sid_sun.c\" \(2825 characters\) sed "s/^X//" >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 <stdio.h> X#include <strings.h> X#include <sundev/kbd.h> X#include <sys/ioctl.h> X#include <sys/types.h> X#include <sundev/kbio.h> X#include "bltstuff.h" X#include "sidtool.h" X#include <suntool/sunview.h> X#include <suntool/canvas.h> 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 <sid_sun.c`; then echo shar: \"sid_sun.c\" unpacked with wrong size! fi # end of overwriting check fi if test -f sidtool.h -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"sidtool.h\" else echo shar: Extracting \"sidtool.h\" \(7252 characters\) sed "s/^X//" >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.h`; then echo shar: \"sidtool.h\" unpacked with wrong size! fi # end of overwriting check fi if test -f sidtool.maze -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"sidtool.maze\" else echo shar: Extracting \"sidtool.maze\" \(2368 characters\) sed "s/^X//" >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 <sidtool.maze`; then echo shar: \"sidtool.maze\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of archive 2 \(of 5\). cp /dev/null ark2isdone MISSING="" for I in 1 2 3 4 5 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 5 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0