projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prepare to initialize public repository.
[open-adventure.git]
/
misc.c
diff --git
a/misc.c
b/misc.c
index e3e8320b5e4c6d67f7dbcd6b72ea69c476911f6f..15932ece7022d7c9a0aeb84a42b9a0c7d5667137 100644
(file)
--- a/
misc.c
+++ b/
misc.c
@@
-1,14
+1,16
@@
+#include <stdlib.h>
+#include <stdio.h>
#include "main.h"
#include "misc.h"
#include "main.h"
#include "misc.h"
-#include
<stdio.h>
+#include
"funcs.h"
-#define TRUE (0==0)
-#define
FALSE (0!=
0)
+/* hack to ignore GCC Unused Result */
+#define
IGNORE(r) do{if(r){}}while(
0)
/* I/O ROUTINES (SPEAK, PSPEAK, RSPEAK, SETPRM, GETIN, YES) */
#undef SPEAK
/* I/O ROUTINES (SPEAK, PSPEAK, RSPEAK, SETPRM, GETIN, YES) */
#undef SPEAK
-void fSPEAK(
N)long N;
{
+void fSPEAK(
long N)
{
long BLANK, CASE, I, K, L, NEG, NPARMS, PARM, PRMTYP, STATE;
/* PRINT THE MESSAGE WHICH STARTS AT LINES(N). PRECEDE IT WITH A BLANK LINE
long BLANK, CASE, I, K, L, NEG, NPARMS, PARM, PRMTYP, STATE;
/* PRINT THE MESSAGE WHICH STARTS AT LINES(N). PRECEDE IT WITH A BLANK LINE
@@
-101,7
+103,7
@@
L380: SHFTXT(LNPOSN+2,-2);
goto L32;
L40: if(BLANK)TYPE0();
goto L32;
L40: if(BLANK)TYPE0();
- BLANK=
FALSE
;
+ BLANK=
false
;
TYPE();
K=L+1;
if(LINES[K] >= 0) goto L10;
TYPE();
K=L+1;
if(LINES[K] >= 0) goto L10;
@@
-112,7
+114,7
@@
L40: if(BLANK)TYPE0();
#define SPEAK(N) fSPEAK(N)
#undef PSPEAK
#define SPEAK(N) fSPEAK(N)
#undef PSPEAK
-void fPSPEAK(
MSG,SKIP)long MSG, SKIP;
{
+void fPSPEAK(
long MSG,long SKIP)
{
long I, M;
/* FIND THE SKIP+1ST MESSAGE FROM MSG AND PRINT IT. MSG SHOULD BE THE INDEX OF
long I, M;
/* FIND THE SKIP+1ST MESSAGE FROM MSG AND PRINT IT. MSG SHOULD BE THE INDEX OF
@@
-134,7
+136,7
@@
L9: SPEAK(M);
#define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP)
#undef RSPEAK
#define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP)
#undef RSPEAK
-void fRSPEAK(
I)long I;
{
+void fRSPEAK(
long I)
{
;
/* PRINT THE I-TH "RANDOM" MESSAGE (SECTION 6 OF DATABASE). */
;
/* PRINT THE I-TH "RANDOM" MESSAGE (SECTION 6 OF DATABASE). */
@@
-148,7
+150,7
@@
void fRSPEAK(I)long I; {
#define RSPEAK(I) fRSPEAK(I)
#undef SETPRM
#define RSPEAK(I) fRSPEAK(I)
#undef SETPRM
-void fSETPRM(
FIRST,P1,P2)long FIRST, P1, P2;
{
+void fSETPRM(
long FIRST, long P1, long P2)
{
;
/* STORES PARAMETERS INTO THE PRMCOM PARMS ARRAY FOR USE BY SPEAK. P1 AND P2
;
/* STORES PARAMETERS INTO THE PRMCOM PARMS ARRAY FOR USE BY SPEAK. P1 AND P2
@@
-169,7
+171,7
@@
void fSETPRM(FIRST,P1,P2)long FIRST, P1, P2; {
#define WORD1X (*wORD1X)
#define WORD2 (*wORD2)
#define WORD2X (*wORD2X)
#define WORD1X (*wORD1X)
#define WORD2 (*wORD2)
#define WORD2X (*wORD2X)
-void fGETIN(
wORD1,wORD1X,wORD2,wORD2X)long *wORD1, *wORD1X, *wORD2, *wORD2X;
{
+void fGETIN(
long *wORD1, long *wORD1X, long *wORD2, long *wORD2X)
{
long JUNK;
/* GET A COMMAND FROM THE ADVENTURER. SNARF OUT THE FIRST WORD, PAD IT WITH
long JUNK;
/* GET A COMMAND FROM THE ADVENTURER. SNARF OUT THE FIRST WORD, PAD IT WITH
@@
-180,17
+182,17
@@
long JUNK;
L10: if(BLKLIN)TYPE0();
L10: if(BLKLIN)TYPE0();
- MAPLIN(
FALSE
);
- WORD1=GETTXT(
TRUE,TRUE,TRUE
,0);
+ MAPLIN(
false
);
+ WORD1=GETTXT(
true,true,true
,0);
if(BLKLIN && WORD1 < 0) goto L10;
if(BLKLIN && WORD1 < 0) goto L10;
- WORD1X=GETTXT(
FALSE,TRUE,TRUE
,0);
-L12: JUNK=GETTXT(
FALSE,TRUE,TRUE
,0);
+ WORD1X=GETTXT(
false,true,true
,0);
+L12: JUNK=GETTXT(
false,true,true
,0);
if(JUNK > 0) goto L12;
if(JUNK > 0) goto L12;
- WORD2=GETTXT(
TRUE,TRUE,TRUE
,0);
- WORD2X=GETTXT(
FALSE,TRUE,TRUE
,0);
-L22: JUNK=GETTXT(
FALSE,TRUE,TRUE
,0);
+ WORD2=GETTXT(
true,true,true
,0);
+ WORD2X=GETTXT(
false,true,true
,0);
+L22: JUNK=GETTXT(
false,true,true
,0);
if(JUNK > 0) goto L22;
if(JUNK > 0) goto L22;
- if(GETTXT(
TRUE,TRUE,TRUE
,0) <= 0)return;
+ if(GETTXT(
true,true,true
,0) <= 0)return;
RSPEAK(53);
goto L10;
}
RSPEAK(53);
goto L10;
}
@@
-203,7
+205,7
@@
L22: JUNK=GETTXT(FALSE,TRUE,TRUE,0);
#undef WORD2X
#define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X)
#undef YES
#undef WORD2X
#define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X)
#undef YES
-long fYES(
X,Y,Z)long X, Y, Z;
{
+long fYES(
long X, long Y, long Z)
{
long YES, REPLY, JUNK1, JUNK2, JUNK3;
long YES, REPLY, JUNK1, JUNK2, JUNK3;
@@
-216,10
+218,10
@@
L1: RSPEAK(X);
if(REPLY == MAKEWD(1415) || REPLY == MAKEWD(14)) goto L20;
RSPEAK(185);
goto L1;
if(REPLY == MAKEWD(1415) || REPLY == MAKEWD(14)) goto L20;
RSPEAK(185);
goto L1;
-L10: YES=
TRUE
;
+L10: YES=
true
;
RSPEAK(Y);
return(YES);
RSPEAK(Y);
return(YES);
-L20: YES=
FALSE
;
+L20: YES=
false
;
RSPEAK(Z);
return(YES);
}
RSPEAK(Z);
return(YES);
}
@@
-239,7
+241,7
@@
L20: YES=FALSE;
#define YES(X,Y,Z) fYES(X,Y,Z)
#undef GETNUM
#define YES(X,Y,Z) fYES(X,Y,Z)
#undef GETNUM
-long fGETNUM(
K)long K;
{
+long fGETNUM(
long K)
{
long DIGIT, GETNUM, SIGN;
/* OBTAIN THE NEXT INTEGER FROM AN INPUT LINE. IF K>0, WE FIRST READ A
long DIGIT, GETNUM, SIGN;
/* OBTAIN THE NEXT INTEGER FROM AN INPUT LINE. IF K>0, WE FIRST READ A
@@
-276,7
+278,7
@@
L42: GETNUM=GETNUM*SIGN;
#define GETNUM(K) fGETNUM(K)
#undef GETTXT
#define GETNUM(K) fGETNUM(K)
#undef GETTXT
-long fGETTXT(
SKIP,ONEWRD,UPPER,HASH)long HASH, ONEWRD, SKIP, UPPER;
{
+long fGETTXT(
long SKIP,long ONEWRD, long UPPER, long HASH)
{
long CHAR, GETTXT, I; static long SPLITTING = -1;
/* TAKE CHARACTERS FROM AN INPUT LINE AND PACK THEM INTO 30-BIT WORDS.
long CHAR, GETTXT, I; static long SPLITTING = -1;
/* TAKE CHARACTERS FROM AN INPUT LINE AND PACK THEM INTO 30-BIT WORDS.
@@
-324,7
+326,7
@@
L15: /*etc*/ ;
#define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH)
#undef MAKEWD
#define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH)
#undef MAKEWD
-long fMAKEWD(
LETTRS)long LETTRS;
{
+long fMAKEWD(
long LETTRS)
{
long I, L, MAKEWD;
/* COMBINE FIVE UPPERCASE LETTERS (REPRESENTED BY PAIRS OF DECIMAL DIGITS
long I, L, MAKEWD;
/* COMBINE FIVE UPPERCASE LETTERS (REPRESENTED BY PAIRS OF DECIMAL DIGITS
@@
-353,7
+355,7
@@
L10: MAKEWD=MAKEWD+I*(MOD(L,50)+10);
#define MAKEWD(LETTRS) fMAKEWD(LETTRS)
#undef PUTTXT
#define STATE (*sTATE)
#define MAKEWD(LETTRS) fMAKEWD(LETTRS)
#undef PUTTXT
#define STATE (*sTATE)
-void fPUTTXT(
WORD,sTATE,CASE,HASH)long CASE, HASH, *sTATE, WORD;
{
+void fPUTTXT(
long WORD, long *sTATE, long CASE, long HASH)
{
long ALPH1, ALPH2, BYTE, DIV, I, W;
/* UNPACK THE 30-BIT VALUE IN WORD TO OBTAIN UP TO 5 INTEGER-ENCODED CHARS,
long ALPH1, ALPH2, BYTE, DIV, I, W;
/* UNPACK THE 30-BIT VALUE IN WORD TO OBTAIN UP TO 5 INTEGER-ENCODED CHARS,
@@
-398,7
+400,7
@@
L18: W=(W-BYTE*DIV)*64;
#undef STATE
#define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH)
#undef SHFTXT
#undef STATE
#define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH)
#undef SHFTXT
-void fSHFTXT(
FROM,DELTA)long DELTA, FROM;
{
+void fSHFTXT(
long FROM, long DELTA)
{
long I, II, JJ;
/* MOVE INLINE(N) TO INLINE(N+DELTA) FOR N=FROM,LNLENG. DELTA CAN BE
long I, II, JJ;
/* MOVE INLINE(N) TO INLINE(N+DELTA) FOR N=FROM,LNLENG. DELTA CAN BE
@@
-442,8
+444,7
@@
long TEMP;
/* SUSPEND/RESUME I/O ROUTINES (SAVWDS, SAVARR, SAVWRD) */
#undef SAVWDS
/* SUSPEND/RESUME I/O ROUTINES (SAVWDS, SAVARR, SAVWRD) */
#undef SAVWDS
-void fSAVWDS(W1,W2,W3,W4,W5,W6,W7)long *W1, *W2, *W3, *W4, *W5, *W6, *W7; {
-;
+void fSAVWDS(long *W1, long *W2, long *W3, long *W4, long *W5, long *W6, long *W7) {
/* WRITE OR READ 7 VARIABLES. SEE SAVWRD. */
/* WRITE OR READ 7 VARIABLES. SEE SAVWRD. */
@@
-461,7
+462,7
@@
void fSAVWDS(W1,W2,W3,W4,W5,W6,W7)long *W1, *W2, *W3, *W4, *W5, *W6, *W7; {
#define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
#undef SAVARR
#define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
#undef SAVARR
-void fSAVARR(
ARR,N)long ARR[], N;
{
+void fSAVARR(
long ARR[], long N)
{
long I;
/* WRITE OR READ AN ARRAY OF N WORDS. SEE SAVWRD. */
long I;
/* WRITE OR READ AN ARRAY OF N WORDS. SEE SAVWRD. */
@@
-478,7
+479,7
@@
L1: SAVWRD(0,ARR[I]);
#define SAVARR(ARR,N) fSAVARR(ARR,N)
#undef SAVWRD
#define WORD (*wORD)
#define SAVARR(ARR,N) fSAVARR(ARR,N)
#undef SAVWRD
#define WORD (*wORD)
-void fSAVWRD(
OP,wORD)long OP, *wORD;
{
+void fSAVWRD(
long OP, long *wORD)
{
static long BUF[250], CKSUM = 0, H1, HASH = 0, N = 0, STATE = 0;
/* IF OP<0, START WRITING A FILE, USING WORD TO INITIALISE ENCRYPTION; SAVE
static long BUF[250], CKSUM = 0, H1, HASH = 0, N = 0, STATE = 0;
/* IF OP<0, START WRITING A FILE, USING WORD TO INITIALISE ENCRYPTION; SAVE
@@
-515,7
+516,7
@@
L10: STATE=OP;
L13: CKSUM=BUF[0];
return;
L13: CKSUM=BUF[0];
return;
-L15: SAVEIO(1,
TRUE
,BUF);
+L15: SAVEIO(1,
true
,BUF);
HASH=MOD(1234L*5678L-BUF[0],1048576L);
goto L13;
HASH=MOD(1234L*5678L-BUF[0],1048576L);
goto L13;
@@
-523,7
+524,7
@@
L30: if(N == 250)SAVEIO(1,STATE > 0,BUF);
N=MOD(N,250)+1;
if(STATE > 0) goto L32;
N--; BUF[N]=CKSUM; N++;
N=MOD(N,250)+1;
if(STATE > 0) goto L32;
N--; BUF[N]=CKSUM; N++;
- SAVEIO(1,
FALSE
,BUF);
+ SAVEIO(1,
false
,BUF);
L32: N--; WORD=BUF[N]-CKSUM; N++;
SAVEIO(-1,STATE > 0,BUF);
STATE=0;
L32: N--; WORD=BUF[N]-CKSUM; N++;
SAVEIO(-1,STATE > 0,BUF);
STATE=0;
@@
-540,7
+541,7
@@
L32: N--; WORD=BUF[N]-CKSUM; N++;
#undef WORD
#define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
#undef VOCAB
#undef WORD
#define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
#undef VOCAB
-long fVOCAB(
ID,INIT)long ID, INIT;
{
+long fVOCAB(
long ID, long INIT)
{
long HASH, I, VOCAB;
/* LOOK UP ID IN THE VOCABULARY (ATAB) AND RETURN ITS "DEFINITION" (KTAB), OR
long HASH, I, VOCAB;
/* LOOK UP ID IN THE VOCABULARY (ATAB) AND RETURN ITS "DEFINITION" (KTAB), OR
@@
-573,7
+574,7
@@
L3: VOCAB=KTAB[I];
#define VOCAB(ID,INIT) fVOCAB(ID,INIT)
#undef DSTROY
#define VOCAB(ID,INIT) fVOCAB(ID,INIT)
#undef DSTROY
-void fDSTROY(
OBJECT)long OBJECT;
{
+void fDSTROY(
long OBJECT)
{
;
/* PERMANENTLY ELIMINATE "OBJECT" BY MOVING TO A NON-EXISTENT LOCATION. */
;
/* PERMANENTLY ELIMINATE "OBJECT" BY MOVING TO A NON-EXISTENT LOCATION. */
@@
-839,9
+840,9
@@
void fBUG(NUM)long NUM; {
* 28 INVALID MONTH RETURNED BY DATE FUNCTION
* 29 TOO MANY PARAMETERS GIVEN TO SETPRM */
* 28 INVALID MONTH RETURNED BY DATE FUNCTION
* 29 TOO MANY PARAMETERS GIVEN TO SETPRM */
- printf("Fatal error %d. See source code for interpretation.\n",
+ printf("Fatal error %
l
d. See source code for interpretation.\n",
NUM);
NUM);
- exit(
FALSE
);
+ exit(
0
);
}
}
@@
-888,19
+889,15
@@
long I, VAL; static FILE *OPENED = NULL;
if(MAP2[1] == 0)MPINIT();
if(FIL) goto L15;
if(MAP2[1] == 0)MPINIT();
if(FIL) goto L15;
-
gets(INLINE+1
);
+
IGNORE(fgets(INLINE+1, sizeof(INLINE)-1, stdin)
);
if(feof(stdin)) score(1);
goto L20;
L15: if(!OPENED){
if(feof(stdin)) score(1);
goto L20;
L15: if(!OPENED){
-#ifdef AMIGA
- OPENED=fopen("ram:adventure.text","r" /* NOT binary */);
- if(!OPENED)
-#endif
OPENED=fopen("adventure.text","r" /* NOT binary */);
OPENED=fopen("adventure.text","r" /* NOT binary */);
- if(!OPENED){printf("Can't read adventure.text!\n"); exit(
FALSE
);}
+ if(!OPENED){printf("Can't read adventure.text!\n"); exit(
0
);}
}
}
-
fgets(INLINE+1,100,OPENED
);
+
IGNORE(fgets(INLINE+1,100,OPENED)
);
L20: LNLENG=0;
/* 25 */ for (I=1; I<=100 && INLINE[I]!=0; I++) {
L20: LNLENG=0;
/* 25 */ for (I=1; I<=100 && INLINE[I]!=0; I++) {
@@
-1002,12
+999,12
@@
L10: fclose(F);
return;
L20: printf("\nFile name: ");
return;
L20: printf("\nFile name: ");
-
gets(NAME
);
+
IGNORE(fgets(NAME, sizeof(NAME), stdin)
);
F=fopen(NAME,(IN ? READ_MODE : WRITE_MODE));
if(F == NULL) {printf("Can't open file, try again.\n"); goto L20;}
return;
F=fopen(NAME,(IN ? READ_MODE : WRITE_MODE));
if(F == NULL) {printf("Can't open file, try again.\n"); goto L20;}
return;
-L30: if(IN)
fread(ARR,4,250,F
);
+L30: if(IN)
IGNORE(fread(ARR,4,250,F)
);
if(!IN)fwrite(ARR,4,250,F);
return;
if(!IN)fwrite(ARR,4,250,F);
return;