From: Eric S. Raymond Date: Fri, 30 Nov 2018 14:49:23 +0000 (-0500) Subject: Address GitLab issue #45: OSX Compile issue X-Git-Tag: 1.7~4 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=6667ffd1f10e75ee4b75a3430d76e6f1b4e51090;p=open-adventure.git Address GitLab issue #45: OSX Compile issue --- diff --git a/actions.c b/actions.c index ceb728a..9c3eb77 100644 --- a/actions.c +++ b/actions.c @@ -211,11 +211,11 @@ static int bigwords(vocab_t id) if (game.place[EGGS] == LOC_NOWHERE && game.place[TROLL] == LOC_NOWHERE && game.prop[TROLL] == TROLL_UNPAID) game.prop[TROLL] = TROLL_PAIDONCE; if (HERE(EGGS)) - pspeak(EGGS, look, EGGS_VANISHED, true); + pspeak(EGGS, look, true, EGGS_VANISHED); else if (game.loc == objects[EGGS].plac) - pspeak(EGGS, look, EGGS_HERE, true); + pspeak(EGGS, look, true, EGGS_HERE); else - pspeak(EGGS, look, EGGS_DONE, true); + pspeak(EGGS, look, true, EGGS_DONE); move(EGGS, objects[EGGS].plac); return GO_CLEAROBJ; @@ -500,7 +500,7 @@ static int discard(verb_t verb, obj_t obj) if (obj == COINS && HERE(VEND)) { DESTROY(COINS); drop(BATTERY, game.loc); - pspeak(BATTERY, look, FRESH_BATTERIES, true); + pspeak(BATTERY, look, true, FRESH_BATTERIES); return GO_CLEAROBJ; } @@ -640,7 +640,7 @@ static int extinguish(verb_t verb, obj_t obj) if (game.prop[URN] != URN_EMPTY) { state_change(URN, URN_DARK); } else { - pspeak(URN, change, URN_DARK, true); + pspeak(URN, change, true, URN_DARK); } break; case LAMP: @@ -869,7 +869,7 @@ static int inven(void) rspeak(NOW_HOLDING); empty = false; } - pspeak(i, touch, -1, false); + pspeak(i, touch, false, -1); } if (TOTING(BEAR)) rspeak(TAME_BEAR); @@ -939,7 +939,7 @@ static int listen(void) * depending on whether player has drunk dragon's blood. */ if (i == BIRD) mi += 3 * game.blooded; - pspeak(i, hear, mi, true, game.zzword); + pspeak(i, hear, true, mi, game.zzword); rspeak(NO_MESSAGE); if (i == BIRD && mi == BIRD_ENDSTATE) DESTROY(BIRD); @@ -1108,7 +1108,7 @@ static int read(command_t command) game.prop[command.obj] == STATE_NOTFOUND) { speak(actions[command.verb].message); } else - pspeak(command.obj, study, game.prop[command.obj], true); + pspeak(command.obj, study, true, game.prop[command.obj]); return GO_CLEAROBJ; } diff --git a/advent.h b/advent.h index 09f5ad9..76d63e0 100644 --- a/advent.h +++ b/advent.h @@ -209,7 +209,7 @@ extern struct settings_t settings; extern bool get_command_input(command_t *); extern void speak(const char*, ...); extern void sspeak(int msg, ...); -extern void pspeak(vocab_t, enum speaktype, int, bool, ...); +extern void pspeak(vocab_t, enum speaktype, bool, int, ...); extern void rspeak(vocab_t, ...); extern void echo_input(FILE*, const char*, const char*); extern bool silent_yes(void); diff --git a/main.c b/main.c index adb0c99..1865483 100644 --- a/main.c +++ b/main.c @@ -710,7 +710,7 @@ static void playermove( int motion) * game.prop[TROLL]=TROLL_UNPAID.) Special stuff * for bear. */ if (game.prop[TROLL] == TROLL_PAIDONCE) { - pspeak(TROLL, look, TROLL_PAIDONCE, true); + pspeak(TROLL, look, true, TROLL_PAIDONCE); game.prop[TROLL] = TROLL_UNPAID; move(TROLL2, LOC_NOWHERE); move(TROLL2 + NOBJECTS, IS_FREE); @@ -956,7 +956,7 @@ static void listobjects(void) kk = (game.loc == game.fixed[STEPS]) ? STEPS_UP : STEPS_DOWN; - pspeak(obj, look, kk, true); + pspeak(obj, look, true, kk); } } } @@ -992,7 +992,7 @@ bool get_preprocessed_command_input(command_t *command) * separate from their respective piles. */ if (game.closed) { if (game.prop[OYSTER] < 0 && TOTING(OYSTER)) - pspeak(OYSTER, look, 1, true); + pspeak(OYSTER, look, true, 1); for (size_t i = 1; i <= NOBJECTS; i++) { if (TOTING(i) && game.prop[i] < 0) game.prop[i] = STASHED(i); diff --git a/misc.c b/misc.c index 0d9405e..5687258 100644 --- a/misc.c +++ b/misc.c @@ -139,7 +139,7 @@ void sspeak(const int msg, ...) va_end(ap); } -void pspeak(vocab_t msg, enum speaktype mode, int skip, bool blank, ...) +void pspeak(vocab_t msg, enum speaktype mode, bool blank, int skip, ...) /* Find the skip+1st message from msg and print it. Modes are: * feel = for inventory, what you can touch * look = the full description for the state the object is in @@ -147,7 +147,7 @@ void pspeak(vocab_t msg, enum speaktype mode, int skip, bool blank, ...) * study = text on the object. */ { va_list ap; - va_start(ap, blank); + va_start(ap, skip); switch (mode) { case touch: vspeak(objects[msg].inventory, blank, ap); @@ -708,7 +708,7 @@ void state_change(obj_t obj, int 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); + pspeak(obj, change, true, state); } /* end */