Add vocab length define to newdb.
[open-adventure.git] / newdungeon.py
index 0575d2c8b3afad7a03812f1482244d1f11d70077..3399cafa1a01205208e945ae8fe68c19e76878cf 100755 (executable)
@@ -96,20 +96,23 @@ typedef struct {{
 
 extern const location_t locations[];
 extern const object_description_t object_descriptions[];
-extern const const char* arbitrary_messages[];
-extern const const class_t classes[];
+extern const char* arbitrary_messages[];
+extern const class_t classes[];
 extern const turn_threshold_t turn_thresholds[];
 extern const obituary_t obituaries[];
 extern const hint_t hints[];
 extern long conditions[];
 extern const vocabulary_t vocabulary[];
+extern const long actspk[];
 
-#define NLOCATIONS             {}
+#define NLOCATIONS     {}
 #define NOBJECTS       {}
 #define NHINTS         {}
 #define NCLASSES       {}
 #define NDEATHS                {}
 #define NTHRESHOLDS    {}
+#define NVERBS         {}
+#define NVOCAB          {}
 
 enum arbitrary_messages_refs {{
 {}
@@ -170,6 +173,11 @@ const vocabulary_t vocabulary[] = {{
 {}
 }};
 
+const long actspk[] = {{
+    NO_MESSAGE,
+{}
+}};
+
 /* end */
 """
 
@@ -404,6 +412,12 @@ def get_vocabulary(vocabulary):
     voc_str = voc_str[:-1] # trim trailing newline
     return voc_str
 
+def get_actspk(actspk):
+    res = ""
+    for (i, word) in actspk.items():
+        res += "    %s,\n" % word
+    return res
+
 if __name__ == "__main__":
     with open(yaml_name, "r") as f:
         db = yaml.load(f)
@@ -421,6 +435,7 @@ if __name__ == "__main__":
         get_hints(db["hints"], db["arbitrary_messages"]),
         get_condbits(db["locations"]),
         get_vocabulary(db["vocabulary"]),
+        get_actspk(db["actspk"]),
     )
 
     h = h_template.format(
@@ -430,6 +445,8 @@ if __name__ == "__main__":
         len(db["classes"]),
         len(db["obituaries"]),
         len(db["turn_thresholds"]),
+        len(db["actspk"]),
+        len(db["vocabulary"]),
         get_refs(db["arbitrary_messages"]),
         get_refs(db["locations"]),
         get_refs(db["object_descriptions"]),