From: Eric S. Raymond Date: Sun, 9 Apr 2023 00:20:36 +0000 (-0400) Subject: More nontrivial macro abstraction of state checks. X-Git-Tag: 1.16~11 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=191d3cb04393599e90be909013494ca6f68ba328;p=open-adventure.git More nontrivial macro abstraction of state checks. game.prop < 0 becomes an alternation of macros. --- diff --git a/main.c b/main.c index 4b6165e..196a4ed 100644 --- a/main.c +++ b/main.c @@ -1098,10 +1098,10 @@ static bool do_command(void) * game.prop < 0 and stash them. This way objects won't be * described until they've been picked up and put down * separate from their respective piles. */ - if (game.objects[OYSTER].prop < 0 && TOTING(OYSTER)) + if ((PROP_IS_NOTFOUND(OYSTER) || PROP_IS_STASHED(OYSTER)) && TOTING(OYSTER)) pspeak(OYSTER, look, true, 1); for (size_t i = 1; i <= NOBJECTS; i++) { - if (TOTING(i) && game.objects[i].prop < 0) + if (TOTING(i) && (PROP_IS_NOTFOUND(i) || PROP_IS_STASHED(i))) game.objects[i].prop = PROP_STASHED(i); } }