projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Begin to split undifferentiated longs into semantic types.
[open-adventure.git]
/
advent.h
diff --git
a/advent.h
b/advent.h
index 396454e97f0e7c2ba8f1b2f9ef3c2923129ba085..9dc6202c0da80546228c1d2944c8944c33ebc8b0 100644
(file)
--- a/
advent.h
+++ b/
advent.h
@@
-9,6
+9,9
@@
typedef struct lcg_state
unsigned long a, c, m, x;
} lcg_state;
unsigned long a, c, m, x;
} lcg_state;
+typedef long token_t; /* word token - someday this will be a character array */
+typedef long vocab_t; /* index into a vocabulary array */
+
extern long ABB[], ATLOC[], BLKLIN, DFLAG, DLOC[], FIXED[], HOLDNG,
LINK[], LNLENG, LNPOSN,
PARMS[], PLACE[];
extern long ABB[], ATLOC[], BLKLIN, DFLAG, DLOC[], FIXED[], HOLDNG,
LINK[], LNLENG, LNPOSN,
PARMS[], PLACE[];
@@
-21,17
+24,17
@@
extern lcg_state lcgstate;
#define READ_MODE "rb"
#define WRITE_MODE "wb"
#define READ_MODE "rb"
#define WRITE_MODE "wb"
-extern void SPEAK(
long
);
-extern void PSPEAK(
long,long
);
-extern void RSPEAK(
long
);
+extern void SPEAK(
vocab_t
);
+extern void PSPEAK(
vocab_t,int
);
+extern void RSPEAK(
vocab_t
);
extern void SETPRM(long,long,long);
extern void SETPRM(long,long,long);
-extern bool fGETIN(FILE *,
long*,long*,long*,long
*);
+extern bool fGETIN(FILE *,
token_t*,token_t*,token_t*,token_t
*);
#define GETIN(input,WORD1,WORD1X,WORD2,WORD2X) fGETIN(input,&WORD1,&WORD1X,&WORD2,&WORD2X)
#define GETIN(input,WORD1,WORD1X,WORD2,WORD2X) fGETIN(input,&WORD1,&WORD1X,&WORD2,&WORD2X)
-extern long YES(FILE *,
long,long,long
);
-extern long GETTXT(
long,long,long
);
-extern
long
MAKEWD(long);
+extern long YES(FILE *,
vocab_t,vocab_t,vocab_t
);
+extern long GETTXT(
bool,bool,bool
);
+extern
token_t
MAKEWD(long);
extern void fPUTTXT(long,long*,long);
#define PUTTXT(WORD,STATE,CASE) fPUTTXT(WORD,&STATE,CASE)
extern void fPUTTXT(long,long*,long);
#define PUTTXT(WORD,STATE,CASE) fPUTTXT(WORD,&STATE,CASE)