Do not compare state to magic numbers
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index ce383a0fbd2366cf2c86ffc09ced36c8cdc1795f..0a5ce3d3bdd7e655ca70ece55792366924d60def 100644 (file)
--- a/main.c
+++ b/main.c
@@ -27,7 +27,6 @@
 
 FILE  *logfp = NULL, *rfp = NULL;
 bool oldstyle = false;
-bool editline = true;
 bool prompt = true;
 
 // LCOV_EXCL_START
@@ -63,11 +62,11 @@ int main(int argc, char *argv[])
     /*  Options. */
 
 #ifndef ADVENT_NOSAVE
-    const char* opts = "l:or:s";
-    const char* usage = "Usage: %s [-l logfilename] [-o] [-r restorefilename] [-s] \n";
+    const char* opts = "l:or";
+    const char* usage = "Usage: %s [-l logfilename] [-o] [-r restorefilename]\n";
 #else
-    const char* opts = "l:os";
-    const char* usage = "Usage: %s [-l logfilename] [-o] [-s] \n";
+    const char* opts = "l:o";
+    const char* usage = "Usage: %s [-l logfilename] [-o]\n";
 #endif
     while ((ch = getopt(argc, argv, opts)) != EOF) {
         switch (ch) {
@@ -81,7 +80,7 @@ int main(int argc, char *argv[])
             break;
         case 'o':
             oldstyle = true;
-            editline = prompt = false;
+            prompt = false;
             break;
 #ifndef ADVENT_NOSAVE
         case 'r':
@@ -93,9 +92,6 @@ int main(int argc, char *argv[])
             signal(SIGINT, sig_handler);
             break;
 #endif
-        case 's':
-            editline = false;
-            break;
         default:
             fprintf(stderr,
                     usage, argv[0]);
@@ -107,8 +103,6 @@ int main(int argc, char *argv[])
             fprintf(stderr,
                     "        -r restore from specified saved game file\n");
 #endif
-            fprintf(stderr,
-                    "        -s suppress command editing\n");
             exit(EXIT_FAILURE);
             break;
         }
@@ -776,8 +770,8 @@ static bool closecheck(void)
         juggle(CHASM);
         if (game.prop[BEAR] != BEAR_DEAD)
             DESTROY(BEAR);
-        game.prop[CHAIN] = 0;
-        game.fixed[CHAIN] = 0;
+        game.prop[CHAIN] = CHAIN_HEAP;
+        game.fixed[CHAIN] = CHAIN_HEAP;
         game.prop[AXE] = 0;
         game.fixed[AXE] = 0;
         rspeak(CAVE_CLOSING);
@@ -879,8 +873,8 @@ static void listobjects(void)
 /*  Print out descriptions of objects at this location.  If
  *  not closing and property value is negative, tally off
  *  another treasure.  Rug is special case; once seen, its
- *  game.prop is 1 (dragon on it) till dragon is killed.
- *  Similarly for chain; game.prop is initially 1 (locked to
+ *  game.prop is RUG_DRAGON (dragon on it) till dragon is killed.
+ *  Similarly for chain; game.prop is initially CHAINING_BEAR (locked to
  *  bear).  These hacks are because game.prop=0 is needed to
  *  get full score. */
 {
@@ -896,8 +890,10 @@ static void listobjects(void)
                 if (game.closed)
                     continue;
                 game.prop[obj] = 0;
-                if (obj == RUG || obj == CHAIN)
-                    game.prop[obj] = 1;
+                if (obj == RUG)
+                    game.prop[RUG] = RUG_DRAGON;
+                if (obj == CHAIN)
+                    game.prop[CHAIN] = CHAINING_BEAR;
                 --game.tally;
                 /*  Note: There used to be a test here to see whether the
                  *  player had blown it so badly that he could never ever see