Confine use of STATE_NOTFOUND to macros.
authorEric S. Raymond <esr@thyrsus.com>
Sun, 9 Apr 2023 02:53:06 +0000 (22:53 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 9 Apr 2023 03:04:34 +0000 (23:04 -0400)
advent.h
main.c
saveresume.c

index 738d546c617633712b57d3bbc8a2255a41a218cd..b24eed78f5dcd005f59b6dff42f5adac1a9106a1 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -61,6 +61,7 @@
 #define PROP_IS_STASHED_OR_UNSEEN(obj) (game.objects[obj].prop < 0)
 #define PROP_SET_FOUND(obj)    (game.objects[obj].prop = STATE_FOUND)
 #define PROP_SET_NOT_FOUND(obj)        (game.objects[obj].prop = STATE_NOTFOUND)
+#define PROP_IS_NOTFOUND2(g, o)        (g.objects[o].prop == STATE_NOTFOUND)
 
 #define PROMPT "> "
 
diff --git a/main.c b/main.c
index 196a4ed571c9524ba6b36610f281131ebcdd1e65..b90056c5e04f83bbddd700c3bc85a4d51e3c9f7d 100644 (file)
--- a/main.c
+++ b/main.c
@@ -859,8 +859,8 @@ static bool closecheck(void)
          *  objects come from known locations and/or states (e.g. the
          *  snake is known to have been destroyed and needn't be
          *  carried away from its old "place"), making the various
-         *  objects be handled differently.  We also drop all other
-         *  objects he might be carrying (lest he have some which
+         *  objects be handled differently.  We also drop all other 
+         *  objects he might be acrrying (lest he have some which
          *  could cause trouble, such as the keys).  We describe the
          *  flash of light and trundle back. */
         put(BOTTLE, LOC_NE, EMPTY_BOTTLE);
@@ -868,7 +868,7 @@ static bool closecheck(void)
         put(OYSTER, LOC_NE, STATE_FOUND);
         put(LAMP, LOC_NE, LAMP_DARK);
         put(ROD, LOC_NE, STATE_FOUND);
-        put(DWARF, LOC_NE, 0);
+        put(DWARF, LOC_NE, STATE_FOUND);
         game.loc = LOC_NE;
         game.oldloc = LOC_NE;
         game.newloc = LOC_NE;
index ceda43c1671edb1dadffaedd81d9d0df99d74c9e..9c788d1c59f99a523a535e139c3842cc12b50aa3 100644 (file)
@@ -218,7 +218,7 @@ bool is_valid(struct game_t valgame)
     int temp_tally = 0;
     for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
         if (objects[treasure].is_treasure) {
-            if (valgame.objects[treasure].prop == STATE_NOTFOUND) {
+            if (PROP_IS_NOTFOUND2(valgame, treasure)) {
                 ++temp_tally;
             }
         }