Fix test breakage.
[open-adventure.git] / make_dungeon.py
index f8b3147e46c4fc65ad64ad40cc3e2c620bf342cb..b37856368947d219bcb5a79ef66deeaf38fdbdcf 100755 (executable)
@@ -1,8 +1,7 @@
-#!/usr/bin/python3
+#!/usr/bin/env python
 
-# This is the new open-adventure dungeon generator. It'll eventually
-# replace the existing dungeon.c It currently outputs a .h and .c pair
-# for C code.
+# This is the open-adventure dungeon generator. It consumes a YAML description of
+# the dungeon and outputs a dungeon.h and dungeon.c pair of C code files.
 #
 # The nontrivial part of this is the compilation of the YAML for
 # movement rules to the travel array that's actually used by
@@ -385,8 +384,8 @@ def get_objects(obj):
             if labels:
                 global statedefines
                 statedefines += "/* States for %s */\n" % item[0]
-                for (i, label) in enumerate(labels):
-                    statedefines += "#define %s\t%d\n" % (label, i)
+                for (j, label) in enumerate(labels):
+                    statedefines += "#define %s\t%d\n" % (label, j)
                 statedefines += "\n"
         sounds_str = ""
         if attr.get("sounds") == None:
@@ -611,8 +610,8 @@ def buildtravel(locs, objs):
     # him to 22 if he's carrying object 10, and otherwise will go to 14.
     #          11      303008  49
     #          11      9       50
-    # This says that, from 11, 49 takes him to 8 unless game.prop(3)=0, in which
-    # case he goes to 9.  Verb 50 takes him to 9 regardless of game.prop(3).
+    # This says that, from 11, 49 takes him to 8 unless game.prop[3]=0, in which
+    # case he goes to 9.  Verb 50 takes him to 9 regardless of game.prop[3].
     ltravel = []
     verbmap = {}
     for i, motion in enumerate(db["motions"]):
@@ -627,7 +626,7 @@ def buildtravel(locs, objs):
             try:
                 return locnames.index(action[1])
             except ValueError:
-                sys.stderr.write("dungeon: unknown location %s in goto clause of %s\n" % (cond[1], name))
+                sys.stderr.write("dungeon: unknown location %s in goto clause of %s\n" % (action[1], name))
         elif action[0] == "special":
             return 300 + action[1]
         elif action[0] == "speak":
@@ -689,7 +688,7 @@ def buildtravel(locs, objs):
                 tt.append(dest)
                 tt += [motionnames[verbmap[e]].upper() for e in rule["verbs"]]
                 if not rule["verbs"]:
-                    tt.append(1)
+                    tt.append(1)       # Magic dummy entry for null rules
                 ltravel.append(tuple(tt))
 
     # At this point the ltravel data is in the Section 3