Skip to content

Commit

Permalink
Merge pull request #1320 from mihe/bit-field-size
Browse files Browse the repository at this point in the history
Change bit field enums to use `uint64_t` as underlying type
  • Loading branch information
akien-mga authored Nov 28, 2023
2 parents 588d869 + 943d1c8 commit f3143c7
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions binding_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1329,7 +1329,11 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us

if "enums" in class_api:
for enum_api in class_api["enums"]:
result.append(f'\tenum {enum_api["name"]} {{')
if enum_api["is_bitfield"]:
result.append(f'\tenum {enum_api["name"]} : uint64_t {{')
else:
result.append(f'\tenum {enum_api["name"]} {{')

for value in enum_api["values"]:
result.append(f'\t\t{value["name"]} = {value["value"]},')
result.append("\t};")
Expand Down Expand Up @@ -1686,6 +1690,8 @@ def generate_global_constants(api, output_dir):
header.append(f"#ifndef {header_guard}")
header.append(f"#define {header_guard}")
header.append("")
header.append("#include <cstdint>")
header.append("")
header.append("namespace godot {")
header.append("")

Expand All @@ -1698,7 +1704,11 @@ def generate_global_constants(api, output_dir):
if enum_def["name"].startswith("Variant."):
continue

header.append(f'\tenum {enum_def["name"]} {{')
if enum_def["is_bitfield"]:
header.append(f'\tenum {enum_def["name"]} : uint64_t {{')
else:
header.append(f'\tenum {enum_def["name"]} {{')

for value in enum_def["values"]:
header.append(f'\t\t{value["name"]} = {value["value"]},')
header.append("\t};")
Expand Down

0 comments on commit f3143c7

Please sign in to comment.