adventure: Initial commit
[pdp8.git] / sw / adventure / DUMPDB.FT
CommitLineData
84b5715c
PH
1C ADVENTURES\r
2 SUBROUTINE DUMPDB\r
3C ADVENTURES\r
4C\r
5C MODIFIED BY KENT BLACKETT\r
6C ENGINEERING SYSTEMS GROUP\r
7C DIGITAL EQUIPMENT CORP.\r
8C 15-JUL-77\r
9C MODIFIED BY BOB SUPNIK\r
10C DISK ENGINEERING\r
11C 21-OCT-77\r
12C MODIFIED BY BOB SUPNIK\r
13C DISK ENGINEERING\r
14C 25-AUG-78\r
15C MODIFIED BY BOB SUPNIK\r
16C SMALL SYSTEMS\r
17C 12-NOV-78\r
18C ORIGINAL VERSION WAS FOR DECSYSTEM-10\r
19C NEXT VERSION WAS FOR FORTRAN IV-PLUS UNDER\r
20C THE IAS OPERATING SYSTEM ON THE PDP-11/70\r
21C THIS VERSION IS FOR FORTRAN IV (V01C OR LATER)\r
22C UNDER RT-11 ON *ANY* PDP-11\r
23C\r
24C\r
25C CURRENT LIMITS:\r
26C 750 TRAVEL OPTIONS (TRAVEL, TRVSIZ).\r
27C 300 VOCABULARY WORDS (KTAB, ATAB, TABSIZ).\r
28C 150 LOCATIONS (LTEXT, STEXT, KEY, COND, ABB, ATLOC, LOCSIZ).\r
29C 100 OBJECTS (PLAC, PLACE, FIXD, FIXED, LINK (TWICE), PTEXT, PROP).\r
30C 35 "ACTION" VERBS (ACTSPK, VRBSIZ).\r
31C 205 RANDOM MESSAGES (RTEXT, RTXSIZ).\r
32C 12 DIFFERENT PLAYER CLASSIFICATIONS (CTEXT, CVAL, CLSMAX).\r
33C 20 HINTS, LESS 3 (HINTLC, HINTED, HINTS, HNTSIZ).\r
34C THERE ARE ALSO LIMITS WHICH CANNOT BE EXCEEDED DUE TO THE STRUCTURE OF\r
35C THE DATABASE. (E.G., THE VOCABULARY USES N/1000 TO DETERMINE WORD TYPE,\r
36C SO THERE CAN'T BE MORE THAN 1000 WORDS.) THESE UPPER LIMITS ARE:\r
37C 1000 NON-SYNONYMOUS VOCABULARY WORDS\r
38C 300 LOCATIONS\r
39C 100 OBJECTS\r
40C\r
41C IMPLICIT INTEGER (A-Z)\r
42 LOGICAL LMWARN,CLOSNG,PANIC,HINTED,\r
43 1 CLOSED,GAVEUP,SCORNG,DSEEN,BITSET\r
44C\r
45 COMMON /VERSN/ VMAJ, VMIN, VEDIT\r
46 COMMON /TXTCOM/ RTEXT,LINES,ASCVAR,TXTLOC,DATA\r
47 COMMON /VOCCOM/ KTAB,ATAB,TABSIZ\r
48 COMMON /PLACOM/ ATLOC,LINK,PLACE,FIXED,HOLDNG\r
49 COMMON /PTXCOM/ PTEXT\r
50 COMMON /ABBCOM/ ABB\r
51 COMMON /MISCOM/ LINUSE,TRVS,CLSSES,OLDLOC,LOC,CVAL,TK,NEWLOC,\r
52 1 KEY,PLAC,FIXD,ACTSPK,COND,HINTS,HNTMAX,PROP,TALLY,TALLY2,\r
53 2 HINTLC,CHLOC,CHLOC2,DSEEN,DFLAG,DLOC,DALTLC,KEYS,LAMP,GRATE\r
54 COMMON /MISCOM/\r
55 3 CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE,FISSUR,TABLET,\r
56 4 CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE,WATER,OIL,PLANT,\r
57 5 PLANT2,AXE,MIRROR,DRAGON,CHASM,TROLL,TROLL2,BEAR,MESSAG,VEND,\r
58 6 BATTER,NUGGET,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD,PYRAM\r
59 COMMON /MISCOM/\r
60 7 PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY,LOCK,\r
61 8 THROW,FIND,INVENT,TURNS,LMWARN,KNFLOC,DETAIL,ABBNUM,\r
62 9 NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2,\r
63 1 CLOSNG,PANIC,CLOSED,GAVEUP,SCORNG,ODLOC,STREAM,SPICES\r
64 COMMON /MISC2/ I,RTXSIZ,CLSMAX,LOCSIZ,CTEXT,STEXT,LTEXT,\r
65 1 SECT,TRAVEL,TRVCON,TRVLOC,TRVSIZ,TABNDX,OBJ,J,K,VERB,HNTSIZ,\r
66 2 MAXTRS,HINTED,HNTLOC,KK\r
67C\r
68 INTEGER LINES(12),DATA(52),RECORD\r
69C The TRAVEL, TRVCON, and TRVLOC arrays are\r
70C Packed with words 0,1,2 holding the data. Saves lots\r
71C of wasted space at the expense of some complexity.\r
72 INTEGER TRAVEL(250), TRVCON(250), TRVLOC(250), TRVSIZ\r
73 INTEGER KTAB(300),ATAB(300),TABSIZ\r
74 INTEGER LTEXT(150),STEXT(150),KEY(150),COND(150),ABB(150),\r
75 1 ATLOC(150)\r
76 INTEGER PLAC(100),PLACE(100),FIXD(100),FIXED(100),LINK(200),\r
77 1 PTEXT(100),PROP(100),HOLDNG\r
78 INTEGER ACTSPK(35)\r
79 INTEGER RTEXT(205)\r
80 INTEGER CTEXT(12),CVAL(12)\r
81 INTEGER HINTLC(20),HINTS(20,4)\r
82 DIMENSION HINTED(20)\r
83 INTEGER TK(20),DLOC(6),ODLOC(6)\r
84 DIMENSION DSEEN(6)\r
85 INTEGER ASCVAR, TXTLOC, TRVS, CLSSES, OLDLOC\r
86 INTEGER HNTSIZ, HNTMAX, TALLY, TALLY2, CHLOC, CHLOC2, DFLAG\r
87 INTEGER DALTLC,GRATE,CAGE,ROD,ROD2,STEPS,BIRD,DOOR,PILLOW,SNAKE\r
88 INTEGER FISSUR,TABLET,CLAM,OYSTER,MAGZIN,DWARF,KNIFE,FOOD,BOTTLE\r
89 INTEGER WATER,OIL,PLANT,PLANT2,AXE,MIRROR,DRAGON,CHASM\r
90 INTEGER BEAR,MESSAG,VEND,BATTER,COINS,CHEST,EGGS,TRIDNT,VASE,EMRALD\r
91 INTEGER PYRAM,PEARL,RUG,CHAIN,BACK,LOOK,CAVE,NULL,ENTRNC,DPRSSN,SAY\r
92 INTEGER LOCK,THROW,FIND,INVENT,TURNS,KNFLOC,DETAIL,ABBNUM\r
93 INTEGER NUMDIE,MAXDIE,DKILL,FOOBAR,BONUS,CLOCK1,CLOCK2\r
94 INTEGER TROLL,TROLL2,STREAM,SPICES\r
95 INTEGER RTXSIZ,CLSMAX,LOCSIZ,SECT,TABNDX,OBJ\r
96 INTEGER VERB,HNTLOC,KK\r
97C\r
98C\r
99C\r
100C\r
101 DO 10 I=1,TRVSIZ\r
102 WRITE(4,1)TRVSIZ\r
1031 FORMAT(' TRAVEL ENTRIES: ', I10)\r
104\r
105 I1= GETWRD(TRAVEL, I, 0)\r
106 I2= GETWRD(TRVCON, I, 0)\r
107 I3= GETWRD(TRVLOC, I, 0)\r
108 WRITE(4,11) I, I1, I2, I3\r
10911 FORMAT(' TRAVEL ',I4,' GIVES',1X,I4,1X,I4,1X,I4)\r
11010 CONTINUE\r
111 DO 20 I = 1, TABSIZ\r
112 WRITE(4,21)I, KTAB(I), ATAB(I)\r
11321 FORMAT(' K/a TAB ',I4,' GIVES ', I6, 1X, A6)\r
11420 CONTINUE\r
115 DO 30 I = 1, 100\r
116 I4 = I + 100\r
117 WRITE(4,31)I,PLAC(I),PLACE(I),FIXD(I),FIXED(I),LINK(I),LINK(I4),PTEXT(I),PROP(I)\r
11831 FORMAT(' LOCATION DATA',1X,I6,1X,I6,1X,I6,1X,I6,1X,I6,1X,I6,1X,I6,1X,I6,1X,I6)\r
11930 CONTINUE\r
120 RETURN\r
121 END\r