Skip to content
Draft
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
20 changes: 20 additions & 0 deletions .github/workflows/ci-scons.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,26 @@ jobs:
godot-test-versions: "4.5-stable"
cache-name: linux-x86_64-godot45

- name: 🐧 Linux (GCC) for Godot 4.4
os: ubuntu-22.04
platform: linux
artifact-name: godot-cpp-linux-glibc2.27-x86_64-release-godot44
artifact-path: bin/libgodot-cpp.linux.template_release.x86_64.a
run-tests: true
api-version: 4.4
godot-test-versions: "4.4-stable 4.5-stable"
cache-name: linux-x86_64-godot44

- name: 🐧 Linux (GCC) for Godot 4.3
os: ubuntu-22.04
platform: linux
artifact-name: godot-cpp-linux-glibc2.27-x86_64-release-godot43
artifact-path: bin/libgodot-cpp.linux.template_release.x86_64.a
run-tests: true
api-version: 4.3
godot-test-versions: "4.3-stable 4.4-stable 4.5-stable"
cache-name: linux-x86_64-godot43

- name: 🏁 Windows (x86_64, MSVC)
os: windows-2022
platform: windows
Expand Down
6 changes: 5 additions & 1 deletion binding_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1135,9 +1135,11 @@ def generate_builtin_class_header(builtin_api, size, used_classes, fully_used_cl
if class_name == "Dictionary":
result.append("\tconst Variant &operator[](const Variant &p_key) const;")
result.append("\tVariant &operator[](const Variant &p_key);")
result.append("#if GODOT_VERSION_MINOR >= 4")
result.append(
"\tvoid set_typed(uint32_t p_key_type, const StringName &p_key_class_name, const Variant &p_key_script, uint32_t p_value_type, const StringName &p_value_class_name, const Variant &p_value_script);"
)
result.append("#endif")

result.append("};")

Expand Down Expand Up @@ -1888,7 +1890,9 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us
# condition returns false (in such cases it can't compile due to ambiguity).
f"\t\tif constexpr (!std::is_same_v<decltype(&B::{method_name}), decltype(&T::{method_name})>) {{"
)
result.append(f"\t\t\tBIND_VIRTUAL_METHOD(T, {method_name}, {method['hash']});")
# If using an `extension_api.json` from Godot 4.3 or earlier, there will be no hash for virtual functions.
method_hash = method.get("hash", 0)
result.append(f"\t\t\tBIND_VIRTUAL_METHOD(T, {method_name}, {method_hash});")
result.append("\t\t}")

result.append("\t}")
Expand Down
2 changes: 1 addition & 1 deletion cmake/godotcpp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ function(godotcpp_options)
CACHE STRING
"The Godot API version to target (ex \"4.5\") using one of the included API JSON files"
)
set_property(CACHE GODOTCPP_API_VERSION PROPERTY STRINGS ";4.5;4.6")
set_property(CACHE GODOTCPP_API_VERSION PROPERTY STRINGS ";4.3;4.4;4.5;4.6")
set(GODOTCPP_GDEXTENSION_DIR
"gdextension"
CACHE PATH
Expand Down
Loading
Loading