[comp.sources.games] v01i019: sidtool - pacman game for Suns, Part02/05

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