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