X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=advent.h;h=ba37940b53d26b14ebe777119051414c1c65e50e;hb=c3a2816821512b59a09866a594a9bec699193271;hp=b642fbf6dccf26441cfd053d2ae91060f495f800;hpb=ecff53d3a8322224bafe0c2a4cffc3e32840e82a;p=open-adventure.git diff --git a/advent.h b/advent.h index b642fbf..ba37940 100644 --- a/advent.h +++ b/advent.h @@ -9,8 +9,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 /* 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 */ @@ -63,16 +61,17 @@ struct game_t { long turns; bool wzdark; /* whether the loc he's leaving was dark */ long zzword; - long abbrev[LOCSIZ + 1]; - long atloc[LOCSIZ + 1]; + bool blooded; /* has player drunk of dragon's blood? */ + long abbrev[NLOCATIONS + 1]; + long atloc[NLOCATIONS + 1]; long dseen[NDWARVES + 1]; long dloc[NDWARVES + 1]; long odloc[NDWARVES + 1]; long fixed[NOBJECTS + 1]; long link[NOBJECTS * 2 + 1]; long place[NOBJECTS + 1]; - long hinted[HINT_COUNT]; - long hintlc[HINT_COUNT]; + long hinted[NHINTS]; + long hintlc[NHINTS]; long prop[NOBJECTS + 1]; }; @@ -85,6 +84,8 @@ extern const char advent_to_ascii[]; extern FILE *logfp; extern bool oldstyle, editline, prompt; +enum speaktype {touch, look, hear, study}; + /* b is not needed for POSIX but harmless */ #define READ_MODE "rb" #define WRITE_MODE "wb" @@ -96,7 +97,7 @@ extern bool wordeq(token_t, token_t); extern bool wordempty(token_t); extern void wordclear(token_t *); extern void speak(const char*, ...); -extern void pspeak(vocab_t, int, ...); +extern void pspeak(vocab_t, enum speaktype, int, ...); extern void rspeak(vocab_t, ...); extern bool GETIN(FILE *, token_t*, token_t*, token_t*, token_t*); extern void echo_input(FILE*, char*, char*);