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