X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.h;h=869c6728580006ac388c83a20122e21b7a76f8df;hb=e3e01af7fa1cd543f631f074c73f691d1f6315be;hp=6654ea95983b09f2a05ebcee8183ddd1e12ef948;hpb=24d7aeaf8a1dc13034884044139728045604fc37;p=open-adventure.git diff --git a/misc.h b/misc.h index 6654ea9..869c672 100644 --- a/misc.h +++ b/misc.h @@ -1,10 +1,9 @@ -#ifdef __MSDOS__ /* define fopen modes for binary files */ +#include +#include + +/* b is not needed for POSIX but harmless */ #define READ_MODE "rb" #define WRITE_MODE "wb" -#else -#define READ_MODE "r" -#define WRITE_MODE "w" -#endif extern void fSPEAK(long); #define SPEAK(N) fSPEAK(N) @@ -14,11 +13,11 @@ extern void fRSPEAK(long); #define RSPEAK(I) fRSPEAK(I) extern void fSETPRM(long,long,long); #define SETPRM(FIRST,P1,P2) fSETPRM(FIRST,P1,P2) -extern void fGETIN(long*,long*,long*,long*); -#define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X) -extern long fYES(long,long,long); -#define YES(X,Y,Z) fYES(X,Y,Z) -extern long fGETNUM(long); +extern void fGETIN(FILE *,long*,long*,long*,long*); +#define GETIN(input,WORD1,WORD1X,WORD2,WORD2X) fGETIN(input,&WORD1,&WORD1X,&WORD2,&WORD2X) +extern long fYES(FILE *,long,long,long); +#define YES(input,X,Y,Z) fYES(input,X,Y,Z) +extern long fGETNUM(FILE *); #define GETNUM(K) fGETNUM(K) extern long fGETTXT(long,long,long,long); #define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH) @@ -56,13 +55,11 @@ extern long fSETBIT(long); #define SETBIT(BIT) fSETBIT(BIT) extern long fTSTBIT(long,long); #define TSTBIT(MASK,BIT) fTSTBIT(MASK,BIT) -extern long fRAN(long); -#define RAN(RANGE) fRAN(RANGE) extern long fRNDVOC(long,long); #define RNDVOC(CHAR,FORCE) fRNDVOC(CHAR,FORCE) extern void fBUG(long); #define BUG(NUM) fBUG(NUM) -extern void fMAPLIN(long); +extern void fMAPLIN(FILE *); #define MAPLIN(FIL) fMAPLIN(FIL) extern void fTYPE(); #define TYPE() fTYPE() @@ -70,9 +67,11 @@ extern void fMPINIT(); #define MPINIT() fMPINIT() extern void fSAVEIO(long,long,long*); #define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR) -extern void fDATIME(long*,long*); -#define DATIME(D,T) fDATIME(&D,&T) +#define DATIME(D,T) do {struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); D=ts.tv_sec, T=ts.tv_nsec;} while (0) extern long fIABS(long); #define IABS(N) fIABS(N) extern long fMOD(long,long); #define MOD(N,M) fMOD(N,M) +extern void set_seed_from_time(void); +extern unsigned long get_next_lcg_value(void); +extern long randrange(long);