Input source is parametrized all the way down.
[open-adventure.git] / misc.h
1 #include <time.h>
2 #include <stdio.h>
3
4 /* b is not needed for POSIX but harmless */
5 #define READ_MODE "rb"
6 #define WRITE_MODE "wb"
7
8 extern void fSPEAK(long);
9 #define SPEAK(N) fSPEAK(N)
10 extern void fPSPEAK(long,long);
11 #define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP)
12 extern void fRSPEAK(long);
13 #define RSPEAK(I) fRSPEAK(I)
14 extern void fSETPRM(long,long,long);
15 #define SETPRM(FIRST,P1,P2) fSETPRM(FIRST,P1,P2)
16 extern void fGETIN(FILE *,long*,long*,long*,long*);
17 #define GETIN(input,WORD1,WORD1X,WORD2,WORD2X) fGETIN(input,&WORD1,&WORD1X,&WORD2,&WORD2X)
18 extern long fYES(FILE *,long,long,long);
19 #define YES(input,X,Y,Z) fYES(input,X,Y,Z)
20 extern long fGETNUM(FILE *);
21 #define GETNUM(K) fGETNUM(K)
22 extern long fGETTXT(long,long,long,long);
23 #define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH)
24 extern long fMAKEWD(long);
25 #define MAKEWD(LETTRS) fMAKEWD(LETTRS)
26 extern void fPUTTXT(long,long*,long,long);
27 #define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH)
28 extern void fSHFTXT(long,long);
29 #define SHFTXT(FROM,DELTA) fSHFTXT(FROM,DELTA)
30 extern void fTYPE0();
31 #define TYPE0() fTYPE0()
32 extern void fSAVWDS(long*,long*,long*,long*,long*,long*,long*);
33 #define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
34 extern void fSAVARR(long*,long);
35 #define SAVARR(ARR,N) fSAVARR(ARR,N)
36 extern void fSAVWRD(long,long*);
37 #define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
38 extern long fVOCAB(long,long);
39 #define VOCAB(ID,INIT) fVOCAB(ID,INIT)
40 extern void fDSTROY(long);
41 #define DSTROY(OBJECT) fDSTROY(OBJECT)
42 extern void fJUGGLE(long);
43 #define JUGGLE(OBJECT) fJUGGLE(OBJECT)
44 extern void fMOVE(long,long);
45 #define MOVE(OBJECT,WHERE) fMOVE(OBJECT,WHERE)
46 extern long fPUT(long,long,long);
47 #define PUT(OBJECT,WHERE,PVAL) fPUT(OBJECT,WHERE,PVAL)
48 extern void fCARRY(long,long);
49 #define CARRY(OBJECT,WHERE) fCARRY(OBJECT,WHERE)
50 extern void fDROP(long,long);
51 #define DROP(OBJECT,WHERE) fDROP(OBJECT,WHERE)
52 extern long fATDWRF(long);
53 #define ATDWRF(WHERE) fATDWRF(WHERE)
54 extern long fSETBIT(long);
55 #define SETBIT(BIT) fSETBIT(BIT)
56 extern long fTSTBIT(long,long);
57 #define TSTBIT(MASK,BIT) fTSTBIT(MASK,BIT)
58 extern long fRAN(long);
59 #define RAN(RANGE) fRAN(RANGE)
60 extern long fRNDVOC(long,long);
61 #define RNDVOC(CHAR,FORCE) fRNDVOC(CHAR,FORCE)
62 extern void fBUG(long);
63 #define BUG(NUM) fBUG(NUM)
64 extern void fMAPLIN(FILE *);
65 #define MAPLIN(FIL) fMAPLIN(FIL)
66 extern void fTYPE();
67 #define TYPE() fTYPE()
68 extern void fMPINIT();
69 #define MPINIT() fMPINIT()
70 extern void fSAVEIO(long,long,long*);
71 #define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR)
72 #define DATIME(D,T) do {struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); D=ts.tv_sec, T=ts.tv_nsec;} while (0)
73 extern long fIABS(long);
74 #define IABS(N) fIABS(N)
75 extern long fMOD(long,long);
76 #define MOD(N,M) fMOD(N,M)