games-request@tekred.TEK.COM (10/10/87)
Submitted by: Bill Randle <games-request@tekred.TEK.COM>
Comp.sources.games: Volume 2, Issue 53
Archive-name: dungeon/Patch1
[This is the first official patch for dungeon, posted in two
parts (Patch1 and Patch2). See README.pch for more info.
Run the dungeon.pch file thru patch(1) to update your sources.]
#! /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 shell archive."
# Contents: README.pch Makefile.bsd Makefile.sun Makefile.sysv
# dungeon.pch
# Wrapped by billr@tekred on Fri Oct 9 17:01:57 1987
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f README.pch -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"README.pch\"
else
echo shar: Extracting \"README.pch\" \(848 characters\)
sed "s/^X//" >README.pch <<'END_OF_README.pch'
XOfficial patches 1 and 2 for net release of dungeon. Oct. 9, 1987
X
XPatch1 contains the patches to the source files and Makefile. Patch2
Xcontains the patches to the uuencoded text file (dtext.dat.uu). I
Xhad to split this up into two patches because of the size of the
Xcontext diffs to the text file.
X
XThe Makefile has been split into three pre-configured makefiles for
Xgeneric BSD systems, System V systems and Suns. Copy the one that
Xbest matches your system into the file Makefile and edit the paths,
Xetc. as needed.
X
XThe sources patches fix a few logic bugs in the program, but mainly
Xconsist of cleanups for System V compatability. Thanks to Dave
XNewkirk (ihnp4!ihlpm!dcn) and Randy (randy@peora.ccur.com) for their
Xinvaluable help in this area.
X
X -Bill Randle
X Moderator, comp.sources.games
X Tektronix, Inc.
X games-request@tekred.TEK.COM
END_OF_README.pch
if test 848 -ne `wc -c <README.pch`; then
echo shar: \"README.pch\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Makefile.bsd -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"Makefile.bsd\"
else
echo shar: Extracting \"Makefile.bsd\" \(9540 characters\)
sed "s/^X//" >Makefile.bsd <<'END_OF_Makefile.bsd'
X# Makefile for creating dungeon
X# Edit BIN DDIR and FFLAGS suitable for your system
X# Also, if you are running System V change the .F.o production
X# and production for dinit.F as indicated.
X#
X# need SUFFIXES for System V (doesn't grok .F)
X.SUFFIXES: .F
X.c.o:
X cc -c $(CFLAGS) $*.c
X.F.o:
X f77 -c $(FFLAGS) $*.F
X# For System V use the following production instead:
X# @/lib/cpp $(CPPFLAGS) $*.F > $*.f
X# f77 -c $(FFLAGS) $*.f
X# rm $*.f
X
X# define SYSV if running System V or V7
XCFLAGS = -O # -DSYSV -g -i
XCPPFLAGS = -P
X#
X# f77 compiler flags for BSD Vax (and other similar machines)
XFOPTS = -q # -g -Ddebug
X# use -Nn650 for System V to increase default symbol table size
X# also, define SYSV and no -g flag (causes runtime errors)
X#FOPTS = -q -Nn650 -DSYSV # -Ddebug
X# f77 compiler flags for pdp (64K split I/D)
X#FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug
XFFLAGS = -O $(FOPTS)
X
X# flags for the loader
XLDFLAGS = # -s -g -v
X
X# Directory path for main program - default /usr/games
XBIN = /usr/games
X# Directory path for data files - default is /usr/games/lib/dunlib
XLIB = /usr/games/lib/dunlib
XDDIR = \'/usr/games/lib/dunlib
XDCDIR =\"/usr/games/lib/dunlib
X# Directory path for man page - default /usr/manl/man6
XMDIR = /usr/manl/man6
X# userid for wizard - allows invoking game debugging tool - default 0
XWIZDEF = -DWIZARDID=320
X
XHDRS = advers.h clock.h curxt.h debug.h exits.h files.h flags.h\
X gamestate.h io.h mindex.h objects.h oflags.h oindex.h\
X parser.h puzzle.h rflag.h rindex.h rooms.h screen.h state.h\
X verbs.h villians.h vocab.h xpars.h xsrch.h
X
XFSRC = actors.F ballop.F clockr.F demons.F\
X dgame.F dinit.F dmain.F dso1.F dso2.F\
X dso3.F dso4.F dso5.F dso6.F dso7.F\
X dsub.F dverb1.F dverb2.F gdt.F lightp.F\
X nobjs.F np.F np1.F np2.F np3.F nrooms.F objcts.F\
X rooms.F sobjs.F sverbs.F verbs.F villns.F
X
XCSRC = cinit.c cio.c cspeak.c decode.c lex.c listen.c rtim.c
X
XOBJS = actors.o ballop.o clockr.o demons.o\
X dgame.o dinit.o dmain.o dso1.o dso2.o\
X dso3.o dso4.o dso5.o dso6.o dso7.o\
X dsub.o dverb1.o dverb2.o gdt.o lightp.o\
X nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o\
X rooms.o rtim.o sobjs.o sverbs.o verbs.o villns.o
X
XPDPOBJS = cinit.o cio.o lex.o
XLISTEN = listen.o
XSPEAK = cspeak.o speak.o
X
Xvax: dungeon dtext.dat
Xpdp: dungpdp speak listen dtext.dat
X
Xdungeon: $(OBJS)
X f77 -o dungeon $(OBJS) $(LDFLAGS)
X @echo done
X
Xdungpdp: $(OBJS) $(PDPOBJS)
X f77 -i -s -o dungpdp $(OBJS) $(PDPOBJS)
X @echo done
X
Xspeak: $(SPEAK)
X f77 -i -s -o speak $(SPEAK)
X
Xspeak.o: speak.F
X f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.F
X# For System V use the following instead:
X# @/lib/cpp $(CPPFLAGS) speak.F > speak.f
X# f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.f
X# rm $*.f
X
Xlisten: $(LISTEN)
X cc $(CFLAGS) -o listen $(LISTEN)
X
Xlisten.o: listen.c
X cc $(CFLAGS) -DCINDEXFILE=$(DCDIR)/dindx.dat\" -c listen.c
X
Xdinit.o: dinit.F
X f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.F
X# For System V use the following instead:
X# @/lib/cpp $(CPPFLAGS) dinit.F > dinit.f
X# f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.f
X# rm $*.f
X
X# uncomment the following for Suns to get around an optimizer bug
X# -P means partial optimization.
X#objcts.o: objcts.F
X# f77 $(FOPTS) -P -c objcts.F
X
Xinstall-vax: vax
X cp dungeon $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xinstall-pdp: pdp
X cp dungeon.sh $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat rtext.dat dungpdp $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xdtext.dat:
X ./maketxt.sh
X
X
Xclean:
X -rm $(OBJS) Mk* core makedep eddep
X
Xdepend:
X grep '^#include' $(FSRC) $(CSRC) $(HDRS) | grep -v '<' | \
X sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
X -e 's/\.c/.o/' \
X -e 's/\.F/.o/' \
X -e 's,../[a-zA-Z]*/,,' | \
X awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
X else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
X else rec = rec " " $$2 } } \
X END { print rec } ' > makedep
X echo '$$r makedep' >>eddep
X echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
X echo '$$r makedep' >>eddep
X echo 'w' >>eddep
X cp Makefile Makefile.bak
X ed - Makefile < eddep
X rm eddep makedep
X
X# DO NOT DELETE THIS LINE -- make depend uses it
X
Xactors.o: parser.h gamestate.h rooms.h rflag.h rindex.h xsrch.h objects.h
Xactors.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h gamestate.h
Xactors.o: debug.h rooms.h rflag.h rindex.h objects.h oflags.h oindex.h
Xactors.o: villians.h flags.h
Xballop.o: parser.h gamestate.h state.h rooms.h rflag.h curxt.h xpars.h
Xballop.o: objects.h oflags.h oindex.h clock.h verbs.h flags.h
Xclockr.o: gamestate.h state.h rooms.h rflag.h rindex.h objects.h oflags.h
Xclockr.o: oindex.h clock.h curxt.h xsrch.h villians.h advers.h flags.h
Xclockr.o: gamestate.h objects.h oflags.h clock.h
Xdemons.o: parser.h gamestate.h objects.h oflags.h oindex.h villians.h advers.h
Xdemons.o: verbs.h flags.h gamestate.h parser.h objects.h oflags.h clock.h
Xdemons.o: advers.h verbs.h gamestate.h curxt.h xsrch.h objects.h oindex.h
Xdemons.o: villians.h advers.h rindex.h objects.h oindex.h villians.h flags.h
Xdgame.o: parser.h gamestate.h state.h io.h rooms.h rindex.h objects.h oflags.h
Xdgame.o: oindex.h advers.h verbs.h flags.h parser.h villians.h gamestate.h
Xdgame.o: objects.h advers.h
Xdinit.o: files.h parser.h gamestate.h state.h screen.h mindex.h io.h debug.h
Xdinit.o: rooms.h rflag.h rindex.h exits.h curxt.h xpars.h objects.h oindex.h
Xdinit.o: clock.h villians.h advers.h flags.h
Xdmain.o: parser.h gamestate.h state.h screen.h puzzle.h io.h debug.h rooms.h
Xdmain.o: rflag.h rindex.h exits.h curxt.h xpars.h xsrch.h objects.h oflags.h
Xdmain.o: oindex.h clock.h villians.h advers.h verbs.h flags.h
Xdso1.o: gamestate.h rooms.h rflag.h objects.h oflags.h oindex.h advers.h
Xdso1.o: flags.h gamestate.h objects.h oflags.h advers.h objects.h
Xdso2.o: gamestate.h rooms.h rflag.h objects.h oindex.h advers.h gamestate.h
Xdso2.o: state.h advers.h flags.h gamestate.h state.h clock.h advers.h flags.h
Xdso3.o: rooms.h exits.h curxt.h xpars.h objects.h oflags.h
Xdso4.o: objects.h oflags.h objects.h oflags.h objects.h state.h advers.h
Xdso4.o: parser.h objects.h oflags.h oindex.h villians.h flags.h
Xdso5.o: parser.h objects.h oflags.h verbs.h rooms.h rflag.h objects.h oflags.h
Xdso5.o: advers.h objects.h
Xdso6.o: rooms.h rflag.h rindex.h rindex.h flags.h
Xdso7.o: rooms.h rflag.h rindex.h objects.h oflags.h flags.h flags.h
Xdsub.o: gamestate.h mindex.h io.h parser.h objects.h debug.h objects.h
Xdsub.o: objects.h objects.h parser.h gamestate.h state.h io.h debug.h rooms.h
Xdsub.o: rflag.h rindex.h objects.h oflags.h oindex.h advers.h flags.h advers.h
Xdsub.o: flags.h parser.h gamestate.h screen.h rooms.h rflag.h xsrch.h objects.h
Xdsub.o: advers.h verbs.h flags.h
Xdverb1.o: parser.h gamestate.h state.h objects.h oflags.h advers.h parser.h
Xdverb1.o: gamestate.h rindex.h objects.h oflags.h advers.h verbs.h parser.h
Xdverb1.o: gamestate.h objects.h oflags.h advers.h verbs.h parser.h gamestate.h
Xdverb1.o: objects.h oflags.h verbs.h
Xdverb2.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h exits.h
Xdverb2.o: objects.h clock.h villians.h advers.h flags.h parser.h gamestate.h
Xdverb2.o: state.h screen.h puzzle.h rooms.h exits.h objects.h clock.h
Xdverb2.o: villians.h advers.h flags.h parser.h gamestate.h rooms.h rflag.h
Xdverb2.o: curxt.h xsrch.h objects.h oflags.h clock.h villians.h advers.h
Xdverb2.o: flags.h gamestate.h parser.h puzzle.h rooms.h rindex.h exits.h
Xdverb2.o: curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h advers.h flags.h
Xgdt.o: parser.h gamestate.h state.h screen.h puzzle.h io.h mindex.h debug.h
Xgdt.o: rooms.h rindex.h exits.h objects.h oindex.h clock.h villians.h advers.h
Xgdt.o: flags.h
Xlightp.o: parser.h gamestate.h objects.h oflags.h oindex.h clock.h verbs.h
Xlightp.o: flags.h
Xnobjs.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h rflag.h
Xnobjs.o: rindex.h objects.h oflags.h oindex.h clock.h villians.h advers.h
Xnobjs.o: verbs.h flags.h gamestate.h parser.h verbs.h flags.h
Xnp.o: parser.h io.h debug.h parser.h xsrch.h parser.h debug.h
Xnp1.o: parser.h gamestate.h debug.h objects.h oindex.h advers.h verbs.h vocab.h
Xnp2.o: parser.h gamestate.h debug.h objects.h oflags.h advers.h vocab.h
Xnp2.o: objects.h oflags.h vocab.h
Xnp3.o: parser.h vocab.h debug.h vocab.h parser.h objects.h parser.h parser.h
Xnp3.o: gamestate.h state.h objects.h oflags.h advers.h parser.h gamestate.h
Xnp3.o: objects.h oflags.h advers.h
Xnrooms.o: parser.h gamestate.h state.h io.h rooms.h rflag.h rindex.h objects.h
Xnrooms.o: oflags.h oindex.h xsrch.h clock.h advers.h verbs.h flags.h
Xnrooms.o: gamestate.h flags.h rindex.h flags.h
Xobjcts.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xobjcts.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h
Xrooms.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xrooms.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsobjs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xsobjs.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsverbs.o: parser.h gamestate.h state.h screen.h io.h rooms.h rflag.h rindex.h
Xsverbs.o: exits.h curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h clock.h
Xsverbs.o: advers.h verbs.h flags.h
Xverbs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h xsrch.h
Xverbs.o: objects.h oflags.h oindex.h advers.h verbs.h clock.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h rindex.h objects.h oflags.h oindex.h clock.h
Xvillns.o: villians.h verbs.h flags.h
END_OF_Makefile.bsd
if test 9540 -ne `wc -c <Makefile.bsd`; then
echo shar: \"Makefile.bsd\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Makefile.sun -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"Makefile.sun\"
else
echo shar: Extracting \"Makefile.sun\" \(9540 characters\)
sed "s/^X//" >Makefile.sun <<'END_OF_Makefile.sun'
X# Makefile for creating dungeon
X# Edit BIN DDIR and FFLAGS suitable for your system
X# Also, if you are running System V change the .F.o production
X# and production for dinit.F as indicated.
X#
X# need SUFFIXES for System V (doesn't grok .F)
X.SUFFIXES: .F
X.c.o:
X cc -c $(CFLAGS) $*.c
X.F.o:
X f77 -c $(FFLAGS) $*.F
X# For System V use the following production instead:
X# @/lib/cpp $(CPPFLAGS) $*.F > $*.f
X# f77 -c $(FFLAGS) $*.f
X# rm $*.f
X
X# define SYSV if running System V or V7
XCFLAGS = -O # -DSYSV -g -i
XCPPFLAGS = -P
X#
X# f77 compiler flags for BSD Vax (and other similar machines)
XFOPTS = -q # -g -Ddebug
X# use -Nn650 for System V to increase default symbol table size
X# also, define SYSV and no -g flag (causes runtime errors)
X#FOPTS = -q -Nn650 -DSYSV # -Ddebug
X# f77 compiler flags for pdp (64K split I/D)
X#FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug
XFFLAGS = -O $(FOPTS)
X
X# flags for the loader
XLDFLAGS = # -s -g -v
X
X# Directory path for main program - default /usr/games
XBIN = /usr/games
X# Directory path for data files - default is /usr/games/lib/dunlib
XLIB = /usr/games/lib/dunlib
XDDIR = \'/usr/games/lib/dunlib
XDCDIR =\"/usr/games/lib/dunlib
X# Directory path for man page - default /usr/manl/man6
XMDIR = /usr/manl/man6
X# userid for wizard - allows invoking game debugging tool - default 0
XWIZDEF = -DWIZARDID=320
X
XHDRS = advers.h clock.h curxt.h debug.h exits.h files.h flags.h\
X gamestate.h io.h mindex.h objects.h oflags.h oindex.h\
X parser.h puzzle.h rflag.h rindex.h rooms.h screen.h state.h\
X verbs.h villians.h vocab.h xpars.h xsrch.h
X
XFSRC = actors.F ballop.F clockr.F demons.F\
X dgame.F dinit.F dmain.F dso1.F dso2.F\
X dso3.F dso4.F dso5.F dso6.F dso7.F\
X dsub.F dverb1.F dverb2.F gdt.F lightp.F\
X nobjs.F np.F np1.F np2.F np3.F nrooms.F objcts.F\
X rooms.F sobjs.F sverbs.F verbs.F villns.F
X
XCSRC = cinit.c cio.c cspeak.c decode.c lex.c listen.c rtim.c
X
XOBJS = actors.o ballop.o clockr.o demons.o\
X dgame.o dinit.o dmain.o dso1.o dso2.o\
X dso3.o dso4.o dso5.o dso6.o dso7.o\
X dsub.o dverb1.o dverb2.o gdt.o lightp.o\
X nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o\
X rooms.o rtim.o sobjs.o sverbs.o verbs.o villns.o
X
XPDPOBJS = cinit.o cio.o lex.o
XLISTEN = listen.o
XSPEAK = cspeak.o speak.o
X
Xvax: dungeon dtext.dat
Xpdp: dungpdp speak listen dtext.dat
X
Xdungeon: $(OBJS)
X f77 -o dungeon $(OBJS) $(LDFLAGS)
X @echo done
X
Xdungpdp: $(OBJS) $(PDPOBJS)
X f77 -i -s -o dungpdp $(OBJS) $(PDPOBJS)
X @echo done
X
Xspeak: $(SPEAK)
X f77 -i -s -o speak $(SPEAK)
X
Xspeak.o: speak.F
X f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.F
X# For System V use the following instead:
X# @/lib/cpp $(CPPFLAGS) speak.F > speak.f
X# f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.f
X# rm $*.f
X
Xlisten: $(LISTEN)
X cc $(CFLAGS) -o listen $(LISTEN)
X
Xlisten.o: listen.c
X cc $(CFLAGS) -DCINDEXFILE=$(DCDIR)/dindx.dat\" -c listen.c
X
Xdinit.o: dinit.F
X f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.F
X# For System V use the following instead:
X# @/lib/cpp $(CPPFLAGS) dinit.F > dinit.f
X# f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.f
X# rm $*.f
X
X# uncomment the following for Suns to get around an optimizer bug
X# -P means partial optimization.
X#objcts.o: objcts.F
X# f77 $(FOPTS) -P -c objcts.F
X
Xinstall-vax: vax
X cp dungeon $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xinstall-pdp: pdp
X cp dungeon.sh $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat rtext.dat dungpdp $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xdtext.dat:
X ./maketxt.sh
X
X
Xclean:
X -rm $(OBJS) Mk* core makedep eddep
X
Xdepend:
X grep '^#include' $(FSRC) $(CSRC) $(HDRS) | grep -v '<' | \
X sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
X -e 's/\.c/.o/' \
X -e 's/\.F/.o/' \
X -e 's,../[a-zA-Z]*/,,' | \
X awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
X else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
X else rec = rec " " $$2 } } \
X END { print rec } ' > makedep
X echo '$$r makedep' >>eddep
X echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
X echo '$$r makedep' >>eddep
X echo 'w' >>eddep
X cp Makefile Makefile.bak
X ed - Makefile < eddep
X rm eddep makedep
X
X# DO NOT DELETE THIS LINE -- make depend uses it
X
Xactors.o: parser.h gamestate.h rooms.h rflag.h rindex.h xsrch.h objects.h
Xactors.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h gamestate.h
Xactors.o: debug.h rooms.h rflag.h rindex.h objects.h oflags.h oindex.h
Xactors.o: villians.h flags.h
Xballop.o: parser.h gamestate.h state.h rooms.h rflag.h curxt.h xpars.h
Xballop.o: objects.h oflags.h oindex.h clock.h verbs.h flags.h
Xclockr.o: gamestate.h state.h rooms.h rflag.h rindex.h objects.h oflags.h
Xclockr.o: oindex.h clock.h curxt.h xsrch.h villians.h advers.h flags.h
Xclockr.o: gamestate.h objects.h oflags.h clock.h
Xdemons.o: parser.h gamestate.h objects.h oflags.h oindex.h villians.h advers.h
Xdemons.o: verbs.h flags.h gamestate.h parser.h objects.h oflags.h clock.h
Xdemons.o: advers.h verbs.h gamestate.h curxt.h xsrch.h objects.h oindex.h
Xdemons.o: villians.h advers.h rindex.h objects.h oindex.h villians.h flags.h
Xdgame.o: parser.h gamestate.h state.h io.h rooms.h rindex.h objects.h oflags.h
Xdgame.o: oindex.h advers.h verbs.h flags.h parser.h villians.h gamestate.h
Xdgame.o: objects.h advers.h
Xdinit.o: files.h parser.h gamestate.h state.h screen.h mindex.h io.h debug.h
Xdinit.o: rooms.h rflag.h rindex.h exits.h curxt.h xpars.h objects.h oindex.h
Xdinit.o: clock.h villians.h advers.h flags.h
Xdmain.o: parser.h gamestate.h state.h screen.h puzzle.h io.h debug.h rooms.h
Xdmain.o: rflag.h rindex.h exits.h curxt.h xpars.h xsrch.h objects.h oflags.h
Xdmain.o: oindex.h clock.h villians.h advers.h verbs.h flags.h
Xdso1.o: gamestate.h rooms.h rflag.h objects.h oflags.h oindex.h advers.h
Xdso1.o: flags.h gamestate.h objects.h oflags.h advers.h objects.h
Xdso2.o: gamestate.h rooms.h rflag.h objects.h oindex.h advers.h gamestate.h
Xdso2.o: state.h advers.h flags.h gamestate.h state.h clock.h advers.h flags.h
Xdso3.o: rooms.h exits.h curxt.h xpars.h objects.h oflags.h
Xdso4.o: objects.h oflags.h objects.h oflags.h objects.h state.h advers.h
Xdso4.o: parser.h objects.h oflags.h oindex.h villians.h flags.h
Xdso5.o: parser.h objects.h oflags.h verbs.h rooms.h rflag.h objects.h oflags.h
Xdso5.o: advers.h objects.h
Xdso6.o: rooms.h rflag.h rindex.h rindex.h flags.h
Xdso7.o: rooms.h rflag.h rindex.h objects.h oflags.h flags.h flags.h
Xdsub.o: gamestate.h mindex.h io.h parser.h objects.h debug.h objects.h
Xdsub.o: objects.h objects.h parser.h gamestate.h state.h io.h debug.h rooms.h
Xdsub.o: rflag.h rindex.h objects.h oflags.h oindex.h advers.h flags.h advers.h
Xdsub.o: flags.h parser.h gamestate.h screen.h rooms.h rflag.h xsrch.h objects.h
Xdsub.o: advers.h verbs.h flags.h
Xdverb1.o: parser.h gamestate.h state.h objects.h oflags.h advers.h parser.h
Xdverb1.o: gamestate.h rindex.h objects.h oflags.h advers.h verbs.h parser.h
Xdverb1.o: gamestate.h objects.h oflags.h advers.h verbs.h parser.h gamestate.h
Xdverb1.o: objects.h oflags.h verbs.h
Xdverb2.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h exits.h
Xdverb2.o: objects.h clock.h villians.h advers.h flags.h parser.h gamestate.h
Xdverb2.o: state.h screen.h puzzle.h rooms.h exits.h objects.h clock.h
Xdverb2.o: villians.h advers.h flags.h parser.h gamestate.h rooms.h rflag.h
Xdverb2.o: curxt.h xsrch.h objects.h oflags.h clock.h villians.h advers.h
Xdverb2.o: flags.h gamestate.h parser.h puzzle.h rooms.h rindex.h exits.h
Xdverb2.o: curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h advers.h flags.h
Xgdt.o: parser.h gamestate.h state.h screen.h puzzle.h io.h mindex.h debug.h
Xgdt.o: rooms.h rindex.h exits.h objects.h oindex.h clock.h villians.h advers.h
Xgdt.o: flags.h
Xlightp.o: parser.h gamestate.h objects.h oflags.h oindex.h clock.h verbs.h
Xlightp.o: flags.h
Xnobjs.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h rflag.h
Xnobjs.o: rindex.h objects.h oflags.h oindex.h clock.h villians.h advers.h
Xnobjs.o: verbs.h flags.h gamestate.h parser.h verbs.h flags.h
Xnp.o: parser.h io.h debug.h parser.h xsrch.h parser.h debug.h
Xnp1.o: parser.h gamestate.h debug.h objects.h oindex.h advers.h verbs.h vocab.h
Xnp2.o: parser.h gamestate.h debug.h objects.h oflags.h advers.h vocab.h
Xnp2.o: objects.h oflags.h vocab.h
Xnp3.o: parser.h vocab.h debug.h vocab.h parser.h objects.h parser.h parser.h
Xnp3.o: gamestate.h state.h objects.h oflags.h advers.h parser.h gamestate.h
Xnp3.o: objects.h oflags.h advers.h
Xnrooms.o: parser.h gamestate.h state.h io.h rooms.h rflag.h rindex.h objects.h
Xnrooms.o: oflags.h oindex.h xsrch.h clock.h advers.h verbs.h flags.h
Xnrooms.o: gamestate.h flags.h rindex.h flags.h
Xobjcts.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xobjcts.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h
Xrooms.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xrooms.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsobjs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xsobjs.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsverbs.o: parser.h gamestate.h state.h screen.h io.h rooms.h rflag.h rindex.h
Xsverbs.o: exits.h curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h clock.h
Xsverbs.o: advers.h verbs.h flags.h
Xverbs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h xsrch.h
Xverbs.o: objects.h oflags.h oindex.h advers.h verbs.h clock.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h rindex.h objects.h oflags.h oindex.h clock.h
Xvillns.o: villians.h verbs.h flags.h
END_OF_Makefile.sun
if test 9540 -ne `wc -c <Makefile.sun`; then
echo shar: \"Makefile.sun\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f Makefile.sysv -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"Makefile.sysv\"
else
echo shar: Extracting \"Makefile.sysv\" \(9606 characters\)
sed "s/^X//" >Makefile.sysv <<'END_OF_Makefile.sysv'
X# Makefile for creating dungeon
X# Edit BIN DDIR and FFLAGS suitable for your system
X# Also, if you are running System V change the .F.o production
X# and production for dinit.F as indicated.
X#
X# need SUFFIXES for System V (doesn't grok .F)
X.SUFFIXES: .F
X.c.o:
X cc -c $(CFLAGS) $*.c
X.F.o:
X# f77 -c $(FFLAGS) $*.F
X# For System V use the following production instead:
X @/lib/cpp $(CPPFLAGS) $*.F > $*.f
X f77 -c $(FFLAGS) $*.f
X rm $*.f
X
X# define SYSV if running System V or V7
X# define SYSV *and* XELOS if running the XELOS OS
XCFLAGS = -O -DSYSV # -DXELOS -g -i
XCPPFLAGS = -P
X#
X# f77 compiler flags for BSD Vax (and other similar machines)
X#FOPTS = -q # -g -Ddebug
X# use -Nn650 for System V to increase default symbol table size
X# also, define SYSV and no -g flag (causes runtime errors)
XFOPTS = -q -Nn650 -DSYSV # -Ddebug
X# f77 compiler flags for pdp (64K split I/D)
X#FOPTS = -q -I2 -L1 -i -DPDP # -Nn650 -Ddebug
XFFLAGS = -O $(FOPTS)
X
X# flags for the loader
XLDFLAGS = # -s -g -v
X
X# Directory path for main program - default /usr/games
XBIN = /usr/games
X# Directory path for data files - default is /usr/games/lib/dunlib
XLIB = /usr/games/lib/dunlib
XDDIR = \'/usr/games/lib/dunlib
XDCDIR =\"/usr/games/lib/dunlib
X# Directory path for man page - default /usr/manl/man6
XMDIR = /usr/manl/man6
X# userid for wizard - allows invoking game debugging tool - default 0
XWIZDEF = -DWIZARDID=320
X
XHDRS = advers.h clock.h curxt.h debug.h exits.h files.h flags.h\
X gamestate.h io.h mindex.h objects.h oflags.h oindex.h\
X parser.h puzzle.h rflag.h rindex.h rooms.h screen.h state.h\
X verbs.h villians.h vocab.h xpars.h xsrch.h
X
XFSRC = actors.F ballop.F clockr.F demons.F\
X dgame.F dinit.F dmain.F dso1.F dso2.F\
X dso3.F dso4.F dso5.F dso6.F dso7.F\
X dsub.F dverb1.F dverb2.F exit.F gdt.F lightp.F\
X nobjs.F np.F np1.F np2.F np3.F nrooms.F objcts.F\
X rooms.F sobjs.F sverbs.F verbs.F villns.F
X
XCSRC = cinit.c cio.c cspeak.c decode.c lex.c listen.c rtim.c
X
XOBJS = actors.o ballop.o clockr.o demons.o\
X dgame.o dinit.o dmain.o dso1.o dso2.o\
X dso3.o dso4.o dso5.o dso6.o dso7.o\
X dsub.o dverb1.o dverb2.o exit.o gdt.o lightp.o\
X nobjs.o np.o np1.o np2.o np3.o nrooms.o objcts.o\
X rooms.o rtim.o sobjs.o sverbs.o verbs.o villns.o
X
XPDPOBJS = cinit.o cio.o lex.o
XLISTEN = listen.o
XSPEAK = cspeak.o speak.o
X
Xvax: dungeon dtext.dat
Xpdp: dungpdp speak listen dtext.dat
X
Xdungeon: $(OBJS)
X f77 -o dungeon $(OBJS) $(LDFLAGS)
X @echo done
X
Xdungpdp: $(OBJS) $(PDPOBJS)
X f77 -i -s -o dungpdp $(OBJS) $(PDPOBJS)
X @echo done
X
Xspeak: $(SPEAK)
X f77 -i -s -o speak $(SPEAK)
X
Xspeak.o: speak.F
X# f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.F
X# For System V use the following instead:
X @/lib/cpp $(CPPFLAGS) speak.F > speak.f
X f77 $(FFLAGS) -DDDIR=$(DDIR) -c speak.f
X rm $*.f
X
Xlisten: $(LISTEN)
X cc $(CFLAGS) -o listen $(LISTEN)
X
Xlisten.o: listen.c
X cc $(CFLAGS) -DCINDEXFILE=$(DCDIR)/dindx.dat\" -c listen.c
X
Xdinit.o: dinit.F
X# f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.F
X# For System V use the following instead:
X @/lib/cpp $(CPPFLAGS) dinit.F > dinit.f
X f77 $(FFLAGS) -DDDIR=$(DDIR) $(WIZDEF) -c dinit.f
X rm $*.f
X
X# uncomment the following for Suns to get around an optimizer bug
X# -P means partial optimization.
X#objcts.o: objcts.F
X# f77 $(FOPTS) -P -c objcts.F
X
Xinstall-vax: vax
X cp dungeon $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xinstall-pdp: pdp
X cp dungeon.sh $(BIN)
X -mkdir $(LIB)
X cp dindx.dat dtext.dat rtext.dat dungpdp $(LIB)
X cp dungeon.6 $(MDIR)/dungeon.6
X
Xdtext.dat:
X ./maketxt.sh
X
X
Xclean:
X -rm $(OBJS) Mk* core makedep eddep
X
Xdepend:
X grep '^#include' $(FSRC) $(CSRC) $(HDRS) | grep -v '<' | \
X sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
X -e 's/\.c/.o/' \
X -e 's/\.F/.o/' \
X -e 's,../[a-zA-Z]*/,,' | \
X awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
X else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
X else rec = rec " " $$2 } } \
X END { print rec } ' > makedep
X echo '$$r makedep' >>eddep
X echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
X echo '$$r makedep' >>eddep
X echo 'w' >>eddep
X cp Makefile Makefile.bak
X ed - Makefile < eddep
X rm eddep makedep
X
X# DO NOT DELETE THIS LINE -- make depend uses it
X
Xactors.o: parser.h gamestate.h rooms.h rflag.h rindex.h xsrch.h objects.h
Xactors.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h gamestate.h
Xactors.o: debug.h rooms.h rflag.h rindex.h objects.h oflags.h oindex.h
Xactors.o: villians.h flags.h
Xballop.o: parser.h gamestate.h state.h rooms.h rflag.h curxt.h xpars.h
Xballop.o: objects.h oflags.h oindex.h clock.h verbs.h flags.h
Xclockr.o: gamestate.h state.h rooms.h rflag.h rindex.h objects.h oflags.h
Xclockr.o: oindex.h clock.h curxt.h xsrch.h villians.h advers.h flags.h
Xclockr.o: gamestate.h objects.h oflags.h clock.h
Xdemons.o: parser.h gamestate.h objects.h oflags.h oindex.h villians.h advers.h
Xdemons.o: verbs.h flags.h gamestate.h parser.h objects.h oflags.h clock.h
Xdemons.o: advers.h verbs.h gamestate.h curxt.h xsrch.h objects.h oindex.h
Xdemons.o: villians.h advers.h rindex.h objects.h oindex.h villians.h flags.h
Xdgame.o: parser.h gamestate.h state.h io.h rooms.h rindex.h objects.h oflags.h
Xdgame.o: oindex.h advers.h verbs.h flags.h parser.h villians.h gamestate.h
Xdgame.o: objects.h advers.h
Xdinit.o: files.h parser.h gamestate.h state.h screen.h mindex.h io.h debug.h
Xdinit.o: rooms.h rflag.h rindex.h exits.h curxt.h xpars.h objects.h oindex.h
Xdinit.o: clock.h villians.h advers.h flags.h
Xdmain.o: parser.h gamestate.h state.h screen.h puzzle.h io.h debug.h rooms.h
Xdmain.o: rflag.h rindex.h exits.h curxt.h xpars.h xsrch.h objects.h oflags.h
Xdmain.o: oindex.h clock.h villians.h advers.h verbs.h flags.h
Xdso1.o: gamestate.h rooms.h rflag.h objects.h oflags.h oindex.h advers.h
Xdso1.o: flags.h gamestate.h objects.h oflags.h advers.h objects.h
Xdso2.o: gamestate.h rooms.h rflag.h objects.h oindex.h advers.h gamestate.h
Xdso2.o: state.h advers.h flags.h gamestate.h state.h clock.h advers.h flags.h
Xdso3.o: rooms.h exits.h curxt.h xpars.h objects.h oflags.h
Xdso4.o: objects.h oflags.h objects.h oflags.h objects.h state.h advers.h
Xdso4.o: parser.h objects.h oflags.h oindex.h villians.h flags.h
Xdso5.o: parser.h objects.h oflags.h verbs.h rooms.h rflag.h objects.h oflags.h
Xdso5.o: advers.h objects.h
Xdso6.o: rooms.h rflag.h rindex.h rindex.h flags.h
Xdso7.o: rooms.h rflag.h rindex.h objects.h oflags.h flags.h flags.h
Xdsub.o: gamestate.h mindex.h io.h parser.h objects.h debug.h objects.h
Xdsub.o: objects.h objects.h parser.h gamestate.h state.h io.h debug.h rooms.h
Xdsub.o: rflag.h rindex.h objects.h oflags.h oindex.h advers.h flags.h advers.h
Xdsub.o: flags.h parser.h gamestate.h screen.h rooms.h rflag.h xsrch.h objects.h
Xdsub.o: advers.h verbs.h flags.h
Xdverb1.o: parser.h gamestate.h state.h objects.h oflags.h advers.h parser.h
Xdverb1.o: gamestate.h rindex.h objects.h oflags.h advers.h verbs.h parser.h
Xdverb1.o: gamestate.h objects.h oflags.h advers.h verbs.h parser.h gamestate.h
Xdverb1.o: objects.h oflags.h verbs.h
Xdverb2.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h exits.h
Xdverb2.o: objects.h clock.h villians.h advers.h flags.h parser.h gamestate.h
Xdverb2.o: state.h screen.h puzzle.h rooms.h exits.h objects.h clock.h
Xdverb2.o: villians.h advers.h flags.h parser.h gamestate.h rooms.h rflag.h
Xdverb2.o: curxt.h xsrch.h objects.h oflags.h clock.h villians.h advers.h
Xdverb2.o: flags.h gamestate.h parser.h puzzle.h rooms.h rindex.h exits.h
Xdverb2.o: curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h advers.h flags.h
Xgdt.o: parser.h gamestate.h state.h screen.h puzzle.h io.h mindex.h debug.h
Xgdt.o: rooms.h rindex.h exits.h objects.h oindex.h clock.h villians.h advers.h
Xgdt.o: flags.h
Xlightp.o: parser.h gamestate.h objects.h oflags.h oindex.h clock.h verbs.h
Xlightp.o: flags.h
Xnobjs.o: parser.h gamestate.h state.h screen.h puzzle.h rooms.h rflag.h
Xnobjs.o: rindex.h objects.h oflags.h oindex.h clock.h villians.h advers.h
Xnobjs.o: verbs.h flags.h gamestate.h parser.h verbs.h flags.h
Xnp.o: parser.h io.h debug.h parser.h xsrch.h parser.h debug.h
Xnp1.o: parser.h gamestate.h debug.h objects.h oindex.h advers.h verbs.h vocab.h
Xnp2.o: parser.h gamestate.h debug.h objects.h oflags.h advers.h vocab.h
Xnp2.o: objects.h oflags.h vocab.h
Xnp3.o: parser.h vocab.h debug.h vocab.h parser.h objects.h parser.h parser.h
Xnp3.o: gamestate.h state.h objects.h oflags.h advers.h parser.h gamestate.h
Xnp3.o: objects.h oflags.h advers.h
Xnrooms.o: parser.h gamestate.h state.h io.h rooms.h rflag.h rindex.h objects.h
Xnrooms.o: oflags.h oindex.h xsrch.h clock.h advers.h verbs.h flags.h
Xnrooms.o: gamestate.h flags.h rindex.h flags.h
Xobjcts.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xobjcts.o: oflags.h oindex.h clock.h advers.h verbs.h flags.h
Xrooms.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xrooms.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsobjs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h objects.h
Xsobjs.o: oflags.h oindex.h clock.h villians.h advers.h verbs.h flags.h
Xsverbs.o: parser.h gamestate.h state.h screen.h io.h rooms.h rflag.h rindex.h
Xsverbs.o: exits.h curxt.h xpars.h xsrch.h objects.h oflags.h oindex.h clock.h
Xsverbs.o: advers.h verbs.h flags.h
Xverbs.o: parser.h gamestate.h state.h rooms.h rflag.h rindex.h xsrch.h
Xverbs.o: objects.h oflags.h oindex.h advers.h verbs.h clock.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h objects.h oflags.h oindex.h verbs.h flags.h
Xvillns.o: parser.h gamestate.h rindex.h objects.h oflags.h oindex.h clock.h
Xvillns.o: villians.h verbs.h flags.h
END_OF_Makefile.sysv
if test 9606 -ne `wc -c <Makefile.sysv`; then
echo shar: \"Makefile.sysv\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f dungeon.pch -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"dungeon.pch\"
else
echo shar: Extracting \"dungeon.pch\" \(12478 characters\)
sed "s/^X//" >dungeon.pch <<'END_OF_dungeon.pch'
X*** parser.h.orig Mon Feb 2 08:53:32 1987
X--- parser.h Fri Oct 9 08:58:57 1987
X***************
X*** 14,20 ****
X C
X COMMON /PV/ ACT,O1,O2,P1,P2
X INTEGER OBJVEC(2),PRPVEC(2),PVEC(5)
X! EQUIVALENCE (OBJVEC(1),O1),(PRPVEC(1),P1),(PVEC,ACT)
X C
X COMMON /SYNTAX/ VFLAG,DOBJ,DFL1,DFL2,DFW1,DFW2,
X & IOBJ,IFL1,IFL2,IFW1,IFW2
X--- 14,20 ----
X C
X COMMON /PV/ ACT,O1,O2,P1,P2
X INTEGER OBJVEC(2),PRPVEC(2),PVEC(5)
X! EQUIVALENCE (OBJVEC(1),O1),(PRPVEC(1),P1),(PVEC(1),ACT)
X C
X COMMON /SYNTAX/ VFLAG,DOBJ,DFL1,DFL2,DFW1,DFW2,
X & IOBJ,IFL1,IFL2,IFW1,IFW2
X*** /dev/null Fri Oct 9 16:13:36 1987
X--- patchlvl.h Fri Oct 9 16:12:53 1987
X***************
X*** 0 ****
X--- 1 ----
X+ #define PATCHLEVEL 1
X*** rtim.c.orig Mon Feb 9 10:14:23 1987
X--- rtim.c Fri Oct 9 10:07:34 1987
X***************
X*** 4,16 ****
X * that are not available in the Unix/f77 library.
X */
X
X! /* routine to get time in hours minutes and seconds */
X
X #include <sys/types.h>
X #include <sys/timeb.h>
X- /* for V7 this should be <time.h> */
X #include <sys/time.h>
X
X
X long time();
X struct tm *localtime();
X--- 4,23 ----
X * that are not available in the Unix/f77 library.
X */
X
X! #ifdef SYSV
X! #include <stdio.h>
X! #endif
X
X #include <sys/types.h>
X+
X+ #ifdef SYSV
X+ #include <time.h>
X+ #else
X #include <sys/timeb.h>
X #include <sys/time.h>
X+ #endif
X
X+ /* routine to get time in hours minutes and seconds */
X
X long time();
X struct tm *localtime();
X***************
X*** 32,37 ****
X--- 39,64 ----
X return;
X }
X
X+ #ifdef SYSV
X+ /* idate - return day (1-31), month (1-12) and year (AD) */
X+ /* by Dave Newkirk, ihnp4!ihlpm!dcn */
X+
X+ idate_( date )
X+ long date[];
X+ {
X+ struct tm *t, *localtime();
X+ long time(), *tloc, loc;
X+
X+ tloc = &loc; /* get pointer to time in seconds */
X+ time(tloc);
X+ t = localtime(tloc); /* get time structure filled in */
X+ date[0] = t->tm_mday;
X+ date[1] = t->tm_mon + 1;
X+ date[2] = t->tm_year + 1900;
X+
X+ } /* end idate */
X+ #endif
X+
X /* random number initializer */
X inirnd_(seedptr)
X
X***************
X*** 59,61 ****
X--- 86,109 ----
X
X return(rndval);
X }
X+
X+ #ifdef SYSV
X+ /* thanks to Dave Newkirk, ihnp4!ihlpm!dcn for the following routines */
X+
X+ /* getuid - fortran callable getuid */
X+
X+ int
X+ getuid_()
X+ {
X+ return (int)getuid();
X+ }
X+
X+ /* unbuf - make output completely unbuffered */
X+
X+ unbuf_()
X+ {
X+ void setbuf();
X+
X+ setbuf(stdout, NULL);
X+ }
X+ #endif
X*** demons.F.orig Mon Feb 9 10:57:07 1987
X--- demons.F Fri Oct 9 15:42:21 1987
X***************
X*** 133,138 ****
X--- 133,139 ----
X INTEGER DEF1R(3),DEF2R(4),DEF3R(5)
X INTEGER RVECTR(66),RSTATE(45)
X #include "gamestate.h"
X+ #include "debug.h"
X C
X C PARSE VECTOR
X C
X***************
X*** 180,186 ****
X BLOW=RMISS
X C !ASSUME NO RESULT.
X #ifdef debug
X! PRINT 10,H,V,RMK,HFLG,OUT
X 10 FORMAT(' BLOW 10-- ',3I7,L7,I7)
X #endif debug
X IF(.NOT.HFLG) GO TO 1000
X--- 181,187 ----
X BLOW=RMISS
X C !ASSUME NO RESULT.
X #ifdef debug
X! IF(DEBUG) PRINT 10,H,V,RMK,HFLG,OUT
X 10 FORMAT(' BLOW 10-- ',3I7,L7,I7)
X #endif debug
X IF(.NOT.HFLG) GO TO 1000
X***************
X*** 249,255 ****
X C
X 2000 CONTINUE
X #ifdef debug
X! PRINT 2050,ATT,OA,DEF,OD,DWEAP
X 2050 FORMAT(' BLOW 2050-- ',5I7)
X #endif debug
X IF(DEF.GT.0) GO TO 2100
X--- 250,256 ----
X C
X 2000 CONTINUE
X #ifdef debug
X! IF(DEBUG) PRINT 2050,ATT,OA,DEF,OD,DWEAP
X 2050 FORMAT(' BLOW 2050-- ',5I7)
X #endif debug
X IF(DEF.GT.0) GO TO 2100
X***************
X*** 298,304 ****
X J=DV
X IF(.NOT.HFLG .AND.(DWEAP.NE.0)) J=ODESC2(DWEAP)
X #ifdef debug
X! PRINT 2650,RES,MI,I,J,MBASE
X 2650 FORMAT(' BLOW 2650-- ',5I7)
X #endif debug
X CALL RSPSUB(I,J)
X--- 299,305 ----
X J=DV
X IF(.NOT.HFLG .AND.(DWEAP.NE.0)) J=ODESC2(DWEAP)
X #ifdef debug
X! IF(DEBUG) PRINT 2650,RES,MI,I,J,MBASE
X 2650 FORMAT(' BLOW 2650-- ',5I7)
X #endif debug
X CALL RSPSUB(I,J)
X*** dmain.F.orig Thu Feb 12 11:05:36 1987
X--- dmain.F Thu Sep 17 14:46:53 1987
X***************
X*** 45,51 ****
X C
X C DATA STATEMENTS FOR CONSTANT ARRAYS
X C
X! DATA VMAJ/2/,VMIN/6/,VEDIT/'A'/
X C
X DATA SDIR/o'40000'/,SIND/o'20000'/,SSTD/o'10000'/,
X & SFLIP/o'4000'/,SDRIV/o'2000'/,SVMASK/o'777'/
X--- 45,51 ----
X C
X C DATA STATEMENTS FOR CONSTANT ARRAYS
X C
X! DATA VMAJ/2/,VMIN/6/,VEDIT/'B'/
X C
X DATA SDIR/o'40000'/,SIND/o'20000'/,SSTD/o'10000'/,
X & SFLIP/o'4000'/,SDRIV/o'2000'/,SVMASK/o'777'/
X*** dso3.F.orig Thu Sep 17 13:15:28 1987
X--- dso3.F Fri Sep 18 09:03:35 1987
X***************
X*** 23,29 ****
X 100 I=TRAVEL(XI)
X C !GET ENTRY.
X XROOM1=and(I,XRMASK)
X! XTYPE=and((and(I,not(XLFLAG))/XFSHFT),XFMASK)+1
X GO TO (110,120,130,130),XTYPE
X C !BRANCH ON ENTRY.
X CALL BUG(10,XTYPE)
X--- 23,31 ----
X 100 I=TRAVEL(XI)
X C !GET ENTRY.
X XROOM1=and(I,XRMASK)
X! c mask to 16-bits to get rid of sign extension problems with 32-bit ints
X! XXXFLG = and(not(XLFLAG), 65535)
X! XTYPE=and((and(I,XXXFLG)/XFSHFT),XFMASK)+1
X GO TO (110,120,130,130),XTYPE
X C !BRANCH ON ENTRY.
X CALL BUG(10,XTYPE)
X*** gdt.F.orig Thu Feb 12 11:07:59 1987
X--- gdt.F Thu Sep 17 13:43:17 1987
X***************
X*** 18,24 ****
X CHARACTER*2 DBGCMD(38),CMD
X INTEGER ARGTYP(38)
X LOGICAL VALID1,VALID2,VALID3
X! character*2 ldbgcmd(38)
X #include "parser.h"
X #include "gamestate.h"
X #include "state.h"
X--- 18,24 ----
X CHARACTER*2 DBGCMD(38),CMD
X INTEGER ARGTYP(38)
X LOGICAL VALID1,VALID2,VALID3
X! character*2 ldbgcm(38)
X #include "parser.h"
X #include "gamestate.h"
X #include "state.h"
X***************
X*** 52,58 ****
X & 'AF','HE','NR','NT','NC','ND','RR','RT','RC','RD',
X & 'TK','EX','AR','AO','AA','AC','AX','AV','D2','DN',
X & 'AN','DM','DT','AH','DP','PD','DZ','AZ'/
X! DATA ldbgcmd/'dr','do','da','dc','dx','dh','dl','dv','df','ds',
X & 'af','he','nr','nt','nc','nd','rr','rt','rc','rd',
X & 'tk','ex','ar','ao','aa','ac','ax','av','d2','dn',
X & 'an','dm','dt','ah','dp','pd','dz','az'/
X--- 52,58 ----
X & 'AF','HE','NR','NT','NC','ND','RR','RT','RC','RD',
X & 'TK','EX','AR','AO','AA','AC','AX','AV','D2','DN',
X & 'AN','DM','DT','AH','DP','PD','DZ','AZ'/
X! DATA ldbgcm/'dr','do','da','dc','dx','dh','dl','dv','df','ds',
X & 'af','he','nr','nt','nc','nd','rr','rt','rc','rd',
X & 'tk','ex','ar','ao','aa','ac','ax','av','d2','dn',
X & 'an','dm','dt','ah','dp','pd','dz','az'/
X***************
X*** 91,97 ****
X IF(CMD.EQ.DBGCMD(I)) GO TO 2300
X C !FOUND?
X C check for lower case command, as well
X! if(cmd .eq. ldbgcmd(i)) go to 2300
X 2100 CONTINUE
X 2200 WRITE(OUTCH,220)
X C !NO, LOSE.
X--- 91,97 ----
X IF(CMD.EQ.DBGCMD(I)) GO TO 2300
X C !FOUND?
X C check for lower case command, as well
X! if(cmd .eq. ldbgcm(i)) go to 2300
X 2100 CONTINUE
X 2200 WRITE(OUTCH,220)
X C !NO, LOSE.
X*** np.F.orig Tue Feb 10 17:25:07 1987
X--- np.F Fri Oct 9 08:57:09 1987
X***************
X*** 43,49 ****
X do 275 j=2,length
X sysbuf(j-1:j-1) = buffer(j)
X 275 continue
X! sysbuf(j:j) = char(0)
X call system(sysbuf)
X go to 5
X
X--- 43,49 ----
X do 275 j=2,length
X sysbuf(j-1:j-1) = buffer(j)
X 275 continue
X! sysbuf(length:length) = char(0)
X call system(sysbuf)
X go to 5
X
X***************
X*** 148,160 ****
X LOGICAL FUNCTION LEX(INBUF,INLNT,OUTBUF,OP,VBFLAG)
X IMPLICIT INTEGER(A-Z)
X CHARACTER INBUF(78),J,DLIMIT(9)
X! INTEGER OUTBUF(40)
X LOGICAL VBFLAG
X #include "parser.h"
X C
X #include "debug.h"
X C
X! DATA DLIMIT/'A','Z',o'100','1','9',o'22','-','-',o'22'/
X C
X DO 100 I=1,40
X C !CLEAR OUTPUT BUF.
X--- 148,170 ----
X LOGICAL FUNCTION LEX(INBUF,INLNT,OUTBUF,OP,VBFLAG)
X IMPLICIT INTEGER(A-Z)
X CHARACTER INBUF(78),J,DLIMIT(9)
X! INTEGER OUTBUF(40),ZLIMIT(9)
X LOGICAL VBFLAG
X #include "parser.h"
X C
X #include "debug.h"
X C
X! c the System V compiler doesn't like octal initialization of character
X! c arrays, so the following is done for its benefit
X! c
X! c DATA DLIMIT/'A','Z',o'100','1','9',o'22','-','-',o'22'/
X! c
X! DATA ZLIMIT/o'101',o'132',o'100',o'61',o'71',o'22',o'55',o'55',o'22'/
X! c
X! do 99 i=1,9
X! dlimit(i) = char(zlimit(i))
X! c ! copy integers to chars
X! 99 continue
X C
X DO 100 I=1,40
X C !CLEAR OUTPUT BUF.
X*** np1.F.orig Mon Feb 9 11:47:32 1987
X--- np1.F Fri Sep 25 16:58:35 1987
X***************
X*** 867,873 ****
X C !GET CURRENT TOKEN.
X LBUF2=LBUF(I+1)
X #ifdef debug
X! write(0,*) 'lbuf1=',lbuf1,' lbuf2=',lbuf2
X #endif
X IF(LBUF1.EQ.0) GO TO 1500
X C !END OF BUFFER?
X--- 867,873 ----
X C !GET CURRENT TOKEN.
X LBUF2=LBUF(I+1)
X #ifdef debug
X! if (dflag) write(0,*) 'lbuf1=',lbuf1,' lbuf2=',lbuf2
X #endif
X IF(LBUF1.EQ.0) GO TO 1500
X C !END OF BUFFER?
X***************
X*** 1023,1031 ****
X C 6000-- UNIDENTIFIABLE OBJECT (INDEX INTO OVOC IS J)
X C
X 6000 IF(OBJ.LT.0) GO TO 6100
X! I=579
X! IF(LIT(HERE)) I=618
X! IF(VBFLAG) CALL RSPEAK(I)
X RETURN
X C
X 6100 IF(OBJ.NE.-10000) GO TO 6200
X--- 1023,1031 ----
X C 6000-- UNIDENTIFIABLE OBJECT (INDEX INTO OVOC IS J)
X C
X 6000 IF(OBJ.LT.0) GO TO 6100
X! J=579
X! IF(LIT(HERE)) J=618
X! IF(VBFLAG) CALL RSPEAK(J)
X RETURN
X C
X 6100 IF(OBJ.NE.-10000) GO TO 6200
X*** np3.F.orig Mon Feb 9 11:48:57 1987
X--- np3.F Fri Sep 25 17:02:57 1987
X***************
X*** 24,30 ****
X SYNMCH=.FALSE.
X #ifdef debug
X DFLAG=and(PRSFLG, 16).NE.0
X! write(0,*) "synflags=",sdir,sind,sstd,sflip,sdriv,svmask
X #endif
X J=ACT
X C !SET UP PTR TO SYNTAX.
X--- 24,30 ----
X SYNMCH=.FALSE.
X #ifdef debug
X DFLAG=and(PRSFLG, 16).NE.0
X! if(dflag) write(0,*) "synflags=",sdir,sind,sstd,sflip,sdriv,svmask
X #endif
X J=ACT
X C !SET UP PTR TO SYNTAX.
X*** rooms.F.orig Mon Feb 2 08:53:37 1987
X--- rooms.F Fri Oct 9 09:00:04 1987
X***************
X*** 130,136 ****
X 4500 IF(PRSA.NE.WALKIW) RETURN
X C !WALKIN?
X IF(and(OFLAG2(DOOR),(OPENBT+TCHBT)).NE.OPENBT) RETURN
X! OFLAG2(DOOR)=and(and(OFLAG2(DOOR),CHBT), not(OPENBT))
X CALL RSPEAK(22)
X C !SLAM AND BOLT DOOR.
X RETURN
X--- 130,136 ----
X 4500 IF(PRSA.NE.WALKIW) RETURN
X C !WALKIN?
X IF(and(OFLAG2(DOOR),(OPENBT+TCHBT)).NE.OPENBT) RETURN
X! OFLAG2(DOOR)=and( or(OFLAG2(DOOR),TCHBT), not(OPENBT))
X CALL RSPEAK(22)
X C !SLAM AND BOLT DOOR.
X RETURN
X*** dinit.F.orig Sat Feb 14 11:00:08 1987
X--- dinit.F Fri Oct 9 16:57:08 1987
X***************
X*** 22,28 ****
X IMPLICIT INTEGER (A-Z)
X #ifndef PDP
X LOGICAL PROTCT
X! INTEGER DATARRY(3)
X #endif PDP
X #include "parser.h"
X #include "gamestate.h"
X--- 22,28 ----
X IMPLICIT INTEGER (A-Z)
X #ifndef PDP
X LOGICAL PROTCT
X! INTEGER DATARR(3)
X #endif PDP
X #include "parser.h"
X #include "gamestate.h"
X***************
X*** 53,58 ****
X--- 53,63 ----
X C INIT, PAGE 2
X C
X #ifndef PDP
X+ #ifdef SYSV
X+ C make output unbuffered
X+ call unbuf
X+ C
X+ #endif
X C FIRST CHECK FOR PROTECTION VIOLATION
X C
X IF(PROTCT(X)) GO TO 10000
X***************
X*** 432,438 ****
X--- 437,448 ----
X C NOW RESTORE FROM EXISTING INDEX FILE.
X C
X OPEN(UNIT=1,file=INDXFILE,status='OLD',
X+ #ifdef XELOS
X+ & FORM='FORMATTED',ACCESS='SEQUENTIAL',ERR=1900,recl=1)
X+ #else
X & FORM='FORMATTED',ACCESS='SEQUENTIAL',ERR=1900)
X+ #endif
X+ rewind(unit=1, err=1900)
X READ(1,130) I,J,K
X C !GET VERSION.
X IF((I.NE.VMAJ).OR.(J.NE.VMIN))
X***************
X*** 441,446 ****
X--- 451,457 ----
X OPEN(UNIT=DBCH,file=TEXTFILE,status='OLD',
X & FORM='UNFORMATTED',ACCESS='DIRECT',
X & recl=76,ERR=1950)
X+ rewind(unit=dbch, err=1950)
X
X #ifdef debug
X PRINT 150
X***************
X*** 474,481 ****
X 1025 CALL ITIME(SHOUR,SMIN,SSEC)
X C !GET TIME AND DATE.
X C CALL IDATE(I,J,K)
X! CALL IDATE(DATARRY(1))
X! CALL INIRND(or(DATARRY(1),or(DATARRY(2),DATARRY(3))),
X & or(SHOUR,or(SMIN,SSEC)))
X C
X WINNER=PLAYER
X--- 485,492 ----
X 1025 CALL ITIME(SHOUR,SMIN,SSEC)
X C !GET TIME AND DATE.
X C CALL IDATE(I,J,K)
X! CALL IDATE(DATARR(1))
X! CALL INIRND(or(DATARR(1),or(DATARR(2),DATARR(3))),
X & or(SHOUR,or(SMIN,SSEC)))
X C
X WINNER=PLAYER
X*** dverb2.F.orig Thu Sep 17 13:09:07 1987
X--- dverb2.F Fri Oct 9 16:58:15 1987
X***************
X*** 82,87 ****
X--- 82,88 ----
X #else
X OPEN (UNIT=1,file='dsave.dat',ACCESS='SEQUENTIAL',
X & status='UNKNOWN',FORM='UNFORMATTED',ERR=100)
X+ rewind (unit=1, err=100)
X C
X CALL GTTIME(I)
X C !GET TIME.
X***************
X*** 186,192 ****
X--- 187,198 ----
X RETURN
X #else
X OPEN (UNIT=1,file='dsave.dat',ACCESS='SEQUENTIAL',
X+ #ifdef XELOS
X+ & status='OLD',FORM='UNFORMATTED',ERR=100,recl=1)
X+ #else
X & status='OLD',FORM='UNFORMATTED',ERR=100)
X+ #endif
X+ rewind (unit=1, err=100)
X C
X READ(1) I,J,K
X IF(or((I.NE.VMAJ),(J.NE.VMIN))) GO TO 200
END_OF_dungeon.pch
if test 12478 -ne `wc -c <dungeon.pch`; then
echo shar: \"dungeon.pch\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0