From mipos3!omepd!littlei!uunet!husc6!mit-eddie!uw-beaver!tektronix!tekgen!tekred!games-request Wed Dec 2 12:30:36 PST 1987 Article 120 of comp.sources.games: Path: td2cad!mipos3!omepd!littlei!uunet!husc6!mit-eddie!uw-beaver!tektronix!tekgen!tekred!games-request From: games-request@tekred.TEK.COM Newsgroups: comp.sources.games Subject: v02i100: dungeon - game of adventure, Patch3 Message-ID: <1883@tekred.TEK.COM> Date: 1 Dec 87 20:19:34 GMT Sender: billr@tekred.TEK.COM Lines: 1966 Approved: billr@tekred.TEK.COM Submitted by: Bill Randle Comp.sources.games: Volume 2, Issue 100 Archive-name: dungeon/Patch3 [This contains some mostly cosmetic changes, along with a couple of real bug fixes. Thanks to Janet Walz (walz@mimsy.umd.edu), Jim Hague (jmh@ukc.ac.uk) and (play@cwi.nl) for these fixes. See the README.pch3 file for details. -br] #! /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 README.pch3 <<'END_OF_README.pch3' XThe patches do the following: X1. Define a new flag: NOCC. If compiled with -DNOCC formats X without carriage control characters are use; also the $ X format is not used. X2. All doors have the doorbit. X3. Ending with ^D is more graceful now. X4. Correcting some bugs: DEBUG in stead of DFLAG in one file. X5. A number of bugs in the data 3RHOU,2RRS instead of 3RHOU,1RS X (original only) and a PILE is also the pile of leaves. X6. Fix some minor bugs/typos affecting the PDP version X7. Change P1 & P2 in sverbs.F to PP1 & PP2 to avoid conflict with X parser.h global variables. X8. Makes VERBOSE work all of the time. X9. Puts PATCHLEVEL to 3 and edit level to 'C'. X10. Allows compilation with 4.3BSD on the tahoe. X Xad 1. X Output is nicer, especially for commands like score etc. Xad 2. X Enter game and try 'knock on door'. Xad 3. X Just try. Xad 7. X Some linkers complain about re-defining the variables. Xad 8. X Previously when in VERBOSE mode you only get verbose replys X about 20% of the time. Xad 10. X 4.3BSD f77 on tahoe does not like data initialisations with X octal constants (they are compiled, but wrong). X XThe lot goes in one sharchive; it contains 4 files: X README.pch3 this file X Patches03 does 1 to 9; suitable for patch X Fix.tahoe to be used before compilation on tahoe X Unfix.tahoe undoes the work of Fix.tahoe X no.octals auxiliary file for Fix.tahoe X END_OF_README.pch3 if test 1377 -ne `wc -c Patches03 <<'END_OF_Patches03' X*** patchlvl.h.orig Fri Oct 9 16:15:46 1987 X--- patchlvl.h Tue Dec 1 09:29:16 1987 X*************** X*** 1 **** X! #define PATCHLEVEL 2 X--- 1 ---- X! #define PATCHLEVEL 3 X*** vocab.h.orig Mon Feb 2 08:52:50 1987 X--- vocab.h Tue Dec 1 09:29:33 1987 X*************** X*** 11,17 **** X & VVOC3(136), X & VVOC4(116),VVOC5(134),VVOC6(117),VVOC7(89),VVOCND X INTEGER OVOC(1050) X! COMMON /OBJVOC/ OVOC1(159),OVOC2(144),OVOC3(150),OVOC4(128), X & OVOC5(111),OVOC6(104),OVOC6A(97),OVOC7(127),OVOCND X C X EQUIVALENCE (VVOC(1),VVOC1(1)) X--- 11,17 ---- X & VVOC3(136), X & VVOC4(116),VVOC5(134),VVOC6(117),VVOC7(89),VVOCND X INTEGER OVOC(1050) X! COMMON /OBJVOC/ OVOC1(160),OVOC2(144),OVOC3(150),OVOC4(128), X & OVOC5(111),OVOC6(104),OVOC6A(97),OVOC7(127),OVOCND X C X EQUIVALENCE (VVOC(1),VVOC1(1)) X*** Makefile.bsd.orig Fri Oct 9 16:46:56 1987 X--- Makefile.bsd Tue Dec 1 09:27:03 1987 X*************** X*** 25,31 **** 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 X! FFLAGS = -O $(FOPTS) X X # flags for the loader X LDFLAGS = # -s -g -v X--- 25,32 ---- 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 X! # use -DNOCC if system does not react on carriage control (e.g. Unix) X! FFLAGS = -O -DNOCC $(FOPTS) X X # flags for the loader X LDFLAGS = # -s -g -v X*** Makefile.sun.orig Fri Oct 9 16:47:02 1987 X--- Makefile.sun Tue Dec 1 09:27:05 1987 X*************** X*** 25,31 **** 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 X! FFLAGS = -O $(FOPTS) X X # flags for the loader X LDFLAGS = # -s -g -v X--- 25,32 ---- 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 X! # use -DNOCC if system does not react on carriage control (e.g. Unix) X! FFLAGS = -O -DNOCC $(FOPTS) X X # flags for the loader X LDFLAGS = # -s -g -v X*** Makefile.sysv.orig Fri Oct 9 16:55:53 1987 X--- Makefile.sysv Tue Dec 1 12:14:13 1987 X*************** X*** 17,31 **** X # define SYSV if running System V or V7 X # define SYSV *and* XELOS if running the XELOS OS X CFLAGS = -O -DSYSV # -DXELOS -g -i X! CPPFLAGS = -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) 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 X FFLAGS = -O $(FOPTS) X X # flags for the loader X--- 17,32 ---- X # define SYSV if running System V or V7 X # define SYSV *and* XELOS if running the XELOS OS X CFLAGS = -O -DSYSV # -DXELOS -g -i X! # use -DNOCC if system does not react on carriage control (e.g. Unix) X! CPPFLAGS = -P -DNOCC -DSYSV # -DXELOS -Ddebug 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, no -g flag (causes runtime errors) X! FOPTS = -q -Nn650 X # f77 compiler flags for pdp (64K split I/D) X! #FOPTS = -q -I2 -L1 -i -DPDP # -Ddebug X FFLAGS = -O $(FOPTS) X X # flags for the loader X*** lex.c.orig Mon Nov 23 13:34:14 1981 X--- lex.c Wed Oct 21 13:58:10 1987 X*************** X*** 39,45 **** X else if ((j >= 'A') && (j <= 'Z')) X j -= '@'; X else if (((j >= '1') && (j <= '9')) || (j == '-')) X! j -= 0x0c; /* formfeed */ X else { X if (*vbflag) X rspeak_(&num601); X--- 39,45 ---- X else if ((j >= 'A') && (j <= 'Z')) X j -= '@'; X else if (((j >= '1') && (j <= '9')) || (j == '-')) X! j -= 0x12; X else { X if (*vbflag) X rspeak_(&num601); X*** actors.F.orig Mon Feb 9 11:51:02 1987 X--- actors.F Tue Dec 1 09:27:18 1987 X*************** X*** 149,155 **** X--- 149,159 ---- X C X #ifdef debug X IF(DFLAG) PRINT 10 X+ #ifdef NOCC X+ 10 FORMAT('THIEFD-- IN TREASURE ROOM') X+ #else NOCC X 10 FORMAT(' THIEFD-- IN TREASURE ROOM') X+ #endif X #endif debug X IF(RHERE.EQ.0) GO TO 1050 X C !VISIBLE? X*************** X*** 169,175 **** X--- 173,183 ---- X IF(and(RFLAG(THFPOS),RLIGHT).NE.0) GO TO 1400 X #ifdef debug X IF(DFLAG) PRINT 20 X+ #ifdef NOCC X+ 20 FORMAT('THIEFD-- IN ADV ROOM') X+ #else NOCC X 20 FORMAT(' THIEFD-- IN ADV ROOM') X+ #endif NOCC X #endif debug X IF(THFFLG) GO TO 1300 X C !THIEF ANNOUNCED? X*************** X*** 231,237 **** X--- 239,249 ---- X RHERE=0 X #ifdef debug X IF(DFLAG) PRINT 30,THFPOS X+ #ifdef NOCC X+ 30 FORMAT('THIEFD-- IN ROOM ',I4) X+ #else NOCC X 30 FORMAT(' THIEFD-- IN ROOM ',I4) X+ #endif NOCC X #endif debug X IF(QSTILL(THFPOS)) X & CALL NEWSTA(STILL,0,0,THIEF,0) X*** demons.F.orig Fri Oct 9 15:42:21 1987 X--- demons.F Tue Dec 1 09:27:25 1987 X*************** X*** 181,188 **** 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 C !HERO STRIKING BLOW? X--- 181,192 ---- X BLOW=RMISS X C !ASSUME NO RESULT. X #ifdef debug X! IF(DFLAG) PRINT 10,H,V,RMK,HFLG,OUT X! #ifdef NOCC X! 10 FORMAT('BLOW 10-- ',3I7,L7,I7) X! #else NOCC X 10 FORMAT(' BLOW 10-- ',3I7,L7,I7) X+ #endif NOCC X #endif debug X IF(.NOT.HFLG) GO TO 1000 X C !HERO STRIKING BLOW? X*************** X*** 250,257 **** 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 C !DEF ALIVE? X--- 254,265 ---- X C X 2000 CONTINUE X #ifdef debug X! IF(DFLAG) PRINT 2050,ATT,OA,DEF,OD,DWEAP X! #ifdef NOCC X! 2050 FORMAT('BLOW 2050-- ',5I7) X! #else NOCC X 2050 FORMAT(' BLOW 2050-- ',5I7) X+ #endif NOCC X #endif debug X IF(DEF.GT.0) GO TO 2100 X C !DEF ALIVE? X*************** X*** 299,306 **** 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 C !PRESENT RESULT. X--- 307,318 ---- X J=DV X IF(.NOT.HFLG .AND.(DWEAP.NE.0)) J=ODESC2(DWEAP) X #ifdef debug X! IF(DFLAG) PRINT 2650,RES,MI,I,J,MBASE X! #ifdef NOCC X! 2650 FORMAT('BLOW 2650-- ',5I7) X! #else NOCC X 2650 FORMAT(' BLOW 2650-- ',5I7) X+ #endif NOCC X #endif debug X CALL RSPSUB(I,J) X C !PRESENT RESULT. X*** dgame.F.orig Tue Dec 1 10:29:46 1987 X--- dgame.F Tue Dec 1 10:42:07 1987 X*************** X*** 115,124 **** X C !VALID EXIT? X C X #ifdef PDP X! 1400 call outstr(INLINE, INLNT) X #else X 1400 WRITE(OUTCH,1410) (INBUF(J),J=1,INLNT) X 1410 FORMAT(1X,78A1) X #endif PDP X TELFLG=.TRUE. X C !INDICATE OUTPUT. X--- 115,128 ---- X C !VALID EXIT? X C X #ifdef PDP X! 1400 call outstr(INBUF, INLNT) X #else X 1400 WRITE(OUTCH,1410) (INBUF(J),J=1,INLNT) X+ #ifdef NOCC X+ 1410 FORMAT(78A1) X+ #else NOCC X 1410 FORMAT(1X,78A1) X+ #endif NOCC X #endif PDP X TELFLG=.TRUE. X C !INDICATE OUTPUT. X*** dinit.F.orig Tue Dec 1 10:30:42 1987 X--- dinit.F Tue Dec 1 10:42:07 1987 X*************** X*** 63,68 **** X--- 63,80 ---- X IF(PROTCT(X)) GO TO 10000 X C !PROTECTION VIOLATION? X PRINT 10100 X+ #ifdef NOCC X+ 10100 FORMAT('There appears before you a threatening figure clad ' X+ & 'all over'/'in heavy black armor. His legs seem like the ' X+ & 'massive trunk'/'of the oak tree. His broad shoulders and ' X+ & 'helmeted head loom'/'high over your own puny frame, and ' X+ & 'you realize that his powerful'/'arms could easily crush the ' X+ & 'very life from your body. There'/'hangs from his belt a ' X+ & 'veritable arsenal of deadly weapons:'/'sword, mace, ball ' X+ & 'and chain, dagger, lance, and trident.'/'He speaks with a ' X+ & 'commanding voice:'//20X,'"You shall not pass."'//'As ' X+ & 'he grabs you by the neck all grows dim about you.') X+ #else NOCC X 10100 FORMAT(' There appears before you a threatening figure clad ' X & 'all over'/' in heavy black armor. His legs seem like the ' X & 'massive trunk'/' of the oak tree. His broad shoulders and ' X*************** X*** 73,78 **** X--- 85,91 ---- X & 'and chain, dagger, lance, and trident.'/' He speaks with a ' X & 'commanding voice:'//20X,'"You shall not pass."'//' As ' X & 'he grabs you by the neck all grows dim about you.') X+ #endif NOCC X CALL EXIT X #endif PDP X C X*************** X*** 184,191 **** X call aryrd(220,OREAD) X C X call intrd(R2LNT) X! call aryrd(20,O2) X! call aryrd(20,R2) X C X call intrd(CLNT) X call aryrd(25,CTICK) X--- 197,204 ---- X call aryrd(220,OREAD) X C X call intrd(R2LNT) X! call aryrd(20,OROOM2) X! call aryrd(20,RROOM2) X C X call intrd(CLNT) X call aryrd(25,CTICK) X*************** X*** 455,461 **** X--- 468,478 ---- X X #ifdef debug X PRINT 150 X+ #ifdef NOCC X+ 150 FORMAT('RESTORING FROM "dindx.dat"') X+ #else NOCC X 150 FORMAT(' RESTORING FROM "dindx.dat"') X+ #endif NOCC X #endif debug X READ(1,130) MXSCOR,STRBIT,EGMXSC X READ(1,130) RLNT,RDESC2,RDESC1,REXIT,RACTIO,RVAL,RFLAG X*************** X*** 499,504 **** X--- 516,531 ---- X #ifdef debug X PRINT 1050,RLNT,RMAX,XLNT,XMAX,OLNT,OMAX,MLNT,MMAX, X & VLNT,VMAX,ALNT,AMAX,CLNT,CMAX,R2LNT,R2MAX X+ #ifdef NOCC X+ 1050 FORMAT('USED:'/I5,' OF',I5,' ROOMS'/ X+ & I5,' OF',I5,' EXITS'/ X+ & I5,' OF',I5,' OBJECTS'/ X+ & I5,' OF',I5,' MESSAGES'/ X+ & I5,' OF',I5,' VILLAINS'/ X+ & I5,' OF',I5,' ADVENTURERS'/ X+ & I5,' OF',I5,' CLOCK EVENTS'/ X+ & I5,' OF',I5,' ROOM2 SLOTS') X+ #else NOCC X 1050 FORMAT(' USED:'/1X,I5,' OF',I5,' ROOMS'/ X & 1X,I5,' OF',I5,' EXITS'/ X & 1X,I5,' OF',I5,' OBJECTS'/ X*************** X*** 507,516 **** X--- 534,550 ---- X & 1X,I5,' OF',I5,' ADVENTURERS'/ X & 1X,I5,' OF',I5,' CLOCK EVENTS'/ X & 1X,I5,' OF',I5,' ROOM2 SLOTS') X+ #endif NOCC X PRINT 1150,MXSCOR,EGMXSC,RECNO,RDESC2,MBASE,STRBIT X+ #ifdef NOCC X+ 1150 FORMAT('MAX SCORE=',I5/'EG SCORE=',I5/ X+ & 'MAX RECNO=',I5/'RDESC2 BASE=',I5/ X+ & 'MELEE START=',I5/'STAR MASK=',I7) X+ #else NOCC X 1150 FORMAT(' MAX SCORE=',I5/' EG SCORE=',I5/ X & ' MAX RECNO=',I5/' RDESC2 BASE=',I5/ X & ' MELEE START=',I5/' STAR MASK=',I7) X+ #endif NOCC X PAUSE 1 X #endif debug X C X*************** X*** 528,533 **** X--- 562,581 ---- X 1950 PRINT 960 X PRINT 980 X RETURN X+ #ifdef NOCC X+ 910 FORMAT('I can''t open ',INDXFILE,'.') X+ 920 FORMAT('"dindx.dat" is version ',I1,'.',I1,A1,'.'/ X+ & 'I require version ',I1,'.',I1,A1,'.') X+ 960 FORMAT('I can''t open ',TEXTFILE,'.') X+ 980 FORMAT('Suddenly a sinister, wraithlike figure appears before ' X+ & 'you,'/'seeming to float in the air. In a low, sorrowful voice' X+ & ' he says,'/'"Alas, the very nature of the world has changed, ' X+ & 'and the dungeon'/'cannot be found. All must now pass away."' X+ & ' Raising his oaken staff'/'in farewell, he fades into the ' X+ & 'spreading darkness. In his place'/'appears a tastefully ' X+ & 'lettered sign reading:'//23X,'INITIALIZATION FAILURE'// X+ & 'The darkness becomes all encompassing, and your vision fails.') X+ #else NOCC X 910 FORMAT(' I can''t open ',INDXFILE,'.') X 920 FORMAT(' "dindx.dat" is version ',I1,'.',I1,A1,'.'/ X & ' I require version ',I1,'.',I1,A1,'.') X*************** X*** 540,545 **** X--- 588,594 ---- X & 'spreading darkness. In his place'/' appears a tastefully ' X & 'lettered sign reading:'//23X,'INITIALIZATION FAILURE'// X & ' The darkness becomes all encompassing, and your vision fails.') X+ #endif NOCC X C X END X C PROTCT-- CHECK FOR USER VIOLATION X*** dmain.F.orig Thu Sep 17 14:46:53 1987 X--- dmain.F Tue Dec 1 10:50:01 1987 X*************** 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--- 45,51 ---- X C X C DATA STATEMENTS FOR CONSTANT ARRAYS X C X! DATA VMAJ/2/,VMIN/6/,VEDIT/'C'/ X C X DATA SDIR/o'40000'/,SIND/o'20000'/,SSTD/o'10000'/, X & SFLIP/o'4000'/,SDRIV/o'2000'/,SVMASK/o'777'/ X*** dso2.F.orig Fri Feb 6 10:50:13 1987 X--- dso2.F Tue Dec 1 10:15:32 1987 X*************** X*** 93,102 **** X--- 93,109 ---- X #ifdef PDP X call pscore(AS,MXSCOR,MOVES) X #else X+ #ifdef NOCC X+ IF(FLG.AND.MOVES.NE.1) WRITE(OUTCH,100) AS,MXSCOR,MOVES X+ IF(FLG.AND.MOVES.EQ.1) WRITE(OUTCH,120) AS,MXSCOR,MOVES X+ IF(.NOT.FLG.AND.MOVES.NE.1) WRITE(OUTCH,110) AS,MXSCOR,MOVES X+ IF(.NOT.FLG.AND.MOVES.EQ.1) WRITE(OUTCH,130) AS,MXSCOR,MOVES X+ #else NOCC X IF(FLG) WRITE(OUTCH,100) X IF(.NOT.FLG) WRITE(OUTCH,110) X IF(MOVES.NE.1) WRITE(OUTCH,120) AS,MXSCOR,MOVES X IF(MOVES.EQ.1) WRITE(OUTCH,130) AS,MXSCOR,MOVES X+ #endif NOCC X #endif PDP X C X DO 10 I=1,10 X*************** X*** 109,117 **** X--- 116,129 ---- X 60 continue X call pscore(EGSCOR,EGMXSC,MOVES) X #else X+ #ifdef NOCC X+ 60 IF(FLG) WRITE(OUTCH,140) EGSCOR,EGMXSC,MOVES X+ IF(.NOT.FLG) WRITE(OUTCH,150) EGSCOR,EGMXSC,MOVES X+ #else NOCC X 60 IF(FLG) WRITE(OUTCH,140) X IF(.NOT.FLG) WRITE(OUTCH,150) X WRITE(OUTCH,120) EGSCOR,EGMXSC,MOVES X+ #endif NOCC X #endif PDP X DO 70 I=1,5 X IF((EGSCOR*20/EGMXSC).GE.ERANK(I)) GO TO 80 X*************** X*** 120,125 **** X--- 132,151 ---- X RETURN X X #ifndef PDP X+ #ifdef NOCC X+ 100 FORMAT('Your score would be',I4,' [total of',I4,' points], in', X+ & I5,' moves.') X+ 110 FORMAT('Your score is',I4,' [total of',I4,' points], in', X+ & I5,' moves.') X+ 120 FORMAT('Your score would be',I4,' [total of',I4,' points], in', X+ & I5,' move.') X+ 130 FORMAT('Your score is',I4,' [total of',I4,' points], in', X+ & I5,' move.') X+ 140 FORMAT('Your score in the endgame would be',I4,' [total of', X+ & I4,' points], in',I5,' moves.') X+ 150 FORMAT('Your score in the endgame is',I4,' [total of', X+ & I4,' points], in',I5,' moves.') X+ #else NOCC X 100 FORMAT(' Your score would be',$) X 110 FORMAT(' Your score is',$) X 120 FORMAT('+',I4,' [total of',I4,' points], in',I5,' moves.') X*************** X*** 126,131 **** X--- 152,158 ---- X 130 FORMAT('+',I4,' [total of',I4,' points], in',I5,' move.') X 140 FORMAT(' Your score in the endgame would be',$) X 150 FORMAT(' Your score in the endgame is',$) X+ #endif NOCC X #endif PDP X C X END X*** dsub.F.orig Tue Dec 1 10:39:06 1987 X--- dsub.F Tue Dec 1 12:02:48 1987 X*************** X*** 96,102 **** X--- 96,106 ---- X 500 CONTINUE X C X 600 WRITE(OUTCH,650) (B1(J:J),J=1,I) X+ #ifdef NOCC X+ 650 FORMAT(74A1) X+ #else NOCC X 650 FORMAT(1X,74A1) X+ #endif NOCC X X=X+1 X C !ON TO NEXT RECORD. X READ(UNIT=DBCH,REC=X) NEWREC,B1 X*************** X*** 208,214 **** X--- 212,222 ---- X IF(DBGFLG.NE.0) RETURN X CALL EXIT X C X+ #ifdef NOCC X+ 100 FORMAT('PROGRAM ERROR ',I2,', PARAMETER=',I6) X+ #else NOCC X 100 FORMAT(' PROGRAM ERROR ',I2,', PARAMETER=',I6) X+ #endif NOCC X END X #endif PDP X C NEWSTA-- SET NEW STATUS FOR OBJECT X*************** X*** 438,444 **** X C DECLARATIONS X C X IMPLICIT INTEGER (A-Z) X! LOGICAL PROB,LIT,RAPPLI X #include "parser.h" X #include "gamestate.h" X #include "screen.h" X--- 446,453 ---- X C DECLARATIONS X C X IMPLICIT INTEGER (A-Z) X! LOGICAL LIT,RAPPLI X! C LOGICAL PROB X #include "parser.h" X #include "gamestate.h" X #include "screen.h" X*************** X*** 482,488 **** X C !ASSUME SHORT DESC. X IF((FULL.EQ.0) X & .AND.(SUPERF.OR.(((and(RFLAG(HERE),RSEEN)).NE.0) X! & .AND.(BRIEFF.OR.PROB(80,80))))) GO TO 400 X I=RDESC1(HERE) X C !USE LONG. X IF((I.NE.0).OR.(RA.EQ.0)) GO TO 400 X--- 491,504 ---- X C !ASSUME SHORT DESC. X IF((FULL.EQ.0) X & .AND.(SUPERF.OR.(((and(RFLAG(HERE),RSEEN)).NE.0) X! C X! C The next line means that when you request VERBOSE mode, you X! C only get long room descriptions 20% of the time. I don't either X! C like or understand this, so the mod. ensures VERBOSE works X! C all the time. jmh@ukc.ac.uk 22/10/87 X! C X! C& .AND.(BRIEFF.OR.PROB(80,80))))) GO TO 400 X! & .AND.BRIEFF))) GO TO 400 X I=RDESC1(HERE) X C !USE LONG. X IF((I.NE.0).OR.(RA.EQ.0)) GO TO 400 X*** gdt.F.orig Thu Sep 17 13:43:17 1987 X--- gdt.F Tue Dec 1 09:28:39 1987 X*************** X*** 75,81 **** X--- 75,85 ---- X RETURN X C !BOOT HIM OFF X C X+ #ifdef NOCC X+ 100 FORMAT('You are not an authorized user.') X+ #else NOCC X 100 FORMAT(' You are not an authorized user.') X+ #endif NOCC X c GDT, PAGE 2A X C X C HERE TO GET NEXT COMMAND X*************** X*** 97,110 **** X--- 101,128 ---- X C !NO, LOSE. X GO TO 2000 X C X+ #ifdef NOCC X+ 200 FORMAT('GDT>',$) X+ #else NOCC X 200 FORMAT(' GDT>',$) X+ #endif NOCC X 210 FORMAT(A2) X+ #ifdef NOCC X+ 220 FORMAT('?') X+ #else NOCC X 220 FORMAT(' ?') X+ #endif NOCC X 230 FORMAT(2I6) X 240 FORMAT(I6) X+ #ifdef NOCC X+ 225 FORMAT('Limits: ',$) X+ 235 FORMAT('Entry: ',$) X+ 245 FORMAT('Idx,Ary: ',$) X+ #else NOCC X 225 FORMAT(' Limits: ',$) X 235 FORMAT(' Entry: ',$) X 245 FORMAT(' Idx,Ary: ',$) X+ #endif NOCC X c X 2300 GO TO (2400,2500,2600,2700),ARGTYP(I)+1 X C !BRANCH ON ARG TYPE. X*************** X*** 144,151 **** X--- 162,174 ---- X 10100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 300 FORMAT('RM# DESC1 EXITS ACTION VALUE FLAGS') X+ 310 FORMAT(I3,4(1X,I6),1X,I6) X+ #else NOCC X 300 FORMAT(' RM# DESC1 EXITS ACTION VALUE FLAGS') X 310 FORMAT(1X,I3,4(1X,I6),1X,I6) X+ #endif NOCC X C X C DO-- DISPLAY OBJECTS X C X*************** X*** 158,166 **** X--- 181,195 ---- X 11100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 320 FORMAT('OB# DESC1 DESC2 DESCO ACT FLAGS1 FLAGS2 FVL TVL X+ & SIZE CAPAC ROOM ADV CON READ') X+ 330 FORMAT(I3,3I6,I4,2I7,2I4,2I6,1X,3I4,I6) X+ #else NOCC X 320 FORMAT(' OB# DESC1 DESC2 DESCO ACT FLAGS1 FLAGS2 FVL TVL X & SIZE CAPAC ROOM ADV CON READ') X 330 FORMAT(1X,I3,3I6,I4,2I7,2I4,2I6,1X,3I4,I6) X+ #endif NOCC X C X C DA-- DISPLAY ADVENTURERS X C X*************** X*** 172,179 **** X--- 201,213 ---- X 12100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 340 FORMAT('AD# ROOM SCORE VEHIC OBJECT ACTION STREN FLAGS') X+ 350 FORMAT(I3,6(1X,I6),1X,I6) X+ #else NOCC X 340 FORMAT(' AD# ROOM SCORE VEHIC OBJECT ACTION STREN FLAGS') X 350 FORMAT(1X,I3,6(1X,I6),1X,I6) X+ #endif NOCC X C X C DC-- DISPLAY CLOCK EVENTS X C X*************** X*** 185,192 **** X--- 219,231 ---- X 13100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 360 FORMAT('CL# TICK ACTION FLAG') X+ 370 FORMAT(I3,1X,I6,1X,I6,5X,L1) X+ #else NOCC X 360 FORMAT(' CL# TICK ACTION FLAG') X 370 FORMAT(1X,I3,1X,I6,1X,I6,5X,L1) X+ #endif NOCC X C X C DX-- DISPLAY EXITS X C X*************** X*** 202,209 **** X--- 241,253 ---- X 14100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 380 FORMAT(' RANGE CONTENTS') X+ 390 FORMAT(I3,'-',I3,3X,10I7) X+ #else NOCC X 380 FORMAT(' RANGE CONTENTS') X 390 FORMAT(1X,I3,'-',I3,3X,10I7) X+ #endif NOCC X C X C DH-- DISPLAY HACKS X C X*************** X*** 210,217 **** X--- 254,266 ---- X 15000 WRITE(OUTCH,400) THFPOS,THFFLG,THFACT,SWDACT,SWDSTA X GO TO 2000 X C X+ #ifdef NOCC X+ 400 FORMAT('THFPOS=',I6,', THFFLG=',L2,',THFACT=',L2/ X+ & ' SWDACT=',L2,', SWDSTA=',I2) X+ #else NOCC X 400 FORMAT(' THFPOS=',I6,', THFFLG=',L2,',THFACT=',L2/ X & ' SWDACT=',L2,', SWDSTA=',I2) X+ #endif NOCC X C X C DL-- DISPLAY LENGTHS X C X*************** X*** 219,227 **** X--- 268,282 ---- X & MBASE,STRBIT X GO TO 2000 X C X+ #ifdef NOCC X+ 410 FORMAT('R=',I6,', X=',I6,', O=',I6,', C=',I6/ X+ & 'V=',I6,', A=',I6,', M=',I6,', R2=',I5/ X+ & 'MBASE=',I6,', STRBIT=',I6) X+ #else NOCC X 410 FORMAT(' R=',I6,', X=',I6,', O=',I6,', C=',I6/ X & ' V=',I6,', A=',I6,', M=',I6,', R2=',I5/ X & ' MBASE=',I6,', STRBIT=',I6) X+ #endif NOCC X C X C DV-- DISPLAY VILLAINS X C X*************** X*** 234,241 **** X--- 289,301 ---- X 17100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 420 FORMAT('VL# OBJECT PROB OPPS BEST MELEE') X+ 430 FORMAT(I3,5(1X,I6)) X+ #else NOCC X 420 FORMAT(' VL# OBJECT PROB OPPS BEST MELEE') X 430 FORMAT(1X,I3,5(1X,I6)) X+ #endif NOCC X C X C DF-- DISPLAY FLAGS X C X*************** X*** 246,252 **** X--- 306,316 ---- X 18100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 440 FORMAT('Flag #',I2,' = ',L1) X+ #else NOCC X 440 FORMAT(' Flag #',I2,' = ',L1) X+ #endif NOCC X C X C DS-- DISPLAY STATE X C X*************** X*** 257,266 **** X--- 321,337 ---- X WRITE(OUTCH,475) FROMDR,SCOLRM,SCOLAC X GO TO 2000 X C X+ #ifdef NOCC X+ 450 FORMAT('Parse vector=',3(1X,I6),1X,L6,1X,I6) X+ 460 FORMAT('Play vector= ',2(1X,I6),1X,L6) X+ 470 FORMAT('State vector=',9(1X,I6)/14X,2(1X,I6)) X+ 475 FORMAT('Scol vector= ',1X,I6,2(1X,I6)) X+ #else NOCC X 450 FORMAT(' Parse vector=',3(1X,I6),1X,L6,1X,I6) X 460 FORMAT(' Play vector= ',2(1X,I6),1X,L6) X 470 FORMAT(' State vector=',9(1X,I6)/14X,2(1X,I6)) X 475 FORMAT(' Scol vector= ',1X,I6,2(1X,I6)) X+ #endif NOCC X C GDT, PAGE 4 X C X C AF-- ALTER FLAGS X*************** X*** 272,278 **** X--- 343,353 ---- X READ(INPCH,490) FLAGS(J) X GO TO 2000 X C X+ #ifdef NOCC X+ 480 FORMAT('Old=',L2,6X,'New= ',$) X+ #else NOCC X 480 FORMAT(' Old=',L2,6X,'New= ',$) X+ #endif NOCC X 490 FORMAT(L1) X C X C 21000-- HELP X*************** X*** 280,285 **** X--- 355,378 ---- X 21000 WRITE(OUTCH,900) X GO TO 2000 X C X+ #ifdef NOCC X+ 900 FORMAT('Valid commands are:'/'AA- Alter ADVS'/ X+ & 'AC- Alter CEVENT'/'AF- Alter FINDEX'/'AH- Alter HERE'/ X+ & 'AN- Alter switches'/'AO- Alter OBJCTS'/'AR- Alter ROOMS'/ X+ & 'AV- Alter VILLS'/'AX- Alter EXITS'/ X+ & 'AZ- Alter PUZZLE'/'DA- Display ADVS'/ X+ & 'DC- Display CEVENT'/'DF- Display FINDEX'/'DH- Display HACKS'/ X+ & 'DL- Display lengths'/'DM- Display RTEXT'/ X+ & 'DN- Display switches'/ X+ & 'DO- Display OBJCTS'/'DP- Display parser'/ X+ & 'DR- Display ROOMS'/'DS- Display state'/'DT- Display text'/ X+ & 'DV- Display VILLS'/'DX- Display EXITS'/'DZ- Display PUZZLE'/ X+ & 'D2- Display ROOM2'/'EX- Exit'/'HE- Type this message'/ X+ & 'NC- No cyclops'/'ND- No deaths'/'NR- No robber'/ X+ & 'NT- No troll'/'PD- Program detail'/ X+ & 'RC- Restore cyclops'/'RD- Restore deaths'/ X+ & 'RR- Restore robber'/'RT- Restore troll'/'TK- Take.') X+ #else NOCC X 900 FORMAT(' Valid commands are:'/' AA- Alter ADVS'/ X & ' AC- Alter CEVENT'/' AF- Alter FINDEX'/' AH- Alter HERE'/ X & ' AN- Alter switches'/' AO- Alter OBJCTS'/' AR- Alter ROOMS'/ X*************** X*** 296,301 **** X--- 389,395 ---- X & ' NT- No troll'/' PD- Program detail'/ X & ' RC- Restore cyclops'/' RD- Restore deaths'/ X & ' RR- Restore robber'/' RT- Restore troll'/' TK- Take.') X+ #endif NOCC X C X C NR-- NO ROBBER X C X*************** X*** 307,313 **** X--- 401,411 ---- X WRITE(OUTCH,500) X GO TO 2000 X C X+ #ifdef NOCC X+ 500 FORMAT('No robber.') X+ #else NOCC X 500 FORMAT(' No robber.') X+ #endif NOCC X C X C NT-- NO TROLL X C X*************** X*** 316,322 **** X--- 414,424 ---- X WRITE(OUTCH,510) X GO TO 2000 X C X+ #ifdef NOCC X+ 510 FORMAT('No troll.') X+ #else NOCC X 510 FORMAT(' No troll.') X+ #endif NOCC X C X C NC-- NO CYCLOPS X C X*************** X*** 325,331 **** X--- 427,437 ---- X WRITE(OUTCH,520) X GO TO 2000 X C X+ #ifdef NOCC X+ 520 FORMAT('No cyclops.') X+ #else NOCC X 520 FORMAT(' No cyclops.') X+ #endif NOCC X C X C ND-- IMMORTALITY MODE X C X*************** X*** 333,339 **** X--- 439,449 ---- X WRITE(OUTCH,530) X GO TO 2000 X C X+ #ifdef NOCC X+ 530 FORMAT('No deaths.') X+ #else NOCC X 530 FORMAT(' No deaths.') X+ #endif NOCC X C X C RR-- RESTORE ROBBER X C X*************** X*** 341,347 **** X--- 451,461 ---- X WRITE(OUTCH,540) X GO TO 2000 X C X+ #ifdef NOCC X+ 540 FORMAT('Restored robber.') X+ #else NOCC X 540 FORMAT(' Restored robber.') X+ #endif NOCC X C X C RT-- RESTORE TROLL X C X*************** X*** 350,356 **** X--- 464,474 ---- X WRITE(OUTCH,550) X GO TO 2000 X C X+ #ifdef NOCC X+ 550 FORMAT('Restored troll.') X+ #else NOCC X 550 FORMAT(' Restored troll.') X+ #endif NOCC X C X C RC-- RESTORE CYCLOPS X C X*************** X*** 360,366 **** X--- 478,488 ---- X WRITE(OUTCH,560) X GO TO 2000 X C X+ #ifdef NOCC X+ 560 FORMAT('Restored cyclops.') X+ #else NOCC X 560 FORMAT(' Restored cyclops.') X+ #endif NOCC X C X C RD-- MORTAL MODE X C X*************** X*** 368,374 **** X--- 490,500 ---- X WRITE(OUTCH,570) X GO TO 2000 X C X+ #ifdef NOCC X+ 570 FORMAT('Restored deaths.') X+ #else NOCC X 570 FORMAT(' Restored deaths.') X+ #endif NOCC X C GDT, PAGE 5 X C X C TK-- TAKE X*************** X*** 381,387 **** X--- 507,517 ---- X C !TELL. X GO TO 2000 X C X+ #ifdef NOCC X+ 580 FORMAT('Taken.') X+ #else NOCC X 580 FORMAT(' Taken.') X+ #endif NOCC X C X C EX-- GOODBYE X C X*************** X*** 397,403 **** X--- 527,537 ---- X READ(INPCH,600) EQR(J,K) X GO TO 2000 X C X+ #ifdef NOCC X+ 590 FORMAT('Old= ',I6,6X,'New= ',$) X+ #else NOCC X 590 FORMAT(' Old= ',I6,6X,'New= ',$) X+ #endif NOCC X 600 FORMAT(I6) X C X C AO-- ALTER OBJECT ENTRY X*************** X*** 439,445 **** X--- 573,583 ---- X READ(INPCH,620) TRAVEL(J) X GO TO 2000 X C X+ #ifdef NOCC X+ 610 FORMAT('Old= ',I6,6X,'New= ',$) X+ #else NOCC X 610 FORMAT(' Old= ',I6,6X,'New= ',$) X+ #endif NOCC X 620 FORMAT(I6) X C X C AV-- ALTER VILLAINS X*************** X*** 458,464 **** X--- 596,606 ---- X 38100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 630 FORMAT('#',I2,' Room=',I6,' Obj=',I6) X+ #else NOCC X 630 FORMAT(' #',I2,' Room=',I6,' Obj=',I6) X+ #endif NOCC X C X C DN-- DISPLAY SWITCHES X C X*************** X*** 469,475 **** X--- 611,621 ---- X 39100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 640 FORMAT('Switch #',I2,' = ',I6) X+ #else NOCC X 640 FORMAT(' Switch #',I2,' = ',I6) X+ #endif NOCC X C X C AN-- ALTER SWITCHES X C X*************** X*** 490,496 **** X--- 636,646 ---- X 41100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 650 FORMAT(I3,'-',I3,3X,10(1X,I6)) X+ #else NOCC X 650 FORMAT(1X,I3,'-',I3,3X,10(1X,I6)) X+ #endif NOCC X C X C DT-- DISPLAY TEXT X C X*************** X*** 509,516 **** X--- 659,671 ---- X 44000 WRITE(OUTCH,660) ORP,LASTIT,PVEC,SYN X GO TO 2000 X C X+ #ifdef NOCC X+ 660 FORMAT('ORPHS= ',I7,I7,4I7/ X+ & 'PV= ',I7,4I7/'SYN= ',6I7/15X,5I7) X+ #else NOCC X 660 FORMAT(' ORPHS= ',I7,I7,4I7/ X & ' PV= ',I7,4I7/' SYN= ',6I7/15X,5I7) X+ #endif NOCC X C X C PD-- PROGRAM DETAIL DEBUG X C X*************** X*** 527,533 **** X--- 682,692 ---- X 46100 CONTINUE X GO TO 2000 X C X+ #ifdef NOCC X+ 670 FORMAT(1X,8I3) X+ #else NOCC X 670 FORMAT(2X,8I3) X+ #endif NOCC X C X C AZ-- ALTER PUZZLE ROOM X C X*** np.F.orig Tue Dec 1 10:35:19 1987 X--- np.F Tue Dec 1 09:28:46 1987 X*************** X*** 18,32 **** X #ifdef PDP X 5 if (WHO .eq. 1) call prompt X C read a line of input X! 90 call rdlin(BUFFER,LENGTH,WHO) X #else X 5 GO TO (90,10),WHO+1 X C !SEE WHO TO PROMPT FOR. X 10 WRITE(OUTCH,50) X C !PROMPT FOR GAME. X 50 FORMAT(' >',$) X X! 90 READ(INPCH,100) BUFFER X 100 FORMAT(78A1) X X DO 200 LENGTH=78,1,-1 X--- 18,36 ---- X #ifdef PDP X 5 if (WHO .eq. 1) call prompt X C read a line of input X! 90 call rdlin(BUFFER,LENGTH) X #else X 5 GO TO (90,10),WHO+1 X C !SEE WHO TO PROMPT FOR. X 10 WRITE(OUTCH,50) X C !PROMPT FOR GAME. X+ #ifdef NOCC X+ 50 FORMAT('>',$) X+ #else NOCC X 50 FORMAT(' >',$) X+ #endif NOCC X X! 90 READ(INPCH,100, END=210) BUFFER X 100 FORMAT(78A1) X X DO 200 LENGTH=78,1,-1 X*************** X*** 33,38 **** X--- 37,44 ---- X IF(BUFFER(LENGTH).NE.' ') GO TO 250 X 200 CONTINUE X GO TO 5 X+ C !END OF FILE X+ 210 STOP X C !TRY AGAIN. X X C X*************** X*** 109,115 **** X--- 115,125 ---- X #ifdef debug X if(dflag) write(0,*) "parse good" X IF(DFLAG) PRINT 10,PARSE,PRSA,PRSO,PRSI X+ #ifdef NOCC X+ 10 FORMAT('PARSE RESULTS- ',L7,3I7) X+ #else NOCC X 10 FORMAT(' PARSE RESULTS- ',L7,3I7) X+ #endif NOCC X #endif X RETURN X C X*************** X*** 215,221 **** X--- 225,235 ---- X LEX=.TRUE. X #ifdef debug X IF(DFLAG) PRINT 10,CP,OP,PRSCON,(OUTBUF(I),I=1,OP+1) X+ #ifdef NOCC X+ 10 FORMAT('LEX RESULTS- ',3I7/1X,10O7) X+ #else NOCC X 10 FORMAT(' LEX RESULTS- ',3I7/1X,10O7) X+ #endif NOCC X #endif debug X RETURN X C X*************** X*** 224,230 **** X--- 238,248 ---- X 4000 J1=ichar(J)-ichar(DLIMIT(I+2)) X #ifdef debug X IF(DFLAG) PRINT 20,J,J1,CP X+ #ifdef NOCC X+ 20 FORMAT('LEX- CHAR= ',3I7) X+ #else NOCC X 20 FORMAT(' LEX- CHAR= ',3I7) X+ #endif NOCC X #endif debug X IF(CP.GE.6) GO TO 200 X C !IGNORE IF TOO MANY CHAR. X*** np1.F.orig Fri Sep 25 16:58:35 1987 X--- np1.F Tue Dec 1 09:29:04 1987 X*************** X*** 287,293 **** X C X C DATA VVOC1A/3RCHO,2RMP,3RLOS,1RE,3RBAR,1RF,1,45, X C& 3RDUN,3RGEO,1,46,3RFRO,3RBOZ,1,47,3RFOO,0,3RBLE,3RTCH, X! C& 3RBAR,0,1,48,3RREP,3RENT,1,49,3RHOU,1RS,3RSCH,3REDU,1,50, X C& 3RWIN,0,1,51,3RYEL,1RL,3RSCR,3REAM,3RSHO,2RUT,1,52, X C& 3RHOP,0,3RSKI,1RP,1,53,3RFUC,1RK,3RSHI,1RT,3RDAM,1RN, X C& 3RCUR,2RSE,1,54,3RZOR,1RK,1,55,3RGRA,3RNIT,1,"50070, X--- 287,293 ---- X C X C DATA VVOC1A/3RCHO,2RMP,3RLOS,1RE,3RBAR,1RF,1,45, X C& 3RDUN,3RGEO,1,46,3RFRO,3RBOZ,1,47,3RFOO,0,3RBLE,3RTCH, X! C& 3RBAR,0,1,48,3RREP,3RENT,1,49,3RHOU,2RRS,3RSCH,3REDU,1,50, X C& 3RWIN,0,1,51,3RYEL,1RL,3RSCR,3REAM,3RSHO,2RUT,1,52, X C& 3RHOP,0,3RSKI,1RP,1,53,3RFUC,1RK,3RSHI,1RT,3RDAM,1RN, X C& 3RCUR,2RSE,1,54,3RZOR,1RK,1,55,3RGRA,3RNIT,1,"50070, X*************** X*** 574,580 **** X C& 3RCLO,2RVE,2,3RFOO,1RD,3,3RSAN,3RDWI,3,3RLUN,2RCH,3, X C& 3RDIN,3RNER,3, X C& 3RGUN,1RK,4,55,3RPIE,2RCE,4,143,186,3RSLA,1RG,4,3RCOA,1RL,5, X! C& 3RPIL,1RE,5,38,78,87,88,122,3RHEA,1RP,5, X C& 3RFIG,3RURI,6, X C& 3RMAC,3RHIN,7,3RPDP,2R10,7,3RPDP,2R11,7,3RDRY,2RER,7, X C& 3RLID,0,7,3RDIA,3RMON,8,3RCAS,1RE,9,123,3RBOT,3RTLE,10,121, X--- 574,580 ---- X C& 3RCLO,2RVE,2,3RFOO,1RD,3,3RSAN,3RDWI,3,3RLUN,2RCH,3, X C& 3RDIN,3RNER,3, X C& 3RGUN,1RK,4,55,3RPIE,2RCE,4,143,186,3RSLA,1RG,4,3RCOA,1RL,5, X! C& 3RPIL,1RE,5,18,38,78,87,88,122,3RHEA,1RP,5, X C& 3RFIG,3RURI,6, X C& 3RMAC,3RHIN,7,3RPDP,2R10,7,3RPDP,2R11,7,3RDRY,2RER,7, X C& 3RLID,0,7,3RDIA,3RMON,8,3RCAS,1RE,9,123,3RBOT,3RTLE,10,121, X*************** X*** 592,598 **** X & 5295,35400,2,10215,6400,3,30454,7329,3,20054,5120,3, X & 6774,22618,3, X & 12054,17600,4,55,25965,5000,4,143,186,30881,11200,4,5401,19200,5, X! & 25972,8000,5,38,78,87,88,122,13001,25600,5, X & 9967,34329,6, X & 20843,13174,7,25776,50800,7,25776,50840,7,7145,8720,7, X & 19564,0,7,6761,21414,8,4859,8000,9,123,3820,32485,10,121, X--- 592,598 ---- X & 5295,35400,2,10215,6400,3,30454,7329,3,20054,5120,3, X & 6774,22618,3, X & 12054,17600,4,55,25965,5000,4,143,186,30881,11200,4,5401,19200,5, X! & 25972,8000,5,18,38,78,87,88,122,13001,25600,5, X & 9967,34329,6, X & 20843,13174,7,25776,50800,7,25776,50840,7,7145,8720,7, X & 19564,0,7,6761,21414,8,4859,8000,9,123,3820,32485,10,121, X*************** X*** 945,951 **** X--- 945,955 ---- X C !IDENTIFY OBJECT. X #ifdef debug X IF(DFLAG) PRINT 60,J,OBJ X+ #ifdef NOCC X+ 60 FORMAT('SPARSE- OBJ AT ',I6,' OBJ= ',I6) X+ #else NOCC X 60 FORMAT(' SPARSE- OBJ AT ',I6,' OBJ= ',I6) X+ #endif NOCC X #endif X IF(OBJ.LE.0) GO TO 6000 X C !IF LE, COULDNT. X*************** X*** 980,986 **** X--- 984,994 ---- X SPARSE=1 X #ifdef debug X IF(DFLAG) PRINT 10,J X+ #ifdef NOCC X+ 10 FORMAT('SPARSE- DIR AT ',I6) X+ #else NOCC X 10 FORMAT(' SPARSE- DIR AT ',I6) X+ #endif NOCC X #endif debug X RETURN X C X*************** X*** 990,996 **** X--- 998,1008 ---- X OACT=0 X #ifdef debug X IF(DFLAG) PRINT 20,J X+ #ifdef NOCC X+ 20 FORMAT('SPARSE- ACT AT ',I6) X+ #else NOCC X 20 FORMAT(' SPARSE- ACT AT ',I6) X+ #endif NOCC X if(dflag) write(0,*) "count=",vvoc(j+2)," vnr=",vvoc(j+3) X #endif X GO TO 1000 X*************** X*** 1002,1008 **** X--- 1014,1024 ---- X ADJ=0 X #ifdef debug X IF(DFLAG) PRINT 30,J X+ #ifdef NOCC X+ 30 FORMAT('SPARSE- PREP AT ',I6) X+ #else NOCC X 30 FORMAT(' SPARSE- PREP AT ',I6) X+ #endif NOCC X #endif debug X GO TO 1000 X C X*************** X*** 1015,1021 **** X--- 1031,1041 ---- X J=(and(ONAME,OFLAG)) X #ifdef debug X IF(DFLAG) PRINT 40,ADJ,J X+ #ifdef NOCC X+ 40 FORMAT('SPARSE- ADJ AT ',I6,' ORPHAN= ',I6) X+ #else NOCC X 40 FORMAT(' SPARSE- ADJ AT ',I6,' ORPHAN= ',I6) X+ #endif NOCC X #endif debug X IF((J.NE.0).AND.(I.GE.LLNT)) GO TO 600 X GO TO 1000 X*************** X*** 1080,1086 **** X--- 1100,1110 ---- X C !WIN. X #ifdef debug X IF(DFLAG) PRINT 70,ACT,O1,O2,P1,P2 X+ #ifdef NOCC X+ 70 FORMAT('SPARSE RESULTS- ',5I7) X+ #else NOCC X 70 FORMAT(' SPARSE RESULTS- ',5I7) X+ #endif NOCC X if(dflag) write(0,*) "sparse=",sparse X #endif X RETURN X*** np2.F.orig Mon Feb 9 11:48:26 1987 X--- np2.F Tue Dec 1 09:29:08 1987 X*************** X*** 38,44 **** X--- 38,48 ---- X C !SEARCH ROOM. X #ifdef debug X IF(DFLAG) PRINT 10,OBJ X+ #ifdef NOCC X+ 10 FORMAT('SCHLST- ROOM SCH ',I6) X+ #else NOCC X 10 FORMAT(' SCHLST- ROOM SCH ',I6) X+ #endif NOCC X #endif debug X IF(OBJ) 1000,200,100 X C !TEST RESULT. X*************** X*** 55,61 **** X--- 59,69 ---- X C !SEARCH VEHICLE. X #ifdef debug X IF(DFLAG) PRINT 20,NOBJ X+ #ifdef NOCC X+ 20 FORMAT('SCHLST- VEH SCH ',I6) X+ #else NOCC X 20 FORMAT(' SCHLST- VEH SCH ',I6) X+ #endif NOCC X #endif debug X IF(NOBJ) 1100,400,300 X C !TEST RESULT. X*************** X*** 71,77 **** X--- 79,89 ---- X C !SEARCH ADVENTURER. X #ifdef debug X IF(DFLAG) PRINT 30,NOBJ X+ #ifdef NOCC X+ 30 FORMAT('SCHLST- ADV SCH ',I6) X+ #else NOCC X 30 FORMAT(' SCHLST- ADV SCH ',I6) X+ #endif NOCC X #endif debug X IF(NOBJ) 1100,600,500 X C !TEST RESULT X*************** X*** 99,105 **** X--- 111,121 ---- X C !END OF SEARCH. X #ifdef debug X IF(DFLAG) PRINT 40,GETOBJ X+ #ifdef NOCC X+ 40 FORMAT('SCHLST- RESULT ',I6) X+ #else NOCC X 40 FORMAT(' SCHLST- RESULT ',I6) X+ #endif NOCC X #endif debug X RETURN X END X*** np3.F.orig Fri Sep 25 17:02:57 1987 X--- np3.F Tue Dec 1 09:29:14 1987 X*************** X*** 45,51 **** X--- 45,55 ---- X C !UNPACK SYNTAX. X #ifdef debug X IF(DFLAG) PRINT 60,O1,P1,DOBJ,DFL1,DFL2 X+ #ifdef NOCC X+ 60 FORMAT('SYNMCH INPUTS TO SYNEQL- ',5I7) X+ #else NOCC X 60 FORMAT(' SYNMCH INPUTS TO SYNEQL- ',5I7) X+ #endif NOCC X #endif X SPREP=and(DOBJ,VPMASK) X IF(.NOT.SYNEQL(P1,O1,DOBJ,DFL1,DFL2)) GO TO 1000 X*************** X*** 74,80 **** X--- 78,88 ---- X C X #ifdef debug X IF(DFLAG) PRINT 20,DRIVE,DFORCE X+ #ifdef NOCC X+ 20 FORMAT('SYNMCH, DRIVE=',2I6) X+ #else NOCC X 20 FORMAT(' SYNMCH, DRIVE=',2I6) X+ #endif NOCC X #endif X IF(DRIVE.EQ.0) DRIVE=DFORCE X C !NO DRIVER? USE FORCE. X*************** X*** 100,106 **** X--- 108,118 ---- X C !GET GWIM. X #ifdef debug X IF(DFLAG) PRINT 30,O1 X+ #ifdef NOCC X+ 30 FORMAT('SYNMCH- DO GWIM= ',I6) X+ #else NOCC X 30 FORMAT(' SYNMCH- DO GWIM= ',I6) X+ #endif NOCC X #endif debug X IF(O1.GT.0) GO TO 4000 X C !TEST RESULT. X*************** X*** 115,121 **** X--- 127,137 ---- X C !GWIM. X #ifdef debug X IF(DFLAG) PRINT 40,O2 X+ #ifdef NOCC X+ 40 FORMAT('SYNMCH- IO GWIM= ',I6) X+ #else NOCC X 40 FORMAT(' SYNMCH- IO GWIM= ',I6) X+ #endif NOCC X #endif debug X IF(O2.GT.0) GO TO 6000 X IF(O1.EQ.0) O1=and(OFLAG,OSLOT) X*************** X*** 151,157 **** X--- 167,177 ---- X SYNMCH=.TRUE. X #ifdef debug X IF(DFLAG) PRINT 50,SYNMCH,PRSA,PRSO,PRSI,ACT,O1,O2 X+ #ifdef NOCC X+ 50 FORMAT('SYNMCH- RESULTS ',L1,6I7) X+ #else NOCC X 50 FORMAT(' SYNMCH- RESULTS ',L1,6I7) X+ #endif NOCC X #endif X RETURN X C X*** speak.F.orig Thu Feb 12 11:08:41 1987 X--- speak.F Tue Dec 1 09:29:19 1987 X*************** X*** 36,42 **** X--- 36,46 ---- X & FORM='UNFORMATTED',ACCESS='DIRECT',recl=76,err=60) X C X print 20 X+ #ifdef NOCC X 20 format('Sigh... '/) X+ #else NOCC X+ 20 format(' Sigh... '/) X+ #endif NOCC X C X C get numbers and call speaking program X C X*************** X*** 54,59 **** X--- 58,75 ---- X 60 print 970 X print 980 X goto 99 X+ #ifdef NOCC X+ 960 FORMAT('I can''t open ',RTEXTFILE,'.') X+ 970 FORMAT('I can''t open ',TEXTFILE,'.') X+ 980 FORMAT('Suddenly a sinister, wraithlike figure appears before ' X+ & 'you,'/'seeming to float in the air. In a low, sorrowful voice' X+ & ' he says,'/'"Alas, the very nature of the world has changed, ' X+ & 'and the dungeon'/'cannot be found. All must now pass away."' X+ & ' Raising his oaken staff'/'in farewell, he fades into the ' X+ & 'spreading darkness. In his place'/'appears a tastefully ' X+ & 'lettered sign reading:'//23X,'INITIALIZATION FAILURE'// X+ & 'The darkness becomes all encompassing, and your vision fails.') X+ #else NOCC X 960 FORMAT(' I can''t open ',RTEXTFILE,'.') X 970 FORMAT(' I can''t open ',TEXTFILE,'.') X 980 FORMAT(' Suddenly a sinister, wraithlike figure appears before ' X*************** X*** 64,69 **** X--- 80,86 ---- X & 'spreading darkness. In his place'/' appears a tastefully ' X & 'lettered sign reading:'//23X,'INITIALIZATION FAILURE'// X & ' The darkness becomes all encompassing, and your vision fails.') X+ #endif NOCC X 99 stop X end X C X*************** X*** 116,122 **** X--- 133,143 ---- X C X C 600 WRITE(OUTCH,650) (B1(J:J),J=1,I) X 600 PRINT 650, (B1(J:J),J=1,I) X+ #ifdef NOCC X+ 650 FORMAT(74A1) X+ #else NOCC X 650 FORMAT(1X,74A1) X+ #endif NOCC X X=X+1 X READ(UNIT=DBCH,REC=X) NEWREC,B1 X IF(OLDREC.EQ.NEWREC) GO TO 100 X*** sverbs.F.orig Tue Feb 10 11:32:11 1987 X--- sverbs.F Tue Dec 1 10:41:51 1987 X*************** X*** 16,22 **** X LOGICAL FINDXT,QHERE,F X INTEGER JOKES(25) X CHARACTER ANSSTR(78) X! CHARACTER P1(6),P2(6),CH(6) X INTEGER ANSWER(28) X #include "parser.h" X #include "gamestate.h" X--- 16,22 ---- X LOGICAL FINDXT,QHERE,F X INTEGER JOKES(25) X CHARACTER ANSSTR(78) X! CHARACTER PP1(6),PP2(6),CH(6) X INTEGER ANSWER(28) X #include "parser.h" X #include "gamestate.h" X*************** X*** 178,184 **** X--- 178,188 ---- X 5000 call prvers(vmaj,vmin,vedit) X #else X 5000 WRITE(OUTCH,5010) VMAJ,VMIN,VEDIT X+ #ifdef NOCC X+ 5010 FORMAT('V',I1,'.',I2,A1) X+ #else NOCC X 5010 FORMAT(' V',I1,'.',I2,A1) X+ #endif NOCC X #endif PDP X TELFLG=.TRUE. X RETURN X*************** X*** 427,432 **** X--- 431,457 ---- X I=K/60 X J=MOD(K,60) X C X+ #ifdef NOCC X+ IF(I.EQ.0.AND.J.EQ.1) WRITE(OUTCH,21010) J X+ IF(I.EQ.0.AND.J.NE.1) WRITE(OUTCH,21011) J X+ IF(I.EQ.1.AND.J.EQ.1) WRITE(OUTCH,21012) I,J X+ IF(I.EQ.1.AND.J.NE.1) WRITE(OUTCH,21013) I,J X+ IF(I.GE.2.AND.J.EQ.1) WRITE(OUTCH,21014) I,J X+ IF(I.GE.2.AND.J.NE.1) WRITE(OUTCH,21015) I,J X+ TELFLG=.TRUE. X+ RETURN X+ C X+ 21010 FORMAT('You have been playing Dungeon for ',I2,' minute.') X+ 21011 FORMAT('You have been playing Dungeon for ',I2,' minutes.') X+ 21012 FORMAT('You have been playing Dungeon for ',I3,' hour and ', X+ & I2,' minute.') X+ 21013 FORMAT('You have been playing Dungeon for ',I3,' hour and ', X+ & I2,' minutes.') X+ 21014 FORMAT('You have been playing Dungeon for ',I3,' hours and ', X+ & I2,' minute.') X+ 21015 FORMAT('You have been playing Dungeon for ',I3,' hours and ', X+ & I2,' minutes.') X+ #else NOCC X WRITE(OUTCH,21010) X IF(I.NE.0) WRITE(OUTCH,21011) I X IF(I.GE.2) WRITE(OUTCH,21012) X*************** X*** 442,447 **** X--- 467,473 ---- X 21013 FORMAT('+ and ',$) X 21014 FORMAT('+',I2,' minute.') X 21015 FORMAT('+',I2,' minutes.') X+ #endif NOCC X #endif PDP X C X C V91-- LEAP. USUALLY A JOKE, WITH A CATCH. X*************** X*** 526,532 **** X--- 552,562 ---- X if(J .ne. 0) call cured(I) X #else X IF(J.NE.0) WRITE(OUTCH,25100) I X+ #ifdef NOCC X+ 25100 FORMAT('You will be cured after ',I3,' moves.') X+ #else NOCC X 25100 FORMAT(' You will be cured after ',I3,' moves.') X+ #endif NOCC X #endif PDP X C X CALL RSPEAK(478+K) X*************** X*** 540,547 **** X C X 26000 DO 26100 I=1,6 X C !SET UP PARSE. X! P1(I)=' ' X! P2(I)=' ' X 26100 CONTINUE X WP=1 X C !WORD POINTER. X--- 570,577 ---- X C X 26000 DO 26100 I=1,6 X C !SET UP PARSE. X! PP1(I)=' ' X! PP2(I)=' ' X 26100 CONTINUE X WP=1 X C !WORD POINTER. X*************** X*** 557,579 **** X IF(CP.NE.1) WP=WP+1 X CP=1 X GO TO 26200 X! 26150 IF(WP.EQ.1) P1(CP)=INBUF(I) X C !STUFF INTO HOLDER. X! IF(WP.EQ.2) P2(CP)=INBUF(I) X CP=MIN0(CP+1,6) X 26200 CONTINUE X C X 26300 PRSCON=1 X C !KILL REST OF LINE. X! IF(P1(1).NE.' ') GO TO 26400 X C !ANY INPUT? X CALL RSPEAK(856) X C !NO, HO HUM. X RETURN X C X! 26400 CALL ENCRYP(P1,CH) X C !COMPUTE RESPONSE. X! IF(P2(1).NE.' ') GO TO 26600 X C !TWO PHRASES? X C X IF(SPELLF) GO TO 26550 X--- 587,609 ---- X IF(CP.NE.1) WP=WP+1 X CP=1 X GO TO 26200 X! 26150 IF(WP.EQ.1) PP1(CP)=INBUF(I) X C !STUFF INTO HOLDER. X! IF(WP.EQ.2) PP2(CP)=INBUF(I) X CP=MIN0(CP+1,6) X 26200 CONTINUE X C X 26300 PRSCON=1 X C !KILL REST OF LINE. X! IF(PP1(1).NE.' ') GO TO 26400 X C !ANY INPUT? X CALL RSPEAK(856) X C !NO, HO HUM. X RETURN X C X! 26400 CALL ENCRYP(PP1,CH) X C !COMPUTE RESPONSE. X! IF(PP2(1).NE.' ') GO TO 26600 X C !TWO PHRASES? X C X IF(SPELLF) GO TO 26550 X*************** X*** 583,592 **** X C !TELL HIM. X TELFLG=.TRUE. X #ifdef PDP X! call voice(P1,CH) X #else X! WRITE(OUTCH,26510) P1,CH X 26510 FORMAT(' A hollow voice replies: "',6A1,1X,6A1,'".') X #endif PDP X C X RETURN X--- 613,626 ---- X C !TELL HIM. X TELFLG=.TRUE. X #ifdef PDP X! call voice(PP1,CH) X #else X! WRITE(OUTCH,26510) PP1,CH X! #ifdef NOCC X! 26510 FORMAT('A hollow voice replies: "',6A1,1X,6A1,'".') X! #else NOCC X 26510 FORMAT(' A hollow voice replies: "',6A1,1X,6A1,'".') X+ #endif NOCC X #endif PDP X C X RETURN X*************** X*** 601,607 **** X C X 26600 IF(and(RFLAG(TSTRS),RSEEN).NE.0) GO TO 26800 X DO 26700 I=1,6 X! IF(P2(I).NE.CH(I)) GO TO 26575 X C !WRONG. X 26700 CONTINUE X SPELLF=.TRUE. X--- 635,641 ---- X C X 26600 IF(and(RFLAG(TSTRS),RSEEN).NE.0) GO TO 26800 X DO 26700 I=1,6 X! IF(PP2(I).NE.CH(I)) GO TO 26575 X C !WRONG. X 26700 CONTINUE X SPELLF=.TRUE. END_OF_Patches03 if test 41090 -ne `wc -c Fix.tahoe <<'END_OF_Fix.tahoe' X#!/bin/sh Xfor i in dmain.F np.F np1.F Xdo X echo fixing $i X mv $i $i.standard X sed -f no.octals <$i.standard >$i Xdone END_OF_Fix.tahoe if test 116 -ne `wc -c Unfix.tahoe <<'END_OF_Unfix.tahoe' X#!/bin/sh Xfor i in dmain.F np.F np1.F Xdo X echo unfixing $i X mv $i.standard $i Xdone END_OF_Unfix.tahoe if test 83 -ne `wc -c no.octals <<'END_OF_no.octals' Xs/o['"]1['"]/ 1 /g Xs/o['"]2['"]/ 2 /g Xs/o['"]4['"]/ 4 /g Xs/o['"]10['"]/ 8 /g Xs/o['"]20['"]/ 16 /g Xs/o['"]22['"]/ 18 /g Xs/o['"]40['"]/ 32 /g Xs/o['"]55['"]/ 45 /g Xs/o['"]61['"]/ 49 /g Xs/o['"]71['"]/ 57 /g Xs/o['"]100['"]/ 64 /g Xs/o['"]101['"]/ 65 /g Xs/o['"]125['"]/ 85 /g Xs/o['"]132['"]/ 90 /g Xs/o['"]133['"]/ 91 /g Xs/o['"]167['"]/ 119 /g Xs/o['"]200['"]/ 128 /g Xs/o['"]377['"]/ 255 /g Xs/o['"]400['"]/ 256 /g Xs/o['"]777['"]/ 511 /g Xs/o['"]1000['"]/ 512 /g Xs/o['"]2000['"]/ 1024 /g Xs/o['"]2227['"]/ 1175 /g Xs/o['"]4000['"]/ 2048 /g Xs/o['"]6000['"]/ 3072 /g Xs/o['"]10000['"]/ 4096 /g Xs/o['"]10200['"]/ 4224 /g Xs/o['"]12000['"]/ 5120 /g Xs/o['"]14000['"]/ 6144 /g Xs/o['"]16000['"]/ 7168 /g Xs/o['"]20000['"]/ 8192 /g Xs/o['"]20004['"]/ 8196 /g Xs/o['"]20006['"]/ 8198 /g Xs/o['"]20007['"]/ 8199 /g Xs/o['"]21000['"]/ 8704 /g Xs/o['"]21002['"]/ 8706 /g Xs/o['"]21003['"]/ 8707 /g Xs/o['"]21004['"]/ 8708 /g Xs/o['"]21012['"]/ 8714 /g Xs/o['"]22000['"]/ 9216 /g Xs/o['"]23000['"]/ 9728 /g Xs/o['"]23006['"]/ 9734 /g Xs/o['"]24000['"]/ 10240 /g Xs/o['"]26000['"]/ 11264 /g Xs/o['"]30000['"]/ 12288 /g Xs/o['"]32000['"]/ 13312 /g Xs/o['"]34000['"]/ 14336 /g Xs/o['"]36000['"]/ 15360 /g Xs/o['"]40000['"]/ 16384 /g Xs/o['"]40126['"]/ 16470 /g Xs/o['"]40131['"]/ 16473 /g Xs/o['"]40133['"]/ 16475 /g Xs/o['"]40134['"]/ 16476 /g Xs/o['"]40150['"]/ 16488 /g Xs/o['"]40154['"]/ 16492 /g Xs/o['"]40155['"]/ 16493 /g Xs/o['"]40160['"]/ 16496 /g Xs/o['"]40165['"]/ 16501 /g Xs/o['"]40166['"]/ 16502 /g Xs/o['"]40167['"]/ 16503 /g Xs/o['"]40172['"]/ 16506 /g Xs/o['"]40173['"]/ 16507 /g Xs/o['"]40174['"]/ 16508 /g Xs/o['"]40176['"]/ 16510 /g Xs/o['"]40177['"]/ 16511 /g Xs/o['"]40202['"]/ 16514 /g Xs/o['"]40203['"]/ 16515 /g Xs/o['"]40204['"]/ 16516 /g Xs/o['"]40206['"]/ 16518 /g Xs/o['"]40207['"]/ 16519 /g Xs/o['"]40210['"]/ 16520 /g Xs/o['"]40215['"]/ 16525 /g Xs/o['"]40217['"]/ 16527 /g Xs/o['"]40221['"]/ 16529 /g Xs/o['"]40230['"]/ 16536 /g Xs/o['"]40231['"]/ 16537 /g Xs/o['"]40233['"]/ 16539 /g Xs/o['"]40234['"]/ 16540 /g Xs/o['"]40235['"]/ 16541 /g Xs/o['"]40236['"]/ 16542 /g Xs/o['"]41000['"]/ 16896 /g Xs/o['"]42000['"]/ 17408 /g Xs/o['"]42144['"]/ 17508 /g Xs/o['"]42150['"]/ 17512 /g Xs/o['"]42166['"]/ 17526 /g Xs/o['"]42172['"]/ 17530 /g Xs/o['"]42173['"]/ 17531 /g Xs/o['"]42175['"]/ 17533 /g Xs/o['"]42215['"]/ 17549 /g Xs/o['"]42221['"]/ 17553 /g Xs/o['"]42223['"]/ 17555 /g Xs/o['"]44000['"]/ 18432 /g Xs/o['"]44002['"]/ 18434 /g Xs/o['"]50070['"]/ 20536 /g Xs/o['"]50125['"]/ 20565 /g Xs/o['"]50127['"]/ 20567 /g Xs/o['"]50147['"]/ 20583 /g Xs/o['"]50153['"]/ 20587 /g Xs/o['"]50156['"]/ 20590 /g Xs/o['"]50157['"]/ 20591 /g Xs/o['"]50160['"]/ 20592 /g Xs/o['"]50161['"]/ 20593 /g Xs/o['"]50170['"]/ 20600 /g Xs/o['"]50171['"]/ 20601 /g Xs/o['"]50173['"]/ 20603 /g Xs/o['"]50201['"]/ 20609 /g Xs/o['"]50216['"]/ 20622 /g Xs/o['"]50227['"]/ 20631 /g Xs/o['"]50233['"]/ 20635 /g Xs/o['"]52130['"]/ 21592 /g Xs/o['"]52155['"]/ 21613 /g Xs/o['"]52212['"]/ 21642 /g Xs/o['"]54002['"]/ 22530 /g Xs/o['"]60000['"]/ 24576 /g Xs/o['"]60003['"]/ 24579 /g Xs/o['"]60005['"]/ 24581 /g Xs/o['"]60007['"]/ 24583 /g Xs/o['"]60135['"]/ 24669 /g Xs/o['"]60144['"]/ 24676 /g Xs/o['"]60163['"]/ 24691 /g Xs/o['"]60175['"]/ 24701 /g Xs/o['"]60206['"]/ 24710 /g Xs/o['"]60211['"]/ 24713 /g Xs/o['"]60212['"]/ 24714 /g Xs/o['"]60213['"]/ 24715 /g Xs/o['"]60214['"]/ 24716 /g Xs/o['"]60215['"]/ 24717 /g Xs/o['"]60221['"]/ 24721 /g Xs/o['"]60223['"]/ 24723 /g Xs/o['"]60224['"]/ 24724 /g Xs/o['"]60232['"]/ 24730 /g Xs/o['"]60237['"]/ 24735 /g Xs/o['"]61000['"]/ 25088 /g Xs/o['"]61001['"]/ 25089 /g Xs/o['"]61002['"]/ 25090 /g Xs/o['"]61003['"]/ 25091 /g Xs/o['"]61004['"]/ 25092 /g Xs/o['"]61005['"]/ 25093 /g Xs/o['"]61006['"]/ 25094 /g Xs/o['"]61007['"]/ 25095 /g Xs/o['"]61010['"]/ 25096 /g Xs/o['"]61012['"]/ 25098 /g Xs/o['"]62146['"]/ 25702 /g Xs/o['"]62164['"]/ 25716 /g Xs/o['"]64002['"]/ 26626 /g Xs/o['"]64222['"]/ 26770 /g Xs/o['"]65002['"]/ 27138 /g Xs/o['"]70130['"]/ 28760 /g Xs/o['"]70145['"]/ 28773 /g Xs/o['"]70146['"]/ 28774 /g Xs/o['"]70152['"]/ 28778 /g Xs/o['"]70162['"]/ 28786 /g Xs/o['"]70212['"]/ 28810 /g Xs/o['"]71000['"]/ 29184 /g Xs/o['"]72220['"]/ 29840 /g Xs/o['"]72222['"]/ 29842 /g Xs/o['"]74002['"]/ 30722 /g Xs/o['"]75000['"]/ 31232 /g Xs/o['"]75012['"]/ 31242 /g Xs/o['"]75013['"]/ 31243 /g Xs/o['"]76000['"]/ 31744 /g Xs/o['"]100000['"]/ 32768 /g END_OF_no.octals if test 4422 -ne `wc -c