X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=advent.h;h=71b281ef8460f4e93d4038b89cccbf4226f1e0df;hp=2ef6a59bdf59ea88f26d5138a72a6a26f3011768;hb=1c4fcaf43edea3d1a29fe6f4949f6397c314c67e;hpb=e712f4c0e05bfa842e342f60f7ea3e33da9199fd diff --git a/advent.h b/advent.h index 2ef6a59..71b281e 100644 --- a/advent.h +++ b/advent.h @@ -6,6 +6,7 @@ #include "dungeon.h" #define LINESIZE 1024 +#define TOKLEN 5 // # sigificant character sin a token */ #define NDWARVES 6 // number of dwarves #define PIRATE NDWARVES // must be NDWARVES-1 when zero-origin #define DALTLC LOC_NUGGET // alternate dwarf location @@ -151,7 +152,7 @@ struct game_t { long trnluz; // # points lost so far due to number of turns used long turns; // how many commands he's given (ignores yes/no) bool wzdark; // whether the loc he's leaving was dark - char zzword[6]; // randomly generated magic word from bird + char zzword[TOKLEN+1]; // randomly generated magic word from bird bool blooded; // has player drunk of dragon's blood? long abbrev[NLOCATIONS + 1]; long atloc[NLOCATIONS + 1]; @@ -180,23 +181,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[6]); -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*);