X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=advent.h;h=72af32f58592371f62727ad96584e7fea9d307f9;hb=07e7b8131ee6a4424cf269fe1ebc310037cf1d0f;hp=085244067441c5de988a35ef3c3d57df88142b8b;hpb=eba8015059c1ad2d20e55be9ed69c22aec1871be;p=open-adventure.git diff --git a/advent.h b/advent.h index 0852440..72af32f 100644 --- a/advent.h +++ b/advent.h @@ -20,6 +20,7 @@ #define PANICTIME 15 // time left after closing #define BATTERYLIFE 2500 // turn limit increment from batteries #define WORD_NOT_FOUND -1 // "Word not found" flag value for the vocab hash functions. +#define WORD_EMPTY 0 // "Word empty" flag value for the vocab hash functions #define CARRIED -1 // Player is toting it #define READ_MODE "rb" // b is not needed for POSIX but harmless #define WRITE_MODE "wb" // b is not needed for POSIX but harmless @@ -181,23 +182,23 @@ struct command_t { enum speechpart part; vocab_t verb; vocab_t obj; - token_t wd1, wd1x; - token_t wd2, wd2x; + token_t wd1; + token_t wd2; + char raw1[BUFSIZ], raw2[BUFSIZ]; }; extern struct game_t game; extern struct settings_t settings; -extern char* xstrdup(const char* s); -extern void* xmalloc(size_t size); extern void packed_to_token(long, char token[]); -extern long token_to_packed(const char token[TOKLEN+1]); -extern void tokenize(char*, long tokens[4]); +extern long token_to_packed(const char token[]); +extern void tokenize(char*, struct command_t *); extern void vspeak(const char*, bool, va_list); extern bool wordeq(token_t, token_t); extern bool wordempty(token_t); extern void wordclear(token_t *); extern void speak(const char*, ...); +extern void sspeak(long msg, ...); extern void pspeak(vocab_t, enum speaktype, int, bool, ...); extern void rspeak(vocab_t, ...); extern void echo_input(FILE*, const char*, const char*);