1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 RSPEAK(N)
20 IMPLICIT INTEGER (A-Z)
21
22 CALL RSPSB2(N,0,0)
23 RETURN
24
25
26
27
28
29
30
31
32
33 RSPSUB(N,S1)
34 IMPLICIT INTEGER (A-Z)
35
36 CALL RSPSB2(N,S1,0)
37 RETURN
38
39
40
41
42
43
44
45
46
47 RSPSB2(A,B,C)
48 IMPLICIT INTEGER (A-Z)
49 %include dparam
50 CHARACTER*(TEXLNT) B1,B2
51 external dtext_$read (descriptors)
52
53
54
55
56 X=A
57 Y=B
58 Z=C
59 IF(X.GT.0) X=RTEXT(X)
60 IF(Y.GT.0) Y=RTEXT(Y)
61 IF(Z.GT.0) Z=RTEXT(Z)
62 X=IABS(X)
63 Y=IABS(Y)
64 Z=IABS(Z)
65 IF(X.EQ.0) RETURN
66 TELFLG=.TRUE.
67
68
69 call dtext_$read (x, oldrec, b1)
70 100 CALL TXCRYP(X,B1)
71
72 200 IF(Y.EQ.0) GO TO 400
73 I=INDEX(B1,'#')
74 IF(I.GT.0) GO TO 1000
75
76 400 WRITE(OUTCH,650) B1(1:MAX0(1,NBLEN(B1)))
77 650 FORMAT(1X,A)
78 X=X+1
79
80 call dtext_$read (x, newrec, b1)
81 IF(OLDREC.EQ.NEWREC) GO TO 100
82 RETURN
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 1000 B2(1:(TEXLNT-I))=B1(I+1:TEXLNT)
99
100
101 call dtext_$read (y, j, B1(I:TEXLNT))
102 CALL TXCRYP(Y,B1(I:TEXLNT))
103 J=NBLEN(B1)
104 B1(J+1:TEXLNT)=B2(1:TEXLNT-J)
105
106 Y=Z
107 Z=0
108 GO TO 200
109
110
111
112
113
114
115
116 LOGICAL OBJACT(X)
117 IMPLICIT INTEGER (A-Z)
118 %include dparam
119 LOGICAL OAPPLI
120
121 OBJACT=.TRUE.
122 IF(PRSI.EQ.0) GO TO 100
123 IF(OAPPLI(OACTIO(PRSI),0)) RETURN
124
125 100 IF(PRSO.EQ.0) GO TO 200
126 IF(OAPPLI(OACTIO(PRSO),0)) RETURN
127
128 200 OBJACT=.FALSE.
129 RETURN
130
131
132
133 BUG
134
135
136
137 BUG(A,B)
138 IMPLICIT INTEGER (A-Z)
139 %include dparam
140
141 WRITE(OUTCH,100) A,B
142 IF(DBGFLG.NE.0) RETURN
143 SUBBUF='CRASH.DAT'
144 SUBLNT=NBLEN(SUBBUF)
145 CALL SAVEGM
146 WRITE(OUTCH,200)
147 CALL EXIT
148
149 100 FORMAT(' Program error ',I2,', parameter =',I6)
150 200 FORMAT(' Game state saved in "CRASH.DAT".')
151
152
153
154
155
156
157
158
159
160 NEWSTA(O,R,RM,CN,AD)
161 IMPLICIT INTEGER (A-Z)
162 %include dparam
163
164 CALL RSPEAK(R)
165 OROOM(O)=RM
166 OCAN(O)=CN
167 OADV(O)=AD
168 RETURN
169
170
171
172
173
174
175
176 LOGICAL QHERE(OBJ,RM)
177 IMPLICIT INTEGER (A-Z)
178 %include dparam
179
180 QHERE=.TRUE.
181 IF(OROOM(OBJ).EQ.RM) RETURN
182 DO 100 I=1,R2LNT
183 IF((O2(I).EQ.OBJ).AND.(R2(I).EQ.RM)) RETURN
184 100 CONTINUE
185 QHERE=.FALSE.
186 RETURN
187
188
189
190
191
192
193
194 LOGICAL QEMPTY(OBJ)
195 IMPLICIT INTEGER (A-Z)
196 %include dparam
197
198 QEMPTY=.FALSE.
199 DO 100 I=1,OLNT
200 IF(OCAN(I).EQ.OBJ) RETURN
201 100 CONTINUE
202 QEMPTY=.TRUE.
203 RETURN
204
205