X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=misc.c;h=c219cfb059ec4b1f38570e208f1c7e498fd7fe45;hp=a793026c34b1af41a068ad0143254e55e6265d2e;hb=603f548a215a0118dc3270d094671199eb28beab;hpb=d522d22c71ce0972efcb8872c851335ca08abaa4 diff --git a/misc.c b/misc.c index a793026..c219cfb 100644 --- a/misc.c +++ b/misc.c @@ -118,11 +118,11 @@ void tokenize(char* raw, struct command_t *cmd) * possible an emulation of the original UI. */ if (settings.oldstyle) { - cmd->raw1[TOKLEN+TOKLEN] = cmd->raw1[TOKLEN+TOKLEN] = '\0'; - for (int i = 0; i < strlen(cmd->raw1); i++) - cmd->raw1[i] = toupper(cmd->raw1[i]); - for (int i = 0; i < strlen(cmd->raw2); i++) - cmd->raw2[i] = toupper(cmd->raw2[i]); + cmd->raw1[TOKLEN + TOKLEN] = cmd->raw2[TOKLEN + TOKLEN] = '\0'; + for (size_t i = 0; i < strlen(cmd->raw1); i++) + cmd->raw1[i] = toupper(cmd->raw1[i]); + for (size_t i = 0; i < strlen(cmd->raw2); i++) + cmd->raw2[i] = toupper(cmd->raw2[i]); } } @@ -351,11 +351,10 @@ char* get_input() bool silent_yes() { - char* reply; bool outcome; for (;;) { - reply = get_input(); + char* reply = get_input(); if (reply == NULL) { // LCOV_EXCL_START // Should be unreachable. Reply should never be NULL @@ -398,13 +397,12 @@ 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. */ { - char* reply; bool outcome; for (;;) { speak(question); - reply = get_input(); + char* reply = get_input(); if (reply == NULL) { // LCOV_EXCL_START // Should be unreachable. Reply should never be NULL @@ -532,7 +530,7 @@ long get_vocab_id(const char* word) // Check for the reservoir magic word. if (strcasecmp(word, game.zzword) == 0) - return (PART + 2000); // FIXME: replace with a proper hash + return ACTION_WORD(PART); return (WORD_NOT_FOUND); } @@ -691,3 +689,10 @@ void bug(enum bugtype num, const char *error_string) // LCOV_EXCL_STOP /* end */ + +void state_change(long obj, long state) +/* Object must have a change-message list for this to be useful; only some do */ +{ + game.prop[obj] = state; + pspeak(obj, change, state, true); +} \ No newline at end of file