Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
run-tests: false

- name: 🤖 Android (arm64, Ninja)
os: ubuntu-22.04
os: ubuntu-24.04
platform: android
config-flags:
-G Ninja -DCMAKE_BUILD_TYPE=Release
Expand All @@ -94,7 +94,7 @@ jobs:
run-tests: false

- name: 🌐 Web (wasm32, Ninja)
os: ubuntu-22.04
os: ubuntu-24.04
platform: web
config-flags:
-G Ninja -DCMAKE_BUILD_TYPE=Release
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-scons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
cache-name: macos-universal

- name: 🤖 Android (arm64)
os: ubuntu-22.04
os: ubuntu-24.04
platform: android
artifact-name: redot-cpp-android-arm64-release
artifact-path: bin/libredot-cpp.android.template_release.arm64.a
Expand All @@ -67,7 +67,7 @@ jobs:
cache-name: ios-arm64

- name: 🌐 Web (wasm32)
os: ubuntu-22.04
os: ubuntu-24.04
platform: web
artifact-name: redot-cpp-web-wasm32-release
artifact-path: bin/libredot-cpp.web.template_release.wasm32.a
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ concurrency:
jobs:
static-checks:
name: Format (clang-format, ruff format, file format)
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down
23 changes: 14 additions & 9 deletions binding_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,8 @@ def generate_builtin_class_header(builtin_api, size, used_classes, fully_used_cl
result.append("")
result.append("\tstatic struct _MethodBindings {")

result.append("\t\tGDExtensionTypeFromVariantConstructorFunc from_variant_constructor;")
if class_name != "Struct":
result.append("\t\tGDExtensionTypeFromVariantConstructorFunc from_variant_constructor;")

if "constructors" in builtin_api:
for constructor in builtin_api["constructors"]:
Expand Down Expand Up @@ -640,7 +641,8 @@ def generate_builtin_class_header(builtin_api, size, used_classes, fully_used_cl
result.append("\tstatic void _init_bindings_constructors_destructor();")

result.append("")
result.append(f"\t{class_name}(const Variant *p_variant);")
if class_name != "Struct":
result.append(f"\t{class_name}(const Variant *p_variant);")

if class_name == "Array":
result.append("")
Expand Down Expand Up @@ -1034,9 +1036,11 @@ def generate_builtin_class_source(builtin_api, size, used_classes, fully_used_cl

result.append(f"void {class_name}::_init_bindings_constructors_destructor() {{")

result.append(
f"\t_method_bindings.from_variant_constructor = internal::gdextension_interface_get_variant_to_type_constructor({enum_type_name});"
)
# Redot 26.3 exposes Struct constructors, but no direct Variant conversion functions.
if class_name != "Struct":
result.append(
f"\t_method_bindings.from_variant_constructor = internal::gdextension_interface_get_variant_to_type_constructor({enum_type_name});"
)

if "constructors" in builtin_api:
for constructor in builtin_api["constructors"]:
Expand Down Expand Up @@ -1119,10 +1123,11 @@ def generate_builtin_class_source(builtin_api, size, used_classes, fully_used_cl

copy_constructor_index = -1

result.append(f"{class_name}::{class_name}(const Variant *p_variant) {{")
result.append("\t_method_bindings.from_variant_constructor(&opaque, p_variant->_native_ptr());")
result.append("}")
result.append("")
if class_name != "Struct":
result.append(f"{class_name}::{class_name}(const Variant *p_variant) {{")
result.append("\t_method_bindings.from_variant_constructor(&opaque, p_variant->_native_ptr());")
result.append("}")
result.append("")

if "constructors" in builtin_api:
for constructor in builtin_api["constructors"]:
Expand Down
Loading
Loading