X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=advent.h;h=3e89be0a87e5e04060c1cdb896e54d658d623a5a;hp=043dd6bb66cdd743c636e6b256eb9fe8e0eab0ac;hb=c2df849dade5bb7d8214c6abb6c0856b84d0d1d1;hpb=704b86afbbf1f60af53a3edd27dafc795674d694 diff --git a/advent.h b/advent.h index 043dd6b..3e89be0 100644 --- a/advent.h +++ b/advent.h @@ -1,4 +1,5 @@ #include +#include #include #include "common.h" @@ -83,17 +84,19 @@ extern bool oldstyle, editline, prompt; /* b is not needed for POSIX but harmless */ #define READ_MODE "rb" #define WRITE_MODE "wb" +extern void* xmalloc(size_t size); extern char* xstrdup(const char*); extern void packed_to_token(long, char token[]); -extern void newspeak(const char*); +extern void speak(const char*); extern void PSPEAK(vocab_t,int); extern void RSPEAK(vocab_t); extern void SETPRM(long,long,long); extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*); -extern long YES(FILE *,vocab_t,vocab_t,vocab_t); +extern void echo_input(FILE*, char*, char*); +extern char* get_input(void); +extern bool YES(const char*, const char*, const char*); 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); @@ -104,9 +107,7 @@ extern long ATDWRF(long); extern long SETBIT(long); 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}; @@ -116,8 +117,8 @@ extern unsigned long get_next_lcg_value(void); extern long randrange(long); extern long score(enum termination); extern void terminate(enum termination) __attribute__((noreturn)); -extern int suspend(FILE *); -extern int resume(FILE *); +extern int suspend(void); +extern int resume(void); extern int restore(FILE *); /* @@ -146,7 +147,7 @@ extern int restore(FILE *); #define FORCED(LOC) (COND[LOC] == 2) #define DARK(DUMMY) ((!CNDBIT(game.loc,LIGHT)) && (game.prop[LAMP] == 0 || !HERE(LAMP))) #define PCT(N) (randrange(100) < (N)) -#define GSTONE(OBJ) ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH) +#define GSTONE(OBJ) ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH) #define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22) #define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT)) #define SPECIAL(LOC) ((LOC) > SPECIALBASE) @@ -161,15 +162,15 @@ extern int restore(FILE *); #define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC) && (LOC) != LOC_FOOF1) /* vocabulary items */ -extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR, +extern long AMBER, ATTACK, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS, - EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD, GRATE, HINT, INVENT, - JADE, KEYS, KNIFE, LAMP, LOCK, LOOK, MAGZIN, MESSAG, MIRROR, NUGGET, NUL, - OGRE, OIL, OYSTER, PANIC, PEARL, PILLOW, PLANT, PLANT2, PYRAM, + EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD, GRATE, HINT, INVENT, + JADE, KEYS, KNIFE, LAMP, LOCK, LOOK, MAGAZINE, MESSAG, MIRROR, NUGGET, NUL, + OGRE, OIL, OYSTER, PANIC, PEARL, PILLOW, PLANT, PLANT2, PYRAMID, RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY, SIGN, SNAKE, - STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2, - URN, VASE, VEND, VOLCAN, WATER; + STEPS, STICK, STREAM, THROW, TRIDENT, TROLL, TROLL2, + URN, VASE, VEND, VOLCANO, WATER; enum speechpart {unknown, intransitive, transitive};