Cleaned some tools up
This commit is contained in:
@@ -42,19 +42,28 @@ with open(args.csv, newline="", encoding="utf-8") as csvfile:
|
||||
outHeader = "#pragma once\n"
|
||||
outHeader += '#include "dusk.h"\n\n'
|
||||
|
||||
itemTypeValues = {}
|
||||
itemIdValues = {}
|
||||
count = 0
|
||||
|
||||
# Create enum for types and ids, include null and count.
|
||||
outHeader += "typedef enum {\n"
|
||||
outHeader += " ITEM_TYPE_NULL = 0,\n"
|
||||
outHeader += f" ITEM_TYPE_NULL = {count},\n"
|
||||
count += 1
|
||||
for itemType in itemTypes:
|
||||
outHeader += f" {csvIdToEnumName(itemType)},\n"
|
||||
outHeader += f" ITEM_TYPE_COUNT\n"
|
||||
itemTypeValues[itemType] = count
|
||||
outHeader += f" {csvIdToEnumName(itemType)} = {count},\n"
|
||||
count += 1
|
||||
outHeader += f" ITEM_TYPE_COUNT = {count}\n"
|
||||
outHeader += "} itemtype_t;\n\n"
|
||||
|
||||
outHeader += "typedef enum {\n"
|
||||
outHeader += " ITEM_ID_NULL = 0,\n"
|
||||
outHeader += f" ITEM_ID_NULL = {count},\n"
|
||||
for itemId in itemIds:
|
||||
outHeader += f" {csvIdToEnumName(itemId)},\n"
|
||||
outHeader += f" ITEM_ID_COUNT\n"
|
||||
itemIdValues[itemId] = count
|
||||
outHeader += f" {csvIdToEnumName(itemId)} = {count},\n"
|
||||
count += 1
|
||||
outHeader += f" ITEM_ID_COUNT = {count}\n"
|
||||
outHeader += "} itemid_t;\n\n"
|
||||
|
||||
# Create struct for item data.
|
||||
@@ -76,6 +85,14 @@ for itemId in itemIds:
|
||||
outHeader += f" }},\n"
|
||||
outHeader += f"}};\n\n"
|
||||
|
||||
# Create lua script defining items.
|
||||
outHeader += f"static const char_t *ITEM_SCRIPT = \n"
|
||||
for itemId in itemIds:
|
||||
outHeader += f" \"{csvIdToEnumName(itemId)} = {itemIdValues[itemId]}\\n\"\n"
|
||||
for itemType in itemTypes:
|
||||
outHeader += f" \"{csvIdToEnumName(itemType)} = {itemTypeValues[itemType]}\\n\"\n"
|
||||
outHeader += f";\n\n"
|
||||
|
||||
# Write to output file.
|
||||
os.makedirs(os.path.dirname(args.output), exist_ok=True)
|
||||
with open(args.output, "w", encoding="utf-8") as outFile:
|
||||
|
||||
Reference in New Issue
Block a user