[comp.sources.x] v12i050: stank, Part03/03

jojo@key.COM (Jonathan Wesener) (03/20/91)

Submitted-by: jojo@key.COM (Jonathan Wesener)
Posting-number: Volume 12, Issue 50
Archive-name: stank/part03


Submitted by: jojo@largo
Archive-name: stank/part 3

#!/bin/sh
# this is stank.03 (part 3 of stank)
# do not concatenate these parts, unpack them in order with /bin/sh
# file stank/tankmsg_svc.c continued
#
touch 2>&1 | fgrep '[-amc]' > /tmp/s3_touch$$
if [ -s /tmp/s3_touch$$ ]
then
    TOUCH=can
else
    TOUCH=cannot
fi
rm -f /tmp/s3_touch$$
CurArch=3
if test ! -r s3_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s3_seq_.tmp || exit 1
echo "x - Continuing file stank/tankmsg_svc.c"
sed 's/^X//' << 'SHAR_EOF' >> stank/tankmsg_svc.c
X		exit(1);
X	}
X}
X
X
X/* Lint Output
X*/
SHAR_EOF
echo "File stank/tankmsg_svc.c is complete"
chmod 0400 stank/tankmsg_svc.c || echo "restore of stank/tankmsg_svc.c fails"
if [ $TOUCH = can ]
then
    touch -am 0319105291 stank/tankmsg_svc.c
fi
set `wc -c stank/tankmsg_svc.c`;Wc_c=$1
if test "$Wc_c" != "3262"
then echo original size 3262, current size $Wc_c;fi
# ============= stank/Imakefile ==============
echo "x - extracting stank/Imakefile (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/Imakefile &&
X
X
X# Copyright (c) 1991    Jon Wesener 
X# Gaming Software
X#
X# Permission to use, copy, modify, and distribute this
X# software and its documentation for any purpose and without
X# fee is hereby granted, provided that the above copyright
X# notice appear in all copies and that both that copyright
X# notice and this permission notice appear in supporting
X# documentation.  No representations are made about the
X# suitability of this software for any purpose.  It is
X# provided "as is" without express or implied warranty.
X
X
X#ident	"@(#)Imakefile	1.12 :/usr/key/jojow/X/src/guts/SCCS/s.Imakefile 3/19/91 10:16:40 "
X
XDEFINES = -DX11
XLIBS1 = $(XLIB)
X
XBIN3 = /usr2/os/jojo/bin/bin3
XXBIN3 = $(BIN3)/X11
XBIN4 = /usr2/os/jojo/bin/bin4
XXBIN4 = $(BIN4)/X11
X
XPROGRAMS = tank tankserver tankbif
XSRCS1 = client.c bits.c tankmsg_clnt.c
XSRCS2 = server.c heat.c tank.c shell.c mine.c expl.c pow.c tankmsg_svc.c bon.c
XSRCS3 = bif.c bits.c tankmsg_clnt.c
XOBJS1 = client.o bits.o tankmsg_clnt.o
XOBJS2 = server.o heat.o tank.o shell.o mine.o expl.o pow.o tankmsg_svc.o bon.o
XOBJS3 = bif.o bits.o tankmsg_clnt.o
X
XAllTarget($(PROGRAMS))
XSingleProgramTarget(tank,$(OBJS1),,$(LIBS1))
XSingleProgramTarget(tankserver,$(OBJS2),,)
XSingleProgramTarget(tankbif,$(OBJS3),,$(LIBS1))
X
Xclient.o server.o bif.o : tankmsg.h tank.h
Xserver.o expl.o pow.o tank.o shell.o mine.o bon.o : server.h
Xclient.o : client.h
Xbif.o : bif.h
Xbits.o : bits.h
X
Xinstall3:
X	rm -f $(BIN3)/stankserver $(XBIN3)stank $(XBIN3)/stankbif
X	cp tankserver $(BIN3)/stankserver
X	cp tank $(XBIN3)/stank
X	cp tankbif $(XBIN3)/stankbif
X	chmod 755 $(BIN3)/stankserver $(XBIN3)/stank $(XBIN3)/stankbif
X
Xinstall4:
X	rm -f $(BIN4)/stankserver $(XBIN4)stank $(XBIN4)/stankbif
X	cp tankserver $(BIN4)/stankserver
X	cp tank $(XBIN4)/stank
X	cp tankbif $(XBIN4)/stankbif
X	chmod 755 $(BIN4)/stankserver $(XBIN4)/stank $(XBIN4)/stankbif
SHAR_EOF
chmod 0400 stank/Imakefile || echo "restore of stank/Imakefile fails"
if [ $TOUCH = can ]
then
    touch -am 0319105391 stank/Imakefile
fi
set `wc -c stank/Imakefile`;Wc_c=$1
if test "$Wc_c" != "1848"
then echo original size 1848, current size $Wc_c;fi
# ============= stank/Makefile ==============
echo "x - extracting stank/Makefile (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/Makefile &&
X# Makefile generated by imake - do not edit!
X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
X#
X# The cpp used on this machine replaces all newlines and multiple tabs and
X# spaces in a macro expansion with a single space.  Imake tries to compensate
X# for this, but is not always successful.
X#
X
X###########################################################################
X# Makefile generated from "Imake.tmpl" and </tmp/IIf.a01225>
X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
X#
X# Platform-specific parameters may be set in the appropriate .cf
X# configuration files.  Site-wide parameters may be set in the file
X# site.def.  Full rebuilds are recommended if any parameters are changed.
X#
X# If your C preprocessor doesn't define any unique symbols, you'll need
X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
X# "make Makefile", "make Makefiles", or "make World").
X#
X# If you absolutely can't get imake to work, you'll need to set the
X# variables at the top of each Makefile as well as the dependencies at the
X# bottom (makedepend will do this automatically).
X#
X
X###########################################################################
X# platform-specific configuration parameters - edit sun.cf to change
X
X# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
X# operating system:  SunOS 4.0.3
X
X###########################################################################
X# site-specific configuration parameters - edit site.def to change
X
X# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
X
X            SHELL = /bin/sh
X
X              TOP = .
X      CURRENT_DIR = .
X
X               AR = ar cq
X  BOOTSTRAPCFLAGS =
X               CC = cc
X
X               FC = f77
X      FDEBUGFLAGS = -O
X          FCFLAGS =  $(FDEBUGFLAGS)
X
X         COMPRESS = compress
X              CPP = /lib/cpp $(STD_CPP_DEFINES)
X    PREPROCESSCMD = gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional -I/usr/local/lib/gcc-include -E $(STD_CPP_DEFINES)
X          INSTALL = install
X               LD = ld
X             LINT = lint
X      LINTLIBFLAG = -C
X         LINTOPTS = -axz
X               LN = ln -s
X             MAKE = make
X               MV = mv
X               CP = cp
X           RANLIB = ranlib
X  RANLIBINSTFLAGS =
X               RM = rm -f
X     STD_INCLUDES =
X  STD_CPP_DEFINES =
X      STD_DEFINES =
X EXTRA_LOAD_FLAGS =
X  EXTRA_LIBRARIES =
X             TAGS = ctags
X
X    SHAREDCODEDEF = -DSHAREDCODE
X         SHLIBDEF = -DSUNSHLIB
X
X    PROTO_DEFINES =
X
X     INSTPGMFLAGS = -s
X
X     INSTBINFLAGS = -m 0755
X     INSTUIDFLAGS = -m 4755
X     INSTLIBFLAGS = -m 0664
X     INSTINCFLAGS = -m 0444
X     INSTMANFLAGS = -m 0444
X     INSTDATFLAGS = -m 0444
X    INSTKMEMFLAGS = -g kmem -m 2755
X
X          DESTDIR =
X
X     TOP_INCLUDES = -I$(INCROOT)
X
X      CDEBUGFLAGS = -O
X        CCOPTIONS =
X      COMPATFLAGS = -DXAW_BC
X
X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
X   LDCOMBINEFLAGS = -X -r
X      DEPENDFLAGS = -I/usr/local/lib/gcc-include
X
X        MACROFILE = sun.cf
X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
X
X    IMAKE_DEFINES =
X
X         IRULESRC = $(CONFIGDIR)
X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
X
X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
X			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
X			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
X
X###########################################################################
X# X Window System Build Parameters
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X###########################################################################
X# X Window System make variables; this need to be coordinated with rules
X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
X
X          PATHSEP = /
X        USRLIBDIR = $(DESTDIR)/usr/local/lib/X11
X           BINDIR = $(DESTDIR)/usr/local/bin/X11
X          INCROOT = $(DESTDIR)/usr/local/include
X     BUILDINCROOT = $(TOP)
X      BUILDINCDIR = $(BUILDINCROOT)/X11
X      BUILDINCTOP = ..
X           INCDIR = $(INCROOT)/X11
X           ADMDIR = $(DESTDIR)/usr/adm
X           LIBDIR = $(DESTDIR)/usr/local/lib/X11
X        CONFIGDIR = $(LIBDIR)/config
X       LINTLIBDIR = $(USRLIBDIR)/lint
X
X          FONTDIR = $(LIBDIR)/fonts
X         XINITDIR = $(LIBDIR)/xinit
X           XDMDIR = $(LIBDIR)/xdm
X           AWMDIR = $(LIBDIR)/awm
X           TWMDIR = $(LIBDIR)/twm
X           GWMDIR = $(LIBDIR)/gwm
X          MANPATH = $(DESTDIR)/usr/man
X    MANSOURCEPATH = $(MANPATH)/man
X           MANDIR = $(MANSOURCEPATH)l
X        LIBMANDIR = $(MANSOURCEPATH)l
X      XAPPLOADDIR = $(LIBDIR)/app-defaults
X
X        SOXLIBREV = 4.2
X          SOXTREV = 4.0
X         SOXAWREV = 4.0
X        SOOLDXREV = 4.0
X         SOXMUREV = 4.0
X        SOXEXTREV = 4.0
X
X       FONTCFLAGS = -t
X
X     INSTAPPFLAGS = $(INSTDATFLAGS)
X
X            IMAKE = imake
X           DEPEND = makedepend
X              RGB = rgb
X            FONTC = bdftosnf
X        MKFONTDIR = mkfontdir
X        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier
X
X        CONFIGSRC = $(TOP)/config
X        CLIENTSRC = $(TOP)/clients
X          DEMOSRC = $(TOP)/demos
X           LIBSRC = $(TOP)/lib
X          FONTSRC = $(TOP)/fonts
X       INCLUDESRC = $(TOP)/X11
X        SERVERSRC = $(TOP)/server
X          UTILSRC = $(TOP)/util
X        SCRIPTSRC = $(UTILSRC)/scripts
X       EXAMPLESRC = $(TOP)/examples
X       CONTRIBSRC = $(TOP)/../contrib
X           DOCSRC = $(TOP)/doc
X           RGBSRC = $(TOP)/rgb
X        DEPENDSRC = $(UTILSRC)/makedepend
X         IMAKESRC = $(CONFIGSRC)
X         XAUTHSRC = $(LIBSRC)/Xau
X          XLIBSRC = $(LIBSRC)/X
X           XMUSRC = $(LIBSRC)/Xmu
X       TOOLKITSRC = $(LIBSRC)/Xt
X       AWIDGETSRC = $(LIBSRC)/Xaw
X       OLDXLIBSRC = $(LIBSRC)/oldX
X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
X     EXTENSIONSRC = $(TOP)/extensions
X
X  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
X     EXTENSIONLIB =  $(DEPEXTENSIONLIB)
X
X          DEPXLIB = $(DEPEXTENSIONLIB)
X             XLIB = $(EXTENSIONLIB) -L$(USRLIBDIR) -lX11
X
X      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
X         XAUTHLIB =  $(DEPXAUTHLIB)
X      DEPXDMCPLIB = $(USRLIBDIR)/libXdmcp.a
X         XDMCPLIB =  $(DEPXDMCPLIB)
X
X        DEPXMULIB =
X           XMULIB = -L$(USRLIBDIR) -lXmu
X
X       DEPOLDXLIB =
X          OLDXLIB = -L$(USRLIBDIR) -loldX
X
X      DEPXTOOLLIB =
X         XTOOLLIB = -L$(USRLIBDIR) -lXt
X
X        DEPXAWLIB =
X           XAWLIB = -L$(USRLIBDIR) -lXaw
X
X LINTEXTENSIONLIB = $(LINTLIBDIR)/llib-lXext.ln
X         LINTXLIB = $(LINTLIBDIR)/llib-lX11.ln
X          LINTXMU = $(LINTLIBDIR)/llib-lXmu.ln
X        LINTXTOOL = $(LINTLIBDIR)/llib-lXt.ln
X          LINTXAW = $(LINTLIBDIR)/llib-lXaw.ln
X
X        XWLIBSRC = $(CONTRIBSRC)/toolkits/Xw
X        DEPXWLIB = $(USRLIBDIR)/libXw.a
X        XWLIB =  $(DEPXWLIB)
X
X          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
X
X         DEPLIBS1 = $(DEPLIBS)
X         DEPLIBS2 = $(DEPLIBS)
X         DEPLIBS3 = $(DEPLIBS)
X
X###########################################################################
X# Imake rules for building libraries, programs, scripts, and data files
X# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
X
X###########################################################################
X# start of Imakefile
X
X# Copyright (c) 1991    Jon Wesener
X# Gaming Software
X#
X# Permission to use, copy, modify, and distribute this
X# software and its documentation for any purpose and without
X# fee is hereby granted, provided that the above copyright
X# notice appear in all copies and that both that copyright
X# notice and this permission notice appear in supporting
X# documentation.  No representations are made about the
X# suitability of this software for any purpose.  It is
X# provided "as is" without express or implied warranty.
X
X#ident	"@(#)Imakefile	1.12 :/usr/key/jojow/X/src/guts/SCCS/s.Imakefile 3/19/91 10:16:40 "
X
XDEFINES = -DX11
XLIBS1 = $(XLIB)
X
XBIN3 = /usr2/os/jojo/bin/bin3
XXBIN3 = $(BIN3)/X11
XBIN4 = /usr2/os/jojo/bin/bin4
XXBIN4 = $(BIN4)/X11
X
XPROGRAMS = tank tankserver tankbif
XSRCS1 = client.c bits.c tankmsg_clnt.c
XSRCS2 = server.c heat.c tank.c shell.c mine.c expl.c pow.c tankmsg_svc.c bon.c
XSRCS3 = bif.c bits.c tankmsg_clnt.c
XOBJS1 = client.o bits.o tankmsg_clnt.o
XOBJS2 = server.o heat.o tank.o shell.o mine.o expl.o pow.o tankmsg_svc.o bon.o
XOBJS3 = bif.o bits.o tankmsg_clnt.o
X
Xall:: $(PROGRAMS)
X
Xtank: $(OBJS1)
X	$(RM) $@
X	$(CC) -o $@ $(OBJS1) $(LDOPTIONS)  $(LDLIBS) $(LIBS1) $(EXTRA_LOAD_FLAGS)
X
Xclean::
X	$(RM) tank
X
Xtankserver: $(OBJS2)
X	$(RM) $@
X	$(CC) -o $@ $(OBJS2) $(LDOPTIONS)  $(LDLIBS)  $(EXTRA_LOAD_FLAGS)
X
Xclean::
X	$(RM) tankserver
X
Xtankbif: $(OBJS3)
X	$(RM) $@
X	$(CC) -o $@ $(OBJS3) $(LDOPTIONS)  $(LDLIBS) $(LIBS1) $(EXTRA_LOAD_FLAGS)
X
Xclean::
X	$(RM) tankbif
X
Xclient.o server.o bif.o : tankmsg.h tank.h
Xserver.o expl.o pow.o tank.o shell.o mine.o bon.o : server.h
Xclient.o : client.h
Xbif.o : bif.h
Xbits.o : bits.h
X
Xinstall3:
X	rm -f $(BIN3)/stankserver $(XBIN3)stank $(XBIN3)/stankbif
X	cp tankserver $(BIN3)/stankserver
X	cp tank $(XBIN3)/stank
X	cp tankbif $(XBIN3)/stankbif
X	chmod 755 $(BIN3)/stankserver $(XBIN3)/stank $(XBIN3)/stankbif
X
Xinstall4:
X	rm -f $(BIN4)/stankserver $(XBIN4)stank $(XBIN4)/stankbif
X	cp tankserver $(BIN4)/stankserver
X	cp tank $(XBIN4)/stank
X	cp tankbif $(XBIN4)/stankbif
X	chmod 755 $(BIN4)/stankserver $(XBIN4)/stank $(XBIN4)/stankbif
X
X###########################################################################
X# common rules for all Makefiles - do not edit
X
Xemptyrule::
X
Xclean::
X	$(RM_CMD) \#*
X
XMakefile::
X	-@if [ -f Makefile ]; then \
X	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
X	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
X	else exit 0; fi
X	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
X
Xtags::
X	$(TAGS) -w *.[ch]
X	$(TAGS) -xw *.[ch] > TAGS
X
X###########################################################################
X# empty rules for directories that do not have SUBDIRS - do not edit
X
Xinstall::
X	@echo "install in $(CURRENT_DIR) done"
X
Xinstall.man::
X	@echo "install.man in $(CURRENT_DIR) done"
X
XMakefiles::
X
Xincludes::
X
X###########################################################################
X# dependencies generated by makedepend
X
SHAR_EOF
chmod 0600 stank/Makefile || echo "restore of stank/Makefile fails"
if [ $TOUCH = can ]
then
    touch -am 0319105991 stank/Makefile
fi
set `wc -c stank/Makefile`;Wc_c=$1
if test "$Wc_c" != "10658"
then echo original size 10658, current size $Wc_c;fi
# ============= stank/mazes/maze.1 ==============
if test ! -d 'stank/mazes' ; then
    echo "x - creating directory stank/mazes"
    mkdir 'stank/mazes'
fi
echo "x - extracting stank/mazes/maze.1 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.1 &&
X################################
X#               #              #
X#        #            #        #
X#    #  ###   #   #  ###  #    #
X#    #   #            #   #    #
X#  #####        #       #####  #
X#    #                    #    #
X#    #        #   #       #    #
X#            #                 #
X#           #   #      #   #   #
X#  #       #            # #    #
X#   #         #   #      #     #
X#   #    #         #    # #    #
X#   #   #       #   #  #   #   #
X#  #     #                     #
X#         #   #   #   #        #
X#                      #       #
X#           #   #       #   #  #
X#    #   #   #         #   #   #
X#     # #     #   #        #   #
X#      #             #     #   #
X#     # #       #   #       #  #
X#    #   #         #           #
X#             #   #            #
X#    #                    #    #
X#    #          #         #    #
X#  #####                #####  #
X#    #   #    #   #   #   #    #
X#    #  ###          ###  #    #
X#        #      #     #        #
X#                              #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.1 || echo "restore of stank/mazes/maze.1 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.1
fi
set `wc -c stank/mazes/maze.1`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/mazes/maze.2 ==============
echo "x - extracting stank/mazes/maze.2 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.2 &&
X################################
X#              ##              #
X# # #########      ######### # #
X#              ##              #
X# # # #######      ####### # # #
X# #            ##            # #
X# # # # #####      ##### # # # #
X# # #          ##          # # #
X# # # # # ###      ### # # # # #
X# # # #        ##        # # # #
X# # # # # # #      # # # # # # #
X# # # # #              # # # # #
X# # # # # #  #    #  # # # # # #
X# # # # # #   #  #   # # # # # #
X#           #      #           #
X## # # # #            # # # # ##
X## # # # #            # # # # ##
X#           #      #           #
X# # # # # #   #  #   # # # # # #
X# # # # # #  #    #  # # # # # #
X# # # # #              # # # # #
X# # # # # # #      # # # # # # #
X# # # #        ##        # # # #
X# # # # # ###      ### # # # # #
X# # #          ##          # # #
X# # # # #####      ##### # # # #
X# #            ##            # #
X# # # #######      ####### # # #
X#              ##              #
X# # #########      ######### # #
X#              ##              #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.2 || echo "restore of stank/mazes/maze.2 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.2
fi
set `wc -c stank/mazes/maze.2`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/mazes/maze.3 ==============
echo "x - extracting stank/mazes/maze.3 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.3 &&
X################################
X#         #          #         #
X# ####                    #### #
X# #         #      #         # #
X# #                          # #
X# #  ####     #  #     ####  # #
X#    #                    #    #
X#    #         ##         #    #
X#    #  ####        ####  #    #
X#       #    #    #    #       #
X#       #              #       #
X#       #  #        #  #       #
X#  #                        #  #
X#            #    #            #
X#      #                #      #
X#   #     #    ##    #     #   #
X#   #     #    ##    #     #   #
X#      #                #      #
X#            #    #            #
X#  #                        #  #
X#       #  #        #  #       #
X#       #              #       #
X#       #    #    #    #       #
X#    #  ####        ####  #    #
X#    #         ##         #    #
X#    #                    #    #
X# #  ####    #    #    ####  # #
X# #                          # #
X# #        #        #        # #
X# ####                    #### #
X#        #            #        #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.3 || echo "restore of stank/mazes/maze.3 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.3
fi
set `wc -c stank/mazes/maze.3`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/mazes/maze.4 ==============
echo "x - extracting stank/mazes/maze.4 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.4 &&
X################################
X#              ##              #
X# ###########      ########### #
X# #            ##            # #
X# # #########      ######### # #
X# # #          ##          # # #
X# # # #######      ####### # # #
X# # # #        ##        # # # #
X# # # # #####      ##### # # # #
X# # # # #      ##      # # # # #
X# # # # # ###      ### # # # # #
X# # # # # #          # # # # # #
X# # # # # #  #    #  # # # # # #
X# # # # # #   #  #   # # # # # #
X#                              #
X## # # # #   #    #   # # # # ##
X## # # # #   #    #   # # # # ##
X#                              #
X# # # # # #   #  #   # # # # # #
X# # # # # #  #    #  # # # # # #
X# # # # # #          # # # # # #
X# # # # # ###      ### # # # # #
X# # # # #      ##      # # # # #
X# # # # #####      ##### # # # #
X# # # #        ##        # # # #
X# # # #######      ####### # # #
X# # #          ##          # # #
X# # #########      ######### # #
X# #            ##            # #
X# ###########      ########### #
X#              ##              #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.4 || echo "restore of stank/mazes/maze.4 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.4
fi
set `wc -c stank/mazes/maze.4`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/mazes/maze.5 ==============
echo "x - extracting stank/mazes/maze.5 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.5 &&
X################################
X#      #   #                   #
X#      #   #      # ########## #
X#    # # # # #    #          # #
X#    #   #   #    #########  # #
X#    #   #   #    #          # #
X#    #   #   #    # ########## #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #      #          #
X#    #   #   #      #     ##   #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   ####            ###
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #      #     ##   #
X#    #   #   #      #          #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #                 #
X#    #   #   #    # ########## #
X#    #   #   #    #          # #
X#    #   #   #    ########## # #
X#    # # # # #    #          # #
X#      #   #      # ########## #
X#      #   #                   #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.5 || echo "restore of stank/mazes/maze.5 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.5
fi
set `wc -c stank/mazes/maze.5`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/mazes/maze.6 ==============
echo "x - extracting stank/mazes/maze.6 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/mazes/maze.6 &&
X################################
X#                 #            #
X# ####   #        #            #
X#        #             #       #
X#   #    #             #       #
X#   #    # #####       #   #####
X#   #    #             #       #
X#   #        #         #       #
X#            #                 #
X#         ####       ######    #
X# ####       #                 #
X#            #   #             #
X#                #             #
X#   #            # ######      #
X#   #    #       #             #
X#        #       #             #
X######   #              #      #
X#        #  ##########  #      #
X#        #              #      #
X#                       #      #
X#                       #      #
X#  #             #             #
X#  #             #             #
X#  #  #######    #   ###########
X#  #             #             #
X#  #    #        #             #
X#  #    #                #     #
X#  #    #                #     #
X#       #   ########     #     #
X#       #                #     #
X#       #                      #
X################################
SHAR_EOF
chmod 0600 stank/mazes/maze.6 || echo "restore of stank/mazes/maze.6 fails"
if [ $TOUCH = can ]
then
    touch -am 0319110091 stank/mazes/maze.6
fi
set `wc -c stank/mazes/maze.6`;Wc_c=$1
if test "$Wc_c" != "1056"
then echo original size 1056, current size $Wc_c;fi
# ============= stank/stankbif.6 ==============
echo "x - extracting stank/stankbif.6 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/stankbif.6 &&
X.TH STANKSERVER 6 "19 Mar 1991"
X.SH NAME
Xstankbif \- X based multi-player tank battle/biffer
X.SH SYNOPSIS
X.B stankbif
X[
X.B server
X]
X.SH DESCRIPTION
X.I stank
Xis a multiplayer game based on the X window environment built to run on 
XSun workstations or other machines which support Remote Procedure Calls (RPC).
X.PP
X.I stankbif
Xpings the server specified on the command line, or found in the environment
Xvariable STANKSERVER for
X.Istank
Xactivity.
X.I stankbif
Xcreates a small window displaying 4 tanks all facing the left of the screen.
XAs players enter the game, a tank for each player (up to 4) is changed to face
Xthe top of the screen and the terminal beeps.  This is used to notify people
Xthat a game is in progress.
X.SH "SEE ALSO"
X.BR stank (6)
X.BR stankserver (6)
X.SH AUTHOR
X.TP
Xjojo - Jon Wesener
X.SH BUGS
XIt takes a long time for screen refreshes to happen after an expose
Xevent.  This is due to the program sleeping between pinging the server
Xfor a player count.
SHAR_EOF
chmod 0600 stank/stankbif.6 || echo "restore of stank/stankbif.6 fails"
if [ $TOUCH = can ]
then
    touch -am 0319145591 stank/stankbif.6
fi
set `wc -c stank/stankbif.6`;Wc_c=$1
if test "$Wc_c" != "968"
then echo original size 968, current size $Wc_c;fi
# ============= stank/stank.6 ==============
echo "x - extracting stank/stank.6 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/stank.6 &&
X.TH STANK 6 "19 Mar 1991"
X.SH NAME
Xstank \- X based multi-player tank battle/client
X.SH SYNOPSIS
X.B stank
X[
X.B server
X]
X.SH DESCRIPTION
X.I stank
Xis a multiplayer game based on the X window environment built to run on 
XSun workstations or other machines which support Remote Procedure Calls (RPC).
X.PP
X.I stank
Xwill check the command line for a server(hostname) or check the environment
Xvariable STANKSERVER when looking for an stankserver to connect to.  Once it
Xhas connected to the server, it will create a window and display the maze on
Xthe left with status on the right.
X.PP
XThe status area begins by telling the players energy and damage limit.  It 
Xrequires energy to fire weapons and cloak.  When you are out of energy, you
Xcan no longer do these things and must resupply by collecting enery pellets
Xscattered throughout the maze.  The damage limit tells how much damage you can
Xsustain before being destroyed.  When the damage goes below 0, you will be
Xdestroyed.
X.PP
XThe remainder of the status is a list of who's in the game, their score and 
Xan identifying tank next to their status to let you know which tank they are
Xin the game.
X.PP
XThere are 2 offensive weapons, shells and heat-seeking missiles.  Shells
Xare inexpensive and move quickly.  Heat-seekers are more expensive and
Xslower.  They also have a limited range.  Heat-seekers do not lock on
Xtheir owner or on tanks that are cloaked.
X.PP
XA limited number of mines can be placed on the field.  You can see your
Xown mines but not the mines of other players.  You will take damage if you
Xrun over your own mine.
X.PP
XCloaking mode will render you invisible to the other players and prevent
Xheat-seeking missiles from locking in on your tank.  Firing a shell or a
Xheat-seeker will cause you to leave cloaked mode.  You can drop mines while
Xbeing cloaked and this will prevent others from getting an idea of where
Xyou've dropped your mine.  Cloaking is an expensive operation as it is a
Xcontinuous drain on your energy supply.
X.PP
XThe
X.I Bonus
X!
XEvery so often, a tank will be blown up and a little man will show up.  He
Xwill be waving his arms up and down.  The first tank to run over the man
Xwill receive a bonus.  There are 3 types of bonus, some more dramatic than
Xothers.  If you get one, check your status to see its effect.
X.SH MOVEMENT
XMovement is controlled by the keys 'h', 'j', 'k' 
Xand 'l' keys, like 
X.I vi
X, or by the arrow keys.  NOTE: It takes one turn to change direction.
X.SH WEAPONS
XShell's are fired with 'space' or the 'f' key.  Heat-seeking 
Xmissiles are fired with the 's' key.  
XMines are dropped with the 'd' key.
XCloak mode is toggled with the 'c' key.
X.SH "SEE ALSO"
X.BR stankserver (6)
X.BR stankbif (6)
X.SH AUTHOR
X.TP
Xjojo - Jon Wesener
X.SH GAMEPLAY WHINERS and TESTERS
X.PD 0
X.TP
XJohn Danielson
X.TP
XDoug Good
X.TP
XCurt Schimmel
X.TP
XJames Yarbrough
X.PD
X.SH BUGS
XShow me a program without them...
SHAR_EOF
chmod 0600 stank/stank.6 || echo "restore of stank/stank.6 fails"
if [ $TOUCH = can ]
then
    touch -am 0319135891 stank/stank.6
fi
set `wc -c stank/stank.6`;Wc_c=$1
if test "$Wc_c" != "2885"
then echo original size 2885, current size $Wc_c;fi
# ============= stank/README ==============
echo "x - extracting stank/README (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/README &&
X
XEdit the Imakefile to your liking, run xmkmf and then make all.
XIf you don't have xmkmf, modify the Makefile distributed with this
Xrelease.
X
XThis program has been run on Sun 3's and 4's, even color Suns
Xwithout any problems.
X
XMake sure that the stankserver isn't taking up a RPC program number already
Xused on your system...  You don't want to cut off some other service
Xthat's already in place...
X
XPick a fast or unused machine for your server.
X
XThis should run on non-Sun machines but may take some modification.  If
Xyou have NFS running at your site, that's a good sign it will work.
XYou may have to rebuild the tankmsg_svc.c and tankmsg_clnt.c files.
XThis can be done by running rpcgen on tankmsg.x.  Note: I have modified
Xthe tankmsg_svc.c file slightly and you will want to diff and remerge
Xthe changes I made into your new tankmsg_svc.c file.
X
XThe makefile builds tankserver, tank and tankbif, but installs everything
Xas stankserver, stank and stankbif.
X
XTo test what you have built, run tankserver and specify one of the
Xmazefiles in the mazes directory. 
X			tankserver mazes/maze.1
X
XIf you run rpcinfo, the tankserver should show up.
X
X
X
XIn another window, run 
X
X			tank 'hostname'
X
Xwhere hostname is the name of the machine with the tankserver.  A window
Xshould come up and you should be set.
X
XThe code is really quite trivial so if you want to modify the game, fix
Xany bugs, or just figure out how it works you shouldn't have too
Xdifficult a time.
X
XThis has no relationship to xtank, which I've heard of but never seen.
X
Xgood luck,
Xjojo
SHAR_EOF
chmod 0600 stank/README || echo "restore of stank/README fails"
if [ $TOUCH = can ]
then
    touch -am 0319153591 stank/README
fi
set `wc -c stank/README`;Wc_c=$1
if test "$Wc_c" != "1548"
then echo original size 1548, current size $Wc_c;fi
# ============= stank/stankserver.6 ==============
echo "x - extracting stank/stankserver.6 (Text)"
sed 's/^X//' << 'SHAR_EOF' > stank/stankserver.6 &&
X.TH STANKSERVER 6 "19 Mar 1991"
X.SH NAME
Xstankserver \- X based multi-player tank battle/server
X.SH SYNOPSIS
X.B stankserver
X.B maze
X[
X.B profile
X]
X.SH DESCRIPTION
X.I stank
Xis a multiplayer game based on the X window environment built to run on 
XSun workstations or other machines which support Remote Procedure Calls (RPC).
X.PP
X.I stankserver
Xreads the specified maze-file, registers its services with the portmapper
Xand waits for players to contact it with the 
X.I stank
Xcommand.  A log of players entering and exiting the game are sent to stdout
Xwhich should probably be collected into a log file by redirecting the output.
X.PP
XThe 
X.I maze-file
Xis an ascii file, 32X32 characters representing the playing field for the
Xbattle. A '#' represents a wall and a 'space' represents no-wall.  See the
Xmaze files provided with the source for examples on creating your own.
X.PP
XThe
X.I profile-file
Xallows the game to be hand-tuned without rebuilding the game.  This allows
Xthe changing of various weapon costs and damages among other things with
Xrelative ease.  See the file PROFILE which was distributed with the sources
Xfor an example.
X.SH AUTHOR
X.TP
Xjojo - Jon Wesener
X.SH SEE ALSO
X.BR stank (6)
X.BR stankbif (6)
X.SH BUGS
X.PP
XShow me a program without them...
X.PP
XThe maze-file must have a surrounding wall or the game will die when a player
Xmoves off of the playing field.
SHAR_EOF
chmod 0600 stank/stankserver.6 || echo "restore of stank/stankserver.6 fails"
if [ $TOUCH = can ]
then
    touch -am 0319113991 stank/stankserver.6
fi
set `wc -c stank/stankserver.6`;Wc_c=$1
if test "$Wc_c" != "1371"
then echo original size 1371, current size $Wc_c;fi
rm -f s3_seq_.tmp
echo "You have unpacked the last part"
exit 0
-- 
           "The bear new nine songs; all of them on honey."
jojo@key.com


--
Dan Heller
------------------------------------------------
O'Reilly && Associates		 Z-Code Software
Senior Writer			       President
argv@ora.com			argv@zipcode.com
------------------------------------------------
General Email: argv@sun.com
Comp-sources-x stuff: comp-sources.x@uunet.uu.net