Improve test coverage.
[open-adventure.git] / advent.h
index 469baa208583e02af2fccbe5bb4d51d97448b4d5..77c8079e6160ead8a349ae39d268f8ba9e975fe4 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -14,6 +14,7 @@
 #define INTRANSITIVE   -1              /* illegal object number */
 #define SPECIALBASE    300             /* base number of special rooms */
 #define WARNTIME       30              /* late game starts at game.limit-this */
+#define PANICTIME      15              /* time left after closing */
 
 typedef long token_t;  /* word token - someday this will be char[TOKLEN+1] */
 typedef long vocab_t;  /* index into a vocabulary array */
@@ -84,7 +85,7 @@ extern bool oldstyle, editline, prompt;
 #define WRITE_MODE "wb"
 extern char* xstrdup(const char*);
 extern void packed_to_token(long, char token[]);
-extern void newspeak(char*);
+extern void speak(const char*);
 extern void PSPEAK(vocab_t,int);
 extern void RSPEAK(vocab_t);
 extern void SETPRM(long,long,long);
@@ -92,7 +93,6 @@ 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 TYPE0(void);
 extern long VOCAB(long,long);
 extern void JUGGLE(long);
 extern void MOVE(long,long);
@@ -105,7 +105,6 @@ extern bool TSTBIT(long,int);
 extern long RNDVOC(long,long);
 extern void BUG(long) __attribute__((noreturn));
 extern bool MAPLIN(FILE *);
-extern void TYPE(void);
 extern void DATIME(long*, long*);
 
 enum termination {endgame, quitgame, scoregame};
@@ -113,8 +112,11 @@ enum termination {endgame, quitgame, scoregame};
 extern void set_seed(long);
 extern unsigned long get_next_lcg_value(void);
 extern long randrange(long);
-extern void score(enum termination);
-extern int saveresume(FILE *, bool);
+extern long score(enum termination);
+extern void terminate(enum termination) __attribute__((noreturn));
+extern int suspend(FILE *);
+extern int resume(FILE *);
+extern int restore(FILE *);
 
 /*
  *  MOD(N,M)   = Arithmetic modulus
@@ -169,6 +171,9 @@ extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
 
 enum speechpart {unknown, intransitive, transitive};
 
+void initialise(void);
+int action(FILE *input, enum speechpart part, long verb, token_t obj);
+
 /* Phase codes for action returns. 
  * These were at one time FORTRAN line numbers.
  * The values don't matter, but perturb their order at your peril.