Enable input editing with the linenoise library.
[open-adventure.git] / advent.h
index 5cda6ea0bf40f83f6b6977191337358ad57569f3..9e50d9ce45254a4dc729bea06a263b0078b7682f 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -76,7 +76,9 @@ struct game_t {
 extern struct game_t game;
 
 extern long LNLENG, LNPOSN, PARMS[];
-extern char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[], MAP2[];
+extern char rawbuf[LINESIZE], INLINE[LINESIZE+1];
+extern const char ascii_to_advent[];
+extern const char advent_to_ascii[];
 extern FILE *logfp;
 extern bool oldstyle;
 extern lcg_state lcgstate;
@@ -89,17 +91,11 @@ extern void SPEAK(vocab_t);
 extern void PSPEAK(vocab_t,int);
 extern void RSPEAK(vocab_t);
 extern void SETPRM(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)
-
+extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*);
 extern long YES(FILE *,vocab_t,vocab_t,vocab_t);
 extern long GETTXT(bool,bool,bool);
 extern token_t MAKEWD(long);
-
-extern void fPUTTXT(token_t,long*,long);
-#define PUTTXT(WORD,STATE,CASE) fPUTTXT(WORD,&STATE,CASE)
-
+extern void PUTTXT(token_t,long*,long);
 extern void SHFTXT(long,long);
 extern void TYPE0(void);
 
@@ -122,9 +118,8 @@ extern long SETBIT(long);
 extern bool TSTBIT(long,int);
 extern long RNDVOC(long,long);
 extern void BUG(long) __attribute__((noreturn));
-extern void MAPLIN(FILE *);
+extern bool MAPLIN(FILE *);
 extern void TYPE(void);
-extern void MPINIT(void);
 
 extern void fSAVEIO(long,long,long*);
 #define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR)
@@ -185,5 +180,6 @@ extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
    STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2,
    URN, VASE, VEND, VOLCAN, WATER;
 /* everything else */
-extern long I, K, SPK, WD1, WD1X, WD2, WD2X;
+extern long K, SPK, WD1, WD1X, WD2, WD2X;
 
+enum speechpart {unknown, intransitive, transitive};