X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=misc.c;h=ba834fdffd44b84cef98268a2e2cbadc8dea63b2;hp=9899b08681b89443a814a09c55cf891f5d9d355a;hb=7753ad3134be3184981b1889c1c38069f2bce6e0;hpb=83ff9d0c0edda5c08d9966e75addc8cd806cfe6d diff --git a/misc.c b/misc.c index 9899b08..ba834fd 100644 --- a/misc.c +++ b/misc.c @@ -50,6 +50,23 @@ void packed_to_token(long packed, char token[6]) } } +/* Hide the fact that wods are corrently packed longs */ + +bool wordeq(token_t a, token_t b) +{ + return a == b; +} + +bool wordempty(token_t a) +{ + return a == 0; +} + +void wordclear(token_t *v) +{ + *v = 0; +} + /* I/O routines (SPEAK, PSPEAK, RSPEAK, SETPRM, GETIN, YES) */ void speak(const char* msg) @@ -250,7 +267,7 @@ char* get_input() return (input); } -bool YES(vocab_t question, vocab_t yes_response, vocab_t no_response) +bool YES(const char* question, const char* yes_response, const char* no_response) /* Print message X, wait for yes/no answer. If yes, print Y and return true; * if no, print Z and return false. */ { @@ -258,7 +275,7 @@ bool YES(vocab_t question, vocab_t yes_response, vocab_t no_response) bool outcome; for (;;) { - RSPEAK(question); + speak(question); reply = get_input(); @@ -276,11 +293,11 @@ bool YES(vocab_t question, vocab_t yes_response, vocab_t no_response) free(firstword); if (yes == 0 || y == 0) { - RSPEAK(yes_response); + speak(yes_response); outcome = true; break; } else if (no == 0 || n == 0) { - RSPEAK(no_response); + speak(no_response); outcome = false; break; } else @@ -417,7 +434,7 @@ void MOVE(long object, long where) from = game.fixed[object - NOBJECTS]; else from = game.place[object]; - if (from != NOWHERE && from != CARRIED && !SPECIAL(from)) + if (from != LOC_NOWHERE && from != CARRIED && !SPECIAL(from)) CARRY(object, from); DROP(object, where); } @@ -660,8 +677,8 @@ void DATIME(long* d, long* t) void bug(enum bugtype num, const char *error_string) { - fprintf(stderr, "Fatal error %d, %s.\n", num, error_string); - exit(EXIT_FAILURE); + fprintf(stderr, "Fatal error %d, %s.\n", num, error_string); + exit(EXIT_FAILURE); } /* end */