Backpack changes
This commit is contained in:
@@ -48,6 +48,11 @@ for i in item_ids:
|
||||
count += 1
|
||||
id_count = count
|
||||
|
||||
# Count items per type
|
||||
type_item_counts = { t: 0 for t in item_types }
|
||||
for i in item_ids:
|
||||
type_item_counts[rows[i]["type"]] += 1
|
||||
|
||||
# Build output
|
||||
out = [
|
||||
"#pragma once",
|
||||
@@ -91,13 +96,19 @@ for i in item_ids:
|
||||
out += [
|
||||
"};",
|
||||
"",
|
||||
"static const char_t *ITEM_SCRIPT =",
|
||||
"static const uint8_t ITEM_TYPE_COUNTS[] = {",
|
||||
]
|
||||
for i in item_ids:
|
||||
out.append(f" \"{id_enum(i)} = {id_values[i]}\\n\"")
|
||||
for t in item_types:
|
||||
out.append(f" \"{type_enum(t)} = {type_values[t]}\\n\"")
|
||||
out += [";", ""]
|
||||
out.append(f" [{type_enum(t)}] = {type_item_counts[t]},")
|
||||
out += [
|
||||
"};",
|
||||
"",
|
||||
]
|
||||
max_type_count = max(type_item_counts.values()) if type_item_counts else 0
|
||||
out += [
|
||||
f"#define ITEM_TYPE_COUNT_MAX {max_type_count}",
|
||||
"",
|
||||
]
|
||||
|
||||
os.makedirs(os.path.dirname(args.output), exist_ok=True)
|
||||
with open(args.output, "w", encoding="utf-8") as f:
|
||||
|
||||
Reference in New Issue
Block a user