From 191d3cb04393599e90be909013494ca6f68ba328 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sat, 8 Apr 2023 20:20:36 -0400 Subject: [PATCH] More nontrivial macro abstraction of state checks. game.prop < 0 becomes an alternation of macros. --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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); } } -- 2.31.1