Use a header/source set common to both advent and the dungeon builder.
[open-adventure.git] / advent.h
index 82cf7ce22fede46168d84b643e400eb3cadd5d50..16b721c7414fd6d56f3394070efc5f570b57a1d6 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdbool.h>
 
-#include "sizes.h"
+#include "common.h"
 
 #define LINESIZE       100
 #define NDWARVES       6
@@ -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;
@@ -96,14 +98,6 @@ extern token_t MAKEWD(long);
 extern void PUTTXT(token_t,long*,long);
 extern void SHFTXT(long,long);
 extern void TYPE0(void);
-
-extern void fSAVWDS(long*,long*,long*,long*,long*,long*,long*);
-#define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
-extern void fSAVARR(long*,long);
-#define SAVARR(ARR,N) fSAVARR(ARR,N)
-extern void fSAVWRD(long,long*);
-#define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
-
 extern long VOCAB(long,long);
 extern void DSTROY(long);
 extern void JUGGLE(long);
@@ -116,20 +110,16 @@ 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)
 extern void DATIME(long*, long*);
-
 extern long MOD(long,long);
 
 extern void set_seed(long);
 extern unsigned long get_next_lcg_value(void);
 extern long randrange(long);
 extern void score(long);
+extern int saveresume(FILE *, bool);
 
 /*  Statement functions
  *
@@ -181,3 +171,10 @@ extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
 /* everything else */
 extern long K, SPK, WD1, WD1X, WD2, WD2X;
 
+enum speechpart {unknown, intransitive, transitive};
+
+/* hack to ignore GCC Unused Result */
+#define IGNORE(r) do{if (r){}}while(0)
+
+/* end */
+