Give obituary messages their own data structure.
This commit is contained in:
parent
bba2af13d5
commit
9229fdf2a3
2 changed files with 35 additions and 3 deletions
|
@ -60,14 +60,20 @@ typedef struct {
|
|||
descriptions_t description;
|
||||
} location_t;
|
||||
|
||||
typedef struct {
|
||||
const char* query;
|
||||
const char* yes_response;
|
||||
} obituary_t;
|
||||
|
||||
extern location_t locations[];
|
||||
extern object_description_t object_descriptions[];
|
||||
extern const char* arbitrary_messages[];
|
||||
extern const char* class_messages[];
|
||||
extern const char* turn_threshold_messages[];
|
||||
extern obituary_t obituaries[];
|
||||
|
||||
extern size_t CLSSES;
|
||||
|
||||
extern int maximum_deaths;
|
||||
"""
|
||||
|
||||
c = """#include "{}"
|
||||
|
@ -126,13 +132,32 @@ for key, data in dungeon["object_descriptions"]:
|
|||
except (TypeError, IndexError):
|
||||
c += " .longs = NULL,\n"
|
||||
c += " },\n"
|
||||
h += "};"
|
||||
c += "};"
|
||||
h += "};\n\n"
|
||||
c += "};\n\n"
|
||||
|
||||
c += "obituary_t obituaries[] = {\n"
|
||||
for obit in dungeon["obituaries"]:
|
||||
|
||||
query = quotewrap(c_escape(obit["query"]))
|
||||
yes_response = quotewrap(c_escape(obit["yes_response"]))
|
||||
|
||||
c += """ {{
|
||||
.query = {},
|
||||
.yes_response = {},
|
||||
}},
|
||||
""".format(query, yes_response)
|
||||
|
||||
c += "};\n"
|
||||
|
||||
c += """
|
||||
size_t CLSSES = {};
|
||||
""".format(len(dungeon["class_messages"]))
|
||||
|
||||
c += """
|
||||
int maximum_deaths = {};
|
||||
""".format(len(dungeon["obituaries"]))
|
||||
|
||||
|
||||
# finally, write out the files
|
||||
d = {
|
||||
h_name: h,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue