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