X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=advent.h;h=1efde8328811c21fa09ca466fb4f7f6bf03b1bf2;hb=d46407d3279fa54bcbc66fdf02111383074fa53e;hp=d23d8fd0a54948d71b83e073f9b5925b150c6980;hpb=550734fd3fbd645daa1df42997b8ad876461f609;p=open-adventure.git diff --git a/advent.h b/advent.h index d23d8fd..1efde83 100644 --- a/advent.h +++ b/advent.h @@ -1,20 +1,22 @@ #include +#include #include #include "common.h" #define LINESIZE 100 -#define NDWARVES 6 +#define NDWARVES 6 /* number of dwarves */ #define PIRATE NDWARVES /* must be NDWARVES-1 when zero-origin */ #define DALTLC LOC_NUGGET /* alternate dwarf location */ -#define MINTRS 50 -#define MAXTRS 79 -#define MAXPARMS 25 -#define INVLIMIT 7 +#define MINTRS 50 /* index of lowest reasure */ +#define MAXTRS 79 /* index of highest reasure */ +#define MAXPARMS 25 /* Max parameters for speak() */ +#define INVLIMIT 7 /* inverntory limit (# of objects) */ #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 */ +#define BATTERYLIFE 2500 /* turn limit increment from batteries */ typedef long token_t; /* word token - someday this will be char[TOKLEN+1] */ typedef long vocab_t; /* index into a vocabulary array */ @@ -93,7 +95,7 @@ extern void SETPRM(long,long,long); extern bool GETIN(FILE *,token_t*,token_t*,token_t*,token_t*); extern void echo_input(FILE*, char*, char*); extern char* get_input(void); -extern bool YES(vocab_t, vocab_t, vocab_t); +extern bool YES(const char*, const char*, const char*); extern long GETTXT(bool,bool,bool); extern token_t MAKEWD(long); extern long VOCAB(long,long); @@ -106,7 +108,6 @@ 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 DATIME(long*, long*); @@ -117,8 +118,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 *); /* @@ -147,7 +148,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) @@ -162,15 +163,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};