Fix item crash
This commit is contained in:
+9
-14
@@ -30,23 +30,18 @@ with open(args.csv, newline="", encoding="utf-8") as f:
|
||||
item_types.append(item_type)
|
||||
rows[item_id] = row
|
||||
|
||||
# Assign enum values: types and IDs share a single counter so values never collide
|
||||
count = 0
|
||||
# Assign enum values: types and IDs each start from 1 with NULL = 0.
|
||||
type_values = {}
|
||||
id_values = {}
|
||||
|
||||
count += 1 # 0 = NULL
|
||||
type_count = 1
|
||||
for t in item_types:
|
||||
type_values[t] = count
|
||||
count += 1
|
||||
# ITEM_TYPE_COUNT = count; item IDs continue from here
|
||||
type_count = count
|
||||
type_values[t] = type_count
|
||||
type_count += 1
|
||||
|
||||
count += 1 # type_count = ITEM_ID_NULL
|
||||
id_values = {}
|
||||
id_count = 1
|
||||
for i in item_ids:
|
||||
id_values[i] = count
|
||||
count += 1
|
||||
id_count = count
|
||||
id_values[i] = id_count
|
||||
id_count += 1
|
||||
|
||||
# Count items per type
|
||||
type_item_counts = { t: 0 for t in item_types }
|
||||
@@ -68,7 +63,7 @@ out += [
|
||||
"} itemtype_t;",
|
||||
"",
|
||||
"typedef enum {",
|
||||
f" ITEM_ID_NULL = {type_count},",
|
||||
" ITEM_ID_NULL = 0,",
|
||||
]
|
||||
for i in item_ids:
|
||||
out.append(f" {id_enum(i)} = {id_values[i]},")
|
||||
|
||||
Reference in New Issue
Block a user