From 0afc4935716b4e48b54501b5dba01bbd19977a64 Mon Sep 17 00:00:00 2001 From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:33:03 +0100 Subject: [PATCH] Add support for getting argument count from `Callable`s --- gdextension/extension_api.json | 4009 ++++++++++++++++- gdextension/gdextension_interface.h | 76 +- include/godot_cpp/godot.hpp | 2 +- include/godot_cpp/variant/callable_custom.hpp | 1 + .../variant/callable_method_pointer.hpp | 25 + src/godot.cpp | 4 +- src/variant/callable_custom.cpp | 18 +- src/variant/callable_method_pointer.cpp | 13 +- test/project/main.gd | 6 + test/src/example.cpp | 5 + 10 files changed, 4012 insertions(+), 147 deletions(-) diff --git a/gdextension/extension_api.json b/gdextension/extension_api.json index cfd5ebef..8c434039 100644 --- a/gdextension/extension_api.json +++ b/gdextension/extension_api.json @@ -1,11 +1,11 @@ { "header": { "version_major": 4, - "version_minor": 2, + "version_minor": 3, "version_patch": 0, - "version_status": "stable", - "version_build": "official", - "version_full_name": "Godot Engine v4.2.stable.official" + "version_status": "dev", + "version_build": "custom_build", + "version_full_name": "Godot Engine v4.3.dev.custom_build" }, "builtin_class_sizes": [ { @@ -2941,6 +2941,24 @@ } ] }, + { + "name": "KeyLocation", + "is_bitfield": false, + "values": [ + { + "name": "KEY_LOCATION_UNSPECIFIED", + "value": 0 + }, + { + "name": "KEY_LOCATION_LEFT", + "value": 1 + }, + { + "name": "KEY_LOCATION_RIGHT", + "value": 2 + } + ] + }, { "name": "MouseButton", "is_bitfield": false, @@ -9803,6 +9821,34 @@ "is_static": false, "hash": 3173160232 }, + { + "name": "distance_to", + "return_type": "float", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 707501214, + "arguments": [ + { + "name": "to", + "type": "Vector2i" + } + ] + }, + { + "name": "distance_squared_to", + "return_type": "int", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 1130029528, + "arguments": [ + { + "name": "to", + "type": "Vector2i" + } + ] + }, { "name": "length", "return_type": "float", @@ -11629,6 +11675,34 @@ "is_static": false, "hash": 3173160232 }, + { + "name": "distance_to", + "return_type": "float", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 1975170430, + "arguments": [ + { + "name": "to", + "type": "Vector3i" + } + ] + }, + { + "name": "distance_squared_to", + "return_type": "int", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 2947717320, + "arguments": [ + { + "name": "to", + "type": "Vector3i" + } + ] + }, { "name": "length", "return_type": "float", @@ -11791,11 +11865,21 @@ "right_type": "int", "return_type": "Transform2D" }, + { + "name": "/", + "right_type": "int", + "return_type": "Transform2D" + }, { "name": "*", "right_type": "float", "return_type": "Transform2D" }, + { + "name": "/", + "right_type": "float", + "return_type": "Transform2D" + }, { "name": "*", "right_type": "Vector2", @@ -12989,6 +13073,34 @@ "type": "Vector4i" } ] + }, + { + "name": "distance_to", + "return_type": "float", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3446086573, + "arguments": [ + { + "name": "to", + "type": "Vector4i" + } + ] + }, + { + "name": "distance_squared_to", + "return_type": "int", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 346708794, + "arguments": [ + { + "name": "to", + "type": "Vector4i" + } + ] } ], "constructors": [ @@ -14245,11 +14357,21 @@ "right_type": "int", "return_type": "Basis" }, + { + "name": "/", + "right_type": "int", + "return_type": "Basis" + }, { "name": "*", "right_type": "float", "return_type": "Basis" }, + { + "name": "/", + "right_type": "float", + "return_type": "Basis" + }, { "name": "*", "right_type": "Vector3", @@ -14635,11 +14757,21 @@ "right_type": "int", "return_type": "Transform3D" }, + { + "name": "/", + "right_type": "int", + "return_type": "Transform3D" + }, { "name": "*", "right_type": "float", "return_type": "Transform3D" }, + { + "name": "/", + "right_type": "float", + "return_type": "Transform3D" + }, { "name": "*", "right_type": "Vector3", @@ -18716,6 +18848,14 @@ "is_static": false, "hash": 1825232092 }, + { + "name": "get_argument_count", + "return_type": "int", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3173160232 + }, { "name": "get_bound_arguments_count", "return_type": "int", @@ -19200,6 +19340,25 @@ } ] }, + { + "name": "get_or_add", + "return_type": "Variant", + "is_vararg": false, + "is_const": false, + "is_static": false, + "hash": 1052551076, + "arguments": [ + { + "name": "key", + "type": "Variant" + }, + { + "name": "default", + "type": "Variant", + "default_value": "null" + } + ] + }, { "name": "make_read_only", "is_vararg": false, @@ -24787,6 +24946,28 @@ "value": 4 } ] + }, + { + "name": "CellShape", + "is_bitfield": false, + "values": [ + { + "name": "CELL_SHAPE_SQUARE", + "value": 0 + }, + { + "name": "CELL_SHAPE_ISOMETRIC_RIGHT", + "value": 1 + }, + { + "name": "CELL_SHAPE_ISOMETRIC_DOWN", + "value": 2 + }, + { + "name": "CELL_SHAPE_MAX", + "value": 3 + } + ] } ], "methods": [ @@ -24932,6 +25113,31 @@ "type": "Vector2" } }, + { + "name": "set_cell_shape", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 4130591146, + "arguments": [ + { + "name": "cell_shape", + "type": "enum::AStarGrid2D.CellShape" + } + ] + }, + { + "name": "get_cell_shape", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3293463634, + "return_value": { + "type": "enum::AStarGrid2D.CellShape" + } + }, { "name": "is_in_bounds", "is_const": true, @@ -25301,6 +25507,12 @@ "setter": "set_cell_size", "getter": "get_cell_size" }, + { + "type": "int", + "name": "cell_shape", + "setter": "set_cell_shape", + "getter": "get_cell_shape" + }, { "type": "bool", "name": "jumping_enabled", @@ -28707,11 +28919,12 @@ "type": "Variant" }, { - "name": "object", - "type": "Object" + "name": "object_id", + "type": "int", + "meta": "uint64" }, { - "name": "object_idx", + "name": "object_sub_idx", "type": "int", "meta": "int32" } @@ -39731,6 +39944,16 @@ "meta": "int32" } }, + { + "name": "_get_parameter_list", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "typedarray::Dictionary" + } + }, { "name": "get_length", "is_const": true, @@ -39765,6 +39988,11 @@ "type": "AudioStreamPlayback" } } + ], + "signals": [ + { + "name": "parameter_list_changed" + } ] }, { @@ -40495,6 +40723,39 @@ "is_static": false, "is_vararg": false, "is_virtual": true + }, + { + "name": "_set_parameter", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "name", + "type": "StringName" + }, + { + "name": "value", + "type": "Variant" + } + ] + }, + { + "name": "_get_parameter", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "Variant" + }, + "arguments": [ + { + "name": "name", + "type": "StringName" + } + ] } ] }, @@ -61270,6 +61531,33 @@ } ] }, + { + "name": "class_get_method_argument_count", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3885694822, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "class", + "type": "StringName" + }, + { + "name": "method", + "type": "StringName" + }, + { + "name": "no_inheritance", + "type": "bool", + "default_value": "false" + } + ] + }, { "name": "class_get_method_list", "is_const": true, @@ -75678,6 +75966,17 @@ } ] }, + { + "name": "global_menu_get_system_menu_roots", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3102165223, + "return_value": { + "type": "Dictionary" + } + }, { "name": "tts_is_speaking", "is_const": true, @@ -77517,6 +77816,55 @@ } ] }, + { + "name": "file_dialog_with_options_show", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1305318754, + "return_value": { + "type": "enum::Error" + }, + "arguments": [ + { + "name": "title", + "type": "String" + }, + { + "name": "current_directory", + "type": "String" + }, + { + "name": "root", + "type": "String" + }, + { + "name": "filename", + "type": "String" + }, + { + "name": "show_hidden", + "type": "bool" + }, + { + "name": "mode", + "type": "enum::DisplayServer.FileDialogMode" + }, + { + "name": "filters", + "type": "PackedStringArray" + }, + { + "name": "options", + "type": "typedarray::Dictionary" + }, + { + "name": "callback", + "type": "Callable" + } + ] + }, { "name": "keyboard_get_layout_count", "is_const": true, @@ -80979,6 +81327,16 @@ } ] }, + { + "name": "_can_import_threaded", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "bool" + } + }, { "name": "append_import_external_resource", "is_const": false, @@ -81576,6 +81934,17 @@ "type": "bool" } }, + { + "name": "is_multi_window_enabled", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, { "name": "get_editor_scale", "is_const": true, @@ -82143,6 +82512,24 @@ } ] }, + { + "name": "_begin_handle_action", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "id", + "type": "int", + "meta": "int32" + }, + { + "name": "secondary", + "type": "bool" + } + ] + }, { "name": "_set_handle", "is_const": false, @@ -82700,6 +83087,28 @@ } ] }, + { + "name": "_begin_handle_action", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "gizmo", + "type": "EditorNode3DGizmo" + }, + { + "name": "handle_id", + "type": "int", + "meta": "int32" + }, + { + "name": "secondary", + "type": "bool" + } + ] + }, { "name": "_set_handle", "is_const": false, @@ -84160,6 +84569,15 @@ } ] }, + { + "name": "scene_saved", + "arguments": [ + { + "name": "filepath", + "type": "String" + } + ] + }, { "name": "project_settings_changed" } @@ -93018,6 +93436,180 @@ "type": "PackedStringArray" } }, + { + "name": "get_option_name", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 844755477, + "return_value": { + "type": "String" + }, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_option_values", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 647634434, + "return_value": { + "type": "PackedStringArray" + }, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_option_default", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 923996154, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "set_option_name", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 501894301, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + }, + { + "name": "name", + "type": "String" + } + ] + }, + { + "name": "set_option_values", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3353661094, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + }, + { + "name": "values", + "type": "PackedStringArray" + } + ] + }, + { + "name": "set_option_default", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3937882851, + "arguments": [ + { + "name": "option", + "type": "int", + "meta": "int32" + }, + { + "name": "index", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "set_option_count", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "count", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_option_count", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "add_option", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 149592325, + "arguments": [ + { + "name": "name", + "type": "String" + }, + { + "name": "values", + "type": "PackedStringArray" + }, + { + "name": "index", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_selected_options", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3102165223, + "return_value": { + "type": "Dictionary" + } + }, { "name": "get_current_dir", "is_const": true, @@ -93342,6 +93934,12 @@ "setter": "set_filters", "getter": "get_filters" }, + { + "type": "int", + "name": "option_count", + "setter": "set_option_count", + "getter": "get_option_count" + }, { "type": "bool", "name": "show_hidden_files", @@ -93951,9 +94549,10 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3344325384, + "hash": 2553855095, "hash_compatibility": [ 1851767612, + 3344325384, 1222433716, 1149405976 ], @@ -94005,6 +94604,12 @@ "type": "int", "meta": "int32", "default_value": "0" + }, + { + "name": "baseline_offset", + "type": "float", + "meta": "float", + "default_value": "0.0" } ] }, @@ -95538,6 +96143,45 @@ } ] }, + { + "name": "set_extra_baseline_offset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1602489585, + "arguments": [ + { + "name": "cache_index", + "type": "int", + "meta": "int32" + }, + { + "name": "baseline_offset", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_extra_baseline_offset", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2339986948, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "cache_index", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "set_face_index", "is_const": false, @@ -96996,6 +97640,33 @@ "meta": "int32" } ] + }, + { + "name": "set_baseline_offset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 373806689, + "arguments": [ + { + "name": "baseline_offset", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_baseline_offset", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } } ], "properties": [ @@ -97062,6 +97733,12 @@ "setter": "set_spacing", "getter": "get_spacing", "index": 3 + }, + { + "type": "float", + "name": "baseline_offset", + "setter": "set_baseline_offset", + "getter": "get_baseline_offset" } ] }, @@ -97837,6 +98514,23 @@ "inherits": "Resource", "api_type": "core", "methods": [ + { + "name": "load_buffer_view_data", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3945446907, + "return_value": { + "type": "PackedByteArray" + }, + "arguments": [ + { + "name": "state", + "type": "GLTFState" + } + ] + }, { "name": "get_buffer", "is_const": false, @@ -99978,6 +100672,56 @@ } ] }, + { + "name": "get_inertia_diagonal", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3360562783, + "return_value": { + "type": "Vector3" + } + }, + { + "name": "set_inertia_diagonal", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3460891852, + "arguments": [ + { + "name": "inertia_diagonal", + "type": "Vector3" + } + ] + }, + { + "name": "get_inertia_orientation", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1222331677, + "return_value": { + "type": "Quaternion" + } + }, + { + "name": "set_inertia_orientation", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1727505552, + "arguments": [ + { + "name": "inertia_orientation", + "type": "Quaternion" + } + ] + }, { "name": "get_inertia_tensor", "is_const": true, @@ -100035,6 +100779,18 @@ "setter": "set_center_of_mass", "getter": "get_center_of_mass" }, + { + "type": "Vector3", + "name": "inertia_diagonal", + "setter": "set_inertia_diagonal", + "getter": "get_inertia_diagonal" + }, + { + "type": "Quaternion", + "name": "inertia_orientation", + "setter": "set_inertia_orientation", + "getter": "get_inertia_orientation" + }, { "type": "Basis", "name": "inertia_tensor", @@ -101052,6 +101808,28 @@ } ] }, + { + "name": "append_data_to_buffers", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1460416665, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "data", + "type": "PackedByteArray" + }, + { + "name": "deduplication", + "type": "bool" + } + ] + }, { "name": "get_json", "is_const": false, @@ -106376,6 +107154,23 @@ "type": "Plane" } ] + }, + { + "name": "tetrahedralize_delaunay", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1230191221, + "return_value": { + "type": "PackedInt32Array" + }, + "arguments": [ + { + "name": "points", + "type": "PackedVector3Array" + } + ] } ] }, @@ -107702,6 +108497,20 @@ "value": 1 } ] + }, + { + "name": "GridPattern", + "is_bitfield": false, + "values": [ + { + "name": "GRID_PATTERN_LINES", + "value": 0 + }, + { + "name": "GRID_PATTERN_DOTS", + "value": 1 + } + ] } ], "methods": [ @@ -107939,6 +108748,46 @@ "type": "typedarray::Dictionary" } }, + { + "name": "get_closest_connection_at_point", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 453879819, + "return_value": { + "type": "Dictionary" + }, + "arguments": [ + { + "name": "point", + "type": "Vector2" + }, + { + "name": "max_distance", + "type": "float", + "meta": "float", + "default_value": "4.0" + } + ] + }, + { + "name": "get_connections_intersecting_with_rect", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2709748719, + "return_value": { + "type": "typedarray::Dictionary" + }, + "arguments": [ + { + "name": "rect", + "type": "Rect2" + } + ] + }, { "name": "clear_connections", "is_const": false, @@ -108105,11 +108954,14 @@ }, { "name": "get_connection_line", - "is_const": false, + "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1562168077, + "hash": 3932192302, + "hash_compatibility": [ + 1562168077 + ], "return_value": { "type": "PackedVector2Array" }, @@ -108282,6 +109134,31 @@ "type": "bool" } }, + { + "name": "set_grid_pattern", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1074098205, + "arguments": [ + { + "name": "pattern", + "type": "enum::GraphEdit.GridPattern" + } + ] + }, + { + "name": "get_grid_pattern", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286127528, + "return_value": { + "type": "enum::GraphEdit.GridPattern" + } + }, { "name": "set_snapping_enabled", "is_const": false, @@ -108870,6 +109747,12 @@ "setter": "set_show_grid", "getter": "is_showing_grid" }, + { + "type": "int", + "name": "grid_pattern", + "setter": "set_grid_pattern", + "getter": "get_grid_pattern" + }, { "type": "bool", "name": "snapping_enabled", @@ -109461,6 +110344,43 @@ } ] }, + { + "name": "set_slot_custom_icon_left", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 666127730, + "arguments": [ + { + "name": "slot_index", + "type": "int", + "meta": "int32" + }, + { + "name": "custom_icon", + "type": "Texture2D" + } + ] + }, + { + "name": "get_slot_custom_icon_left", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3536238170, + "return_value": { + "type": "Texture2D" + }, + "arguments": [ + { + "name": "slot_index", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "is_slot_enabled_right", "is_const": true, @@ -109574,6 +110494,43 @@ } ] }, + { + "name": "set_slot_custom_icon_right", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 666127730, + "arguments": [ + { + "name": "slot_index", + "type": "int", + "meta": "int32" + }, + { + "name": "custom_icon", + "type": "Texture2D" + } + ] + }, + { + "name": "get_slot_custom_icon_right", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3536238170, + "return_value": { + "type": "Texture2D" + }, + "arguments": [ + { + "name": "slot_index", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "is_slot_draw_stylebox", "is_const": true, @@ -116229,6 +117186,56 @@ "is_static": false, "is_virtual": false, "hash": 3218959716 + }, + { + "name": "set_emulate_mouse_from_touch", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enable", + "type": "bool" + } + ] + }, + { + "name": "is_emulating_mouse_from_touch", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, + { + "name": "set_emulate_touch_from_mouse", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enable", + "type": "bool" + } + ] + }, + { + "name": "is_emulating_touch_from_mouse", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } } ], "signals": [ @@ -116258,6 +117265,18 @@ "name": "use_accumulated_input", "setter": "set_use_accumulated_input", "getter": "is_using_accumulated_input" + }, + { + "type": "bool", + "name": "emulate_mouse_from_touch", + "setter": "set_emulate_mouse_from_touch", + "getter": "is_emulating_mouse_from_touch" + }, + { + "type": "bool", + "name": "emulate_touch_from_mouse", + "setter": "set_emulate_touch_from_mouse", + "getter": "is_emulating_touch_from_mouse" } ] }, @@ -117004,6 +118023,31 @@ "type": "int" } }, + { + "name": "set_location", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 634453155, + "arguments": [ + { + "name": "location", + "type": "enum::KeyLocation" + } + ] + }, + { + "name": "get_location", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 211810873, + "return_value": { + "type": "enum::KeyLocation" + } + }, { "name": "set_echo", "is_const": false, @@ -117083,6 +118127,17 @@ "return_value": { "type": "String" } + }, + { + "name": "as_text_location", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } } ], "properties": [ @@ -117116,6 +118171,12 @@ "setter": "set_unicode", "getter": "get_unicode" }, + { + "type": "int", + "name": "location", + "setter": "set_location", + "getter": "get_location" + }, { "type": "bool", "name": "echo", @@ -121668,6 +122729,31 @@ "type": "enum::TextServer.OverrunBehavior" } }, + { + "name": "set_ellipsis_char", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 83702148, + "arguments": [ + { + "name": "char", + "type": "String" + } + ] + }, + { + "name": "get_ellipsis_char", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } + }, { "name": "set_uppercase", "is_const": false, @@ -121931,6 +123017,24 @@ "return_value": { "type": "Array" } + }, + { + "name": "get_character_bounds", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3327874267, + "return_value": { + "type": "Rect2" + }, + "arguments": [ + { + "name": "pos", + "type": "int", + "meta": "int32" + } + ] } ], "properties": [ @@ -121982,6 +123086,12 @@ "setter": "set_text_overrun_behavior", "getter": "get_text_overrun_behavior" }, + { + "type": "String", + "name": "ellipsis_char", + "setter": "set_ellipsis_char", + "getter": "get_ellipsis_char" + }, { "type": "bool", "name": "uppercase", @@ -125094,6 +126204,33 @@ "meta": "float" } }, + { + "name": "set_texel_scale", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 373806689, + "arguments": [ + { + "name": "texel_scale", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_texel_scale", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } + }, { "name": "set_max_texture_size", "is_const": false, @@ -125329,6 +126466,12 @@ "setter": "set_bias", "getter": "get_bias" }, + { + "type": "float", + "name": "texel_scale", + "setter": "set_texel_scale", + "getter": "get_texel_scale" + }, { "type": "int", "name": "max_texture_size", @@ -136403,6 +137546,17 @@ "inherits": "Node2D", "api_type": "core", "methods": [ + { + "name": "get_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2944877500, + "return_value": { + "type": "RID" + } + }, { "name": "set_enabled", "is_const": false, @@ -136724,6 +137878,17 @@ "inherits": "Node3D", "api_type": "core", "methods": [ + { + "name": "get_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2944877500, + "return_value": { + "type": "RID" + } + }, { "name": "set_enabled", "is_const": false, @@ -140321,6 +141486,17 @@ "inherits": "Node2D", "api_type": "core", "methods": [ + { + "name": "get_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2944877500, + "return_value": { + "type": "RID" + } + }, { "name": "set_navigation_polygon", "is_const": false, @@ -140721,6 +141897,17 @@ "inherits": "Node3D", "api_type": "core", "methods": [ + { + "name": "get_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2944877500, + "return_value": { + "type": "RID" + } + }, { "name": "set_navigation_mesh", "is_const": false, @@ -141385,6 +142572,32 @@ } ] }, + { + "name": "map_get_random_point", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3271000763, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "map", + "type": "RID" + }, + { + "name": "navigation_layers", + "type": "int", + "meta": "uint32" + }, + { + "name": "uniformly", + "type": "bool" + } + ] + }, { "name": "query_path", "is_const": true, @@ -141706,6 +142919,23 @@ } ] }, + { + "name": "region_get_transform", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 213527486, + "return_value": { + "type": "Transform2D" + }, + "arguments": [ + { + "name": "region", + "type": "RID" + } + ] + }, { "name": "region_set_navigation_polygon", "is_const": false, @@ -141786,6 +143016,32 @@ } ] }, + { + "name": "region_get_random_point", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3271000763, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "region", + "type": "RID" + }, + { + "name": "navigation_layers", + "type": "int", + "meta": "uint32" + }, + { + "name": "uniformly", + "type": "bool" + } + ] + }, { "name": "link_create", "is_const": false, @@ -142255,6 +143511,24 @@ } ] }, + { + "name": "agent_get_neighbor_distance", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_max_neighbors", "is_const": false, @@ -142274,6 +143548,24 @@ } ] }, + { + "name": "agent_get_max_neighbors", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_time_horizon_agents", "is_const": false, @@ -142293,6 +143585,24 @@ } ] }, + { + "name": "agent_get_time_horizon_agents", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_time_horizon_obstacles", "is_const": false, @@ -142312,6 +143622,24 @@ } ] }, + { + "name": "agent_get_time_horizon_obstacles", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_radius", "is_const": false, @@ -142331,6 +143659,24 @@ } ] }, + { + "name": "agent_get_radius", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_max_speed", "is_const": false, @@ -142350,6 +143696,24 @@ } ] }, + { + "name": "agent_get_max_speed", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_velocity_forced", "is_const": false, @@ -142386,6 +143750,23 @@ } ] }, + { + "name": "agent_get_velocity", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2440833711, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_position", "is_const": false, @@ -142404,6 +143785,23 @@ } ] }, + { + "name": "agent_get_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2440833711, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_is_map_changed", "is_const": true, @@ -142439,6 +143837,23 @@ } ] }, + { + "name": "agent_has_avoidance_callback", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 4155700596, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_layers", "is_const": false, @@ -142458,6 +143873,24 @@ } ] }, + { + "name": "agent_get_avoidance_layers", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_mask", "is_const": false, @@ -142477,6 +143910,24 @@ } ] }, + { + "name": "agent_get_avoidance_mask", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_priority", "is_const": false, @@ -142496,6 +143947,24 @@ } ] }, + { + "name": "agent_get_avoidance_priority", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "obstacle_create", "is_const": false, @@ -142631,6 +144100,24 @@ } ] }, + { + "name": "obstacle_get_radius", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_velocity", "is_const": false, @@ -142649,6 +144136,23 @@ } ] }, + { + "name": "obstacle_get_velocity", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2440833711, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_position", "is_const": false, @@ -142667,6 +144171,23 @@ } ] }, + { + "name": "obstacle_get_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2440833711, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_vertices", "is_const": false, @@ -142685,6 +144206,23 @@ } ] }, + { + "name": "obstacle_get_vertices", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2222557395, + "return_value": { + "type": "PackedVector2Array" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_avoidance_layers", "is_const": false, @@ -142704,6 +144242,24 @@ } ] }, + { + "name": "obstacle_get_avoidance_layers", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "parse_source_geometry_data", "is_const": false, @@ -143371,6 +144927,32 @@ } ] }, + { + "name": "map_get_random_point", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 722801526, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "map", + "type": "RID" + }, + { + "name": "navigation_layers", + "type": "int", + "meta": "uint32" + }, + { + "name": "uniformly", + "type": "bool" + } + ] + }, { "name": "query_path", "is_const": true, @@ -143692,6 +145274,23 @@ } ] }, + { + "name": "region_get_transform", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1128465797, + "return_value": { + "type": "Transform3D" + }, + "arguments": [ + { + "name": "region", + "type": "RID" + } + ] + }, { "name": "region_set_navigation_mesh", "is_const": false, @@ -143790,6 +145389,32 @@ } ] }, + { + "name": "region_get_random_point", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 722801526, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "region", + "type": "RID" + }, + { + "name": "navigation_layers", + "type": "int", + "meta": "uint32" + }, + { + "name": "uniformly", + "type": "bool" + } + ] + }, { "name": "link_create", "is_const": false, @@ -144294,6 +145919,24 @@ } ] }, + { + "name": "agent_get_neighbor_distance", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_max_neighbors", "is_const": false, @@ -144313,6 +145956,24 @@ } ] }, + { + "name": "agent_get_max_neighbors", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_time_horizon_agents", "is_const": false, @@ -144332,6 +145993,24 @@ } ] }, + { + "name": "agent_get_time_horizon_agents", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_time_horizon_obstacles", "is_const": false, @@ -144351,6 +146030,24 @@ } ] }, + { + "name": "agent_get_time_horizon_obstacles", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_radius", "is_const": false, @@ -144370,6 +146067,24 @@ } ] }, + { + "name": "agent_get_radius", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_height", "is_const": false, @@ -144389,6 +146104,24 @@ } ] }, + { + "name": "agent_get_height", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_max_speed", "is_const": false, @@ -144408,6 +146141,24 @@ } ] }, + { + "name": "agent_get_max_speed", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_velocity_forced", "is_const": false, @@ -144444,6 +146195,23 @@ } ] }, + { + "name": "agent_get_velocity", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 531438156, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_position", "is_const": false, @@ -144462,6 +146230,23 @@ } ] }, + { + "name": "agent_get_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 531438156, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_is_map_changed", "is_const": true, @@ -144497,6 +146282,23 @@ } ] }, + { + "name": "agent_has_avoidance_callback", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 4155700596, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_layers", "is_const": false, @@ -144516,6 +146318,24 @@ } ] }, + { + "name": "agent_get_avoidance_layers", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_mask", "is_const": false, @@ -144535,6 +146355,24 @@ } ] }, + { + "name": "agent_get_avoidance_mask", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "agent_set_avoidance_priority", "is_const": false, @@ -144554,6 +146392,24 @@ } ] }, + { + "name": "agent_get_avoidance_priority", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "agent", + "type": "RID" + } + ] + }, { "name": "obstacle_create", "is_const": false, @@ -144724,6 +146580,24 @@ } ] }, + { + "name": "obstacle_get_radius", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_height", "is_const": false, @@ -144743,6 +146617,24 @@ } ] }, + { + "name": "obstacle_get_height", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_velocity", "is_const": false, @@ -144761,6 +146653,23 @@ } ] }, + { + "name": "obstacle_get_velocity", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 531438156, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_position", "is_const": false, @@ -144779,6 +146688,23 @@ } ] }, + { + "name": "obstacle_get_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 531438156, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_vertices", "is_const": false, @@ -144797,6 +146723,23 @@ } ] }, + { + "name": "obstacle_get_vertices", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 808965560, + "return_value": { + "type": "PackedVector3Array" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "obstacle_set_avoidance_layers", "is_const": false, @@ -144816,6 +146759,24 @@ } ] }, + { + "name": "obstacle_get_avoidance_layers", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "obstacle", + "type": "RID" + } + ] + }, { "name": "parse_source_geometry_data", "is_const": false, @@ -147209,6 +149170,15 @@ "type": "Node" } ] + }, + { + "name": "editor_description_changed", + "arguments": [ + { + "name": "node", + "type": "Node" + } + ] } ], "properties": [ @@ -149875,6 +151845,10 @@ { "name": "RENDERING_DRIVER_OPENGL3", "value": 1 + }, + { + "name": "RENDERING_DRIVER_D3D12", + "value": 2 } ] }, @@ -151474,6 +153448,24 @@ } ] }, + { + "name": "get_method_argument_count", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2458036349, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "method", + "type": "StringName" + } + ] + }, { "name": "has_signal", "is_const": true, @@ -153260,6 +155252,42 @@ "value": 2 } ] + }, + { + "name": "SkeletonRig", + "is_bitfield": false, + "values": [ + { + "name": "SKELETON_RIG_OPENXR", + "value": 0 + }, + { + "name": "SKELETON_RIG_HUMANOID", + "value": 1 + }, + { + "name": "SKELETON_RIG_MAX", + "value": 2 + } + ] + }, + { + "name": "BoneUpdate", + "is_bitfield": false, + "values": [ + { + "name": "BONE_UPDATE_FULL", + "value": 0 + }, + { + "name": "BONE_UPDATE_ROTATION_ONLY", + "value": 1 + }, + { + "name": "BONE_UPDATE_MAX", + "value": 2 + } + ] } ], "methods": [ @@ -153337,6 +155365,56 @@ "return_value": { "type": "enum::OpenXRHand.MotionRange" } + }, + { + "name": "set_skeleton_rig", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1528072213, + "arguments": [ + { + "name": "skeleton_rig", + "type": "enum::OpenXRHand.SkeletonRig" + } + ] + }, + { + "name": "get_skeleton_rig", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 968409338, + "return_value": { + "type": "enum::OpenXRHand.SkeletonRig" + } + }, + { + "name": "set_bone_update", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3144625444, + "arguments": [ + { + "name": "bone_update", + "type": "enum::OpenXRHand.BoneUpdate" + } + ] + }, + { + "name": "get_bone_update", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1310695248, + "return_value": { + "type": "enum::OpenXRHand.BoneUpdate" + } } ], "properties": [ @@ -153357,6 +155435,18 @@ "name": "hand_skeleton", "setter": "set_hand_skeleton", "getter": "get_hand_skeleton" + }, + { + "type": "int", + "name": "skeleton_rig", + "setter": "set_skeleton_rig", + "getter": "get_skeleton_rig" + }, + { + "type": "int", + "name": "bone_update", + "setter": "set_bone_update", + "getter": "get_bone_update" } ] }, @@ -153741,6 +155831,28 @@ } ] }, + { + "name": "HandTrackedSource", + "is_bitfield": false, + "values": [ + { + "name": "HAND_TRACKED_SOURCE_UNKNOWN", + "value": 0 + }, + { + "name": "HAND_TRACKED_SOURCE_UNOBSTRUCTED", + "value": 1 + }, + { + "name": "HAND_TRACKED_SOURCE_CONTROLLER", + "value": 2 + }, + { + "name": "HAND_TRACKED_SOURCE_MAX", + "value": 3 + } + ] + }, { "name": "HandJoints", "is_bitfield": false, @@ -154100,6 +156212,23 @@ } ] }, + { + "name": "get_hand_tracking_source", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 4092421202, + "return_value": { + "type": "enum::OpenXRInterface.HandTrackedSource" + }, + "arguments": [ + { + "name": "hand", + "type": "enum::OpenXRInterface.Hand" + } + ] + }, { "name": "get_hand_joint_flags", "is_const": true, @@ -155844,6 +157973,33 @@ "return_value": { "type": "bool" } + }, + { + "name": "set_energy_multiplier", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 373806689, + "arguments": [ + { + "name": "multiplier", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_energy_multiplier", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } } ], "properties": [ @@ -155858,6 +158014,12 @@ "name": "filter", "setter": "set_filtering_enabled", "getter": "is_filtering_enabled" + }, + { + "type": "float", + "name": "energy_multiplier", + "setter": "set_energy_multiplier", + "getter": "get_energy_multiplier" } ] }, @@ -156471,6 +158633,41 @@ "meta": "float" } }, + { + "name": "set_param", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 676779352, + "arguments": [ + { + "name": "param", + "type": "enum::ParticleProcessMaterial.Parameter" + }, + { + "name": "value", + "type": "Vector2" + } + ] + }, + { + "name": "get_param", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2623708480, + "return_value": { + "type": "Vector2" + }, + "arguments": [ + { + "name": "param", + "type": "enum::ParticleProcessMaterial.Parameter" + } + ] + }, { "name": "set_param_min", "is_const": false, @@ -157682,6 +159879,13 @@ "setter": "set_emission_ring_inner_radius", "getter": "get_emission_ring_inner_radius" }, + { + "type": "Vector2", + "name": "angle", + "setter": "set_param", + "getter": "get_param", + "index": 7 + }, { "type": "float", "name": "angle_min", @@ -157733,6 +159937,13 @@ "setter": "set_flatness", "getter": "get_flatness" }, + { + "type": "Vector2", + "name": "initial_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 0 + }, { "type": "float", "name": "initial_velocity_min", @@ -157747,6 +159958,13 @@ "getter": "get_param_max", "index": 0 }, + { + "type": "Vector2", + "name": "angular_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 1 + }, { "type": "float", "name": "angular_velocity_min", @@ -157768,6 +159986,13 @@ "getter": "get_param_texture", "index": 1 }, + { + "type": "Vector2", + "name": "directional_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 16 + }, { "type": "float", "name": "directional_velocity_min", @@ -157789,6 +160014,13 @@ "getter": "get_param_texture", "index": 16 }, + { + "type": "Vector2", + "name": "orbit_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 2 + }, { "type": "float", "name": "orbit_velocity_min", @@ -157810,6 +160042,13 @@ "getter": "get_param_texture", "index": 2 }, + { + "type": "Vector2", + "name": "radial_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 15 + }, { "type": "float", "name": "radial_velocity_min", @@ -157843,6 +160082,13 @@ "setter": "set_gravity", "getter": "get_gravity" }, + { + "type": "Vector2", + "name": "linear_accel", + "setter": "set_param", + "getter": "get_param", + "index": 3 + }, { "type": "float", "name": "linear_accel_min", @@ -157864,6 +160110,13 @@ "getter": "get_param_texture", "index": 3 }, + { + "type": "Vector2", + "name": "radial_accel", + "setter": "set_param", + "getter": "get_param", + "index": 4 + }, { "type": "float", "name": "radial_accel_min", @@ -157885,6 +160138,13 @@ "getter": "get_param_texture", "index": 4 }, + { + "type": "Vector2", + "name": "tangential_accel", + "setter": "set_param", + "getter": "get_param", + "index": 5 + }, { "type": "float", "name": "tangential_accel_min", @@ -157906,6 +160166,13 @@ "getter": "get_param_texture", "index": 5 }, + { + "type": "Vector2", + "name": "damping", + "setter": "set_param", + "getter": "get_param", + "index": 6 + }, { "type": "float", "name": "damping_min", @@ -157933,6 +160200,13 @@ "setter": "set_attractor_interaction_enabled", "getter": "is_attractor_interaction_enabled" }, + { + "type": "Vector2", + "name": "scale", + "setter": "set_param", + "getter": "get_param", + "index": 8 + }, { "type": "float", "name": "scale_min", @@ -157954,6 +160228,13 @@ "getter": "get_param_texture", "index": 8 }, + { + "type": "Vector2", + "name": "scale_over_velocity", + "setter": "set_param", + "getter": "get_param", + "index": 17 + }, { "type": "float", "name": "scale_over_velocity_min", @@ -158005,6 +160286,13 @@ "setter": "set_emission_curve", "getter": "get_emission_curve" }, + { + "type": "Vector2", + "name": "hue_variation", + "setter": "set_param", + "getter": "get_param", + "index": 9 + }, { "type": "float", "name": "hue_variation_min", @@ -158026,6 +160314,13 @@ "getter": "get_param_texture", "index": 9 }, + { + "type": "Vector2", + "name": "anim_speed", + "setter": "set_param", + "getter": "get_param", + "index": 10 + }, { "type": "float", "name": "anim_speed_min", @@ -158047,6 +160342,13 @@ "getter": "get_param_texture", "index": 10 }, + { + "type": "Vector2", + "name": "anim_offset", + "setter": "set_param", + "getter": "get_param", + "index": 11 + }, { "type": "float", "name": "anim_offset_min", @@ -158098,6 +160400,13 @@ "setter": "set_turbulence_noise_speed_random", "getter": "get_turbulence_noise_speed_random" }, + { + "type": "Vector2", + "name": "turbulence_influence", + "setter": "set_param", + "getter": "get_param", + "index": 13 + }, { "type": "float", "name": "turbulence_influence_min", @@ -158112,6 +160421,13 @@ "getter": "get_param_max", "index": 13 }, + { + "type": "Vector2", + "name": "turbulence_initial_displacement", + "setter": "set_param", + "getter": "get_param", + "index": 14 + }, { "type": "float", "name": "turbulence_initial_displacement_min", @@ -173095,6 +175411,88 @@ } ] }, + { + "name": "soft_body_create", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 529393457, + "return_value": { + "type": "RID" + } + }, + { + "name": "soft_body_update_rendering_server", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2218179753, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "rendering_server_handler", + "type": "PhysicsServer3DRenderingServerHandler" + } + ] + }, + { + "name": "soft_body_set_space", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 395945892, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "space", + "type": "RID" + } + ] + }, + { + "name": "soft_body_get_space", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3814569979, + "return_value": { + "type": "RID" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_mesh", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 395945892, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "mesh", + "type": "RID" + } + ] + }, { "name": "soft_body_get_bounds", "is_const": true, @@ -173112,6 +175510,521 @@ } ] }, + { + "name": "soft_body_set_collision_layer", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3411492887, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "layer", + "type": "int", + "meta": "uint32" + } + ] + }, + { + "name": "soft_body_get_collision_layer", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_collision_mask", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3411492887, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "mask", + "type": "int", + "meta": "uint32" + } + ] + }, + { + "name": "soft_body_get_collision_mask", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "uint32" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_add_collision_exception", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 395945892, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "body_b", + "type": "RID" + } + ] + }, + { + "name": "soft_body_remove_collision_exception", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 395945892, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "body_b", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_state", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 599977762, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "state", + "type": "enum::PhysicsServer3D.BodyState" + }, + { + "name": "variant", + "type": "Variant" + } + ] + }, + { + "name": "soft_body_get_state", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1850449534, + "return_value": { + "type": "Variant" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "state", + "type": "enum::PhysicsServer3D.BodyState" + } + ] + }, + { + "name": "soft_body_set_transform", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3935195649, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "transform", + "type": "Transform3D" + } + ] + }, + { + "name": "soft_body_set_ray_pickable", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1265174801, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "enable", + "type": "bool" + } + ] + }, + { + "name": "soft_body_set_simulation_precision", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3411492887, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "simulation_precision", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "soft_body_get_simulation_precision", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_total_mass", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "total_mass", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "soft_body_get_total_mass", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_linear_stiffness", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "stiffness", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "soft_body_get_linear_stiffness", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_pressure_coefficient", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "pressure_coefficient", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "soft_body_get_pressure_coefficient", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_damping_coefficient", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "damping_coefficient", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "soft_body_get_damping_coefficient", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_set_drag_coefficient", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "drag_coefficient", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "soft_body_get_drag_coefficient", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_move_point", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 831953689, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "point_index", + "type": "int", + "meta": "int32" + }, + { + "name": "global_position", + "type": "Vector3" + } + ] + }, + { + "name": "soft_body_get_point_global_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3440143363, + "return_value": { + "type": "Vector3" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "point_index", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "soft_body_remove_all_pinned_points", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2722037293, + "arguments": [ + { + "name": "body", + "type": "RID" + } + ] + }, + { + "name": "soft_body_pin_point", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2658558584, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "point_index", + "type": "int", + "meta": "int32" + }, + { + "name": "pin", + "type": "bool" + } + ] + }, + { + "name": "soft_body_is_point_pinned", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3120086654, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "body", + "type": "RID" + }, + { + "name": "point_index", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "joint_create", "is_const": false, @@ -177901,7 +180814,7 @@ "getter": "get_margin" }, { - "type": "Vector2", + "type": "Vector3", "name": "motion", "setter": "set_motion", "getter": "get_motion" @@ -181275,6 +184188,26 @@ } ] }, + { + "name": "set_item_multistate_max", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3937882851, + "arguments": [ + { + "name": "index", + "type": "int", + "meta": "int32" + }, + { + "name": "max_states", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "set_item_shortcut_disabled", "is_const": false, @@ -181688,6 +184621,44 @@ } ] }, + { + "name": "get_item_multistate_max", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 923996154, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "index", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_item_multistate", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 923996154, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "index", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "set_focused_item", "is_const": false, @@ -181937,6 +184908,42 @@ "return_value": { "type": "bool" } + }, + { + "name": "is_system_menu", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, + { + "name": "set_system_menu_root", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 83702148, + "arguments": [ + { + "name": "special", + "type": "String" + } + ] + }, + { + "name": "get_system_menu_root", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } } ], "signals": [ @@ -182002,6 +185009,12 @@ "setter": "set_allow_search", "getter": "get_allow_search" }, + { + "type": "String", + "name": "system_menu_root", + "setter": "set_system_menu_root", + "getter": "get_system_menu_root" + }, { "type": "int", "name": "item_count", @@ -182907,6 +185920,33 @@ "return_value": { "type": "bool" } + }, + { + "name": "set_energy_multiplier", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 373806689, + "arguments": [ + { + "name": "multiplier", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_energy_multiplier", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } } ], "properties": [ @@ -182987,6 +186027,12 @@ "name": "use_debanding", "setter": "set_use_debanding", "getter": "get_use_debanding" + }, + { + "type": "float", + "name": "energy_multiplier", + "setter": "set_energy_multiplier", + "getter": "get_energy_multiplier" } ] }, @@ -189320,6 +192366,33 @@ "meta": "uint32" } }, + { + "name": "set_reflection_mask", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "layers", + "type": "int", + "meta": "uint32" + } + ] + }, + { + "name": "get_reflection_mask", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "uint32" + } + }, { "name": "set_update_mode", "is_const": false, @@ -189401,6 +192474,12 @@ "setter": "set_cull_mask", "getter": "get_cull_mask" }, + { + "type": "int", + "name": "reflection_mask", + "setter": "set_reflection_mask", + "getter": "get_reflection_mask" + }, { "type": "float", "name": "mesh_lod_threshold", @@ -190980,6 +194059,58 @@ "name": "DriverResource", "is_bitfield": false, "values": [ + { + "name": "DRIVER_RESOURCE_LOGICAL_DEVICE", + "value": 0 + }, + { + "name": "DRIVER_RESOURCE_PHYSICAL_DEVICE", + "value": 1 + }, + { + "name": "DRIVER_RESOURCE_TOPMOST_OBJECT", + "value": 2 + }, + { + "name": "DRIVER_RESOURCE_COMMAND_QUEUE", + "value": 3 + }, + { + "name": "DRIVER_RESOURCE_QUEUE_FAMILY", + "value": 4 + }, + { + "name": "DRIVER_RESOURCE_TEXTURE", + "value": 5 + }, + { + "name": "DRIVER_RESOURCE_TEXTURE_VIEW", + "value": 6 + }, + { + "name": "DRIVER_RESOURCE_TEXTURE_DATA_FORMAT", + "value": 7 + }, + { + "name": "DRIVER_RESOURCE_SAMPLER", + "value": 8 + }, + { + "name": "DRIVER_RESOURCE_UNIFORM_SET", + "value": 9 + }, + { + "name": "DRIVER_RESOURCE_BUFFER", + "value": 10 + }, + { + "name": "DRIVER_RESOURCE_COMPUTE_PIPELINE", + "value": 11 + }, + { + "name": "DRIVER_RESOURCE_RENDER_PIPELINE", + "value": 12 + }, { "name": "DRIVER_RESOURCE_VULKAN_DEVICE", "value": 0 @@ -192693,32 +195824,40 @@ "is_bitfield": false, "values": [ { - "name": "INITIAL_ACTION_CLEAR", + "name": "INITIAL_ACTION_LOAD", "value": 0 }, + { + "name": "INITIAL_ACTION_CLEAR", + "value": 1 + }, + { + "name": "INITIAL_ACTION_DISCARD", + "value": 2 + }, + { + "name": "INITIAL_ACTION_MAX", + "value": 3 + }, { "name": "INITIAL_ACTION_CLEAR_REGION", "value": 1 }, { "name": "INITIAL_ACTION_CLEAR_REGION_CONTINUE", - "value": 2 + "value": 1 }, { "name": "INITIAL_ACTION_KEEP", - "value": 3 + "value": 0 }, { "name": "INITIAL_ACTION_DROP", - "value": 4 + "value": 2 }, { "name": "INITIAL_ACTION_CONTINUE", - "value": 5 - }, - { - "name": "INITIAL_ACTION_MAX", - "value": 6 + "value": 0 } ] }, @@ -192727,7 +195866,7 @@ "is_bitfield": false, "values": [ { - "name": "FINAL_ACTION_READ", + "name": "FINAL_ACTION_STORE", "value": 0 }, { @@ -192735,12 +195874,16 @@ "value": 1 }, { - "name": "FINAL_ACTION_CONTINUE", + "name": "FINAL_ACTION_MAX", "value": 2 }, { - "name": "FINAL_ACTION_MAX", - "value": 3 + "name": "FINAL_ACTION_READ", + "value": 0 + }, + { + "name": "FINAL_ACTION_CONTINUE", + "value": 0 } ] }, @@ -193155,8 +196298,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2096463824, + "hash": 1349464008, "hash_compatibility": [ + 2096463824, 2736912341 ], "return_value": { @@ -193175,11 +196319,6 @@ { "name": "data", "type": "PackedByteArray" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -193266,8 +196405,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2339493201, + "hash": 2859522160, "hash_compatibility": [ + 2339493201, 3741367532 ], "return_value": { @@ -193313,11 +196453,6 @@ "name": "dst_layer", "type": "int", "meta": "uint32" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -193327,8 +196462,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3396867530, + "hash": 3477703247, "hash_compatibility": [ + 3396867530, 3423681478 ], "return_value": { @@ -193362,11 +196498,6 @@ "name": "layer_count", "type": "int", "meta": "uint32" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -193376,8 +196507,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 594679454, + "hash": 3181288260, "hash_compatibility": [ + 594679454, 2126834943 ], "return_value": { @@ -193391,11 +196523,6 @@ { "name": "to_texture", "type": "RID" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -194116,14 +197243,51 @@ } ] }, + { + "name": "buffer_copy", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 864257779, + "return_value": { + "type": "enum::Error" + }, + "arguments": [ + { + "name": "src_buffer", + "type": "RID" + }, + { + "name": "dst_buffer", + "type": "RID" + }, + { + "name": "src_offset", + "type": "int", + "meta": "uint32" + }, + { + "name": "dst_offset", + "type": "int", + "meta": "uint32" + }, + { + "name": "size", + "type": "int", + "meta": "uint32" + } + ] + }, { "name": "buffer_update", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3793150683, + "hash": 3454956949, "hash_compatibility": [ + 3793150683, 652628289 ], "return_value": { @@ -194147,11 +197311,6 @@ { "name": "data", "type": "PackedByteArray" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -194161,8 +197320,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2797041220, + "hash": 2452320800, "hash_compatibility": [ + 2797041220, 1645170096 ], "return_value": { @@ -194182,11 +197342,6 @@ "name": "size_bytes", "type": "int", "meta": "uint32" - }, - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" } ] }, @@ -194430,8 +197585,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2468082605, + "hash": 2686605154, "hash_compatibility": [ + 2468082605, 4252992020 ], "return_value": { @@ -194480,11 +197636,6 @@ "name": "region", "type": "Rect2", "default_value": "Rect2(0, 0, 0, 0)" - }, - { - "name": "storage_textures", - "type": "typedarray::RID", - "default_value": "Array[RID]([])" } ] }, @@ -194787,16 +197938,10 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3920951950, + "hash": 3218959716, "hash_compatibility": [ - 422991495 - ], - "arguments": [ - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" - } + 422991495, + 3920951950 ] }, { @@ -194805,18 +197950,14 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 968564752, + "hash": 2455072627, + "hash_compatibility": [ + 968564752 + ], "return_value": { "type": "int", "meta": "int64" - }, - "arguments": [ - { - "name": "allow_draw_overlap", - "type": "bool", - "default_value": "false" - } - ] + } }, { "name": "compute_list_bind_compute_pipeline", @@ -194936,16 +198077,10 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3920951950, + "hash": 3218959716, "hash_compatibility": [ - 422991495 - ], - "arguments": [ - { - "name": "post_barrier", - "type": "bitfield::RenderingDevice.BarrierMask", - "default_value": "32767" - } + 422991495, + 3920951950 ] }, { @@ -196468,8 +199603,12 @@ "value": 1 }, { - "name": "VIEWPORT_RENDER_INFO_TYPE_MAX", + "name": "VIEWPORT_RENDER_INFO_TYPE_CANVAS", "value": 2 + }, + { + "name": "VIEWPORT_RENDER_INFO_TYPE_MAX", + "value": 3 } ] }, @@ -199902,6 +203041,25 @@ } ] }, + { + "name": "reflection_probe_set_reflection_mask", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3411492887, + "arguments": [ + { + "name": "probe", + "type": "RID" + }, + { + "name": "layers", + "type": "int", + "meta": "uint32" + } + ] + }, { "name": "reflection_probe_set_resolution", "is_const": false, @@ -205939,6 +209097,23 @@ } ] }, + { + "name": "debug_canvas_item_get_rect", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 624227424, + "return_value": { + "type": "Rect2" + }, + "arguments": [ + { + "name": "item", + "type": "RID" + } + ] + }, { "name": "canvas_light_create", "is_const": false, @@ -206830,23 +210005,6 @@ } ] }, - { - "name": "has_feature", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 598462696, - "return_value": { - "type": "bool" - }, - "arguments": [ - { - "name": "feature", - "type": "enum::RenderingServer.Features" - } - ] - }, { "name": "has_os_feature", "is_const": true, @@ -206979,6 +210137,23 @@ "type": "Callable" } ] + }, + { + "name": "has_feature", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 598462696, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "feature", + "type": "enum::RenderingServer.Features" + } + ] } ], "signals": [ @@ -207596,7 +210771,7 @@ "is_refcounted": true, "is_instantiable": true, "inherits": "ResourceImporter", - "api_type": "core" + "api_type": "editor" }, { "name": "ResourceImporterOBJ", @@ -207610,7 +210785,7 @@ "is_refcounted": true, "is_instantiable": true, "inherits": "ResourceImporter", - "api_type": "core", + "api_type": "editor", "methods": [ { "name": "load_from_buffer", @@ -214460,6 +217635,24 @@ } ] }, + { + "name": "get_node_count_in_group", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2458036349, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "group", + "type": "StringName" + } + ] + }, { "name": "set_current_scene", "is_const": false, @@ -214873,6 +218066,17 @@ "type": "StringName" } }, + { + "name": "get_global_name", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2002593661, + "return_value": { + "type": "StringName" + } + }, { "name": "has_script_signal", "is_const": true, @@ -215510,6 +218714,22 @@ } ] }, + { + "name": "_get_script_method_argument_count", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "Variant" + }, + "arguments": [ + { + "name": "method", + "type": "StringName" + } + ] + }, { "name": "_get_method_info", "is_const": true, @@ -216108,11 +219328,11 @@ }, "arguments": [ { - "name": "class_name", + "name": "function", "type": "String" }, { - "name": "function_name", + "name": "code", "type": "String" } ] @@ -216584,6 +219804,19 @@ "is_vararg": false, "is_virtual": true }, + { + "name": "_profiling_set_save_native_calls", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "enable", + "type": "bool" + } + ] + }, { "name": "_profiling_get_accumulated_data", "is_const": false, @@ -232070,6 +235303,31 @@ "type": "bool" } }, + { + "name": "set_deselect_enabled", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enabled", + "type": "bool" + } + ] + }, + { + "name": "get_deselect_enabled", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, { "name": "clear_tabs", "is_const": false, @@ -232219,6 +235477,12 @@ "name": "select_with_rmb", "setter": "set_select_with_rmb", "getter": "get_select_with_rmb" + }, + { + "type": "bool", + "name": "deselect_enabled", + "setter": "set_deselect_enabled", + "getter": "get_deselect_enabled" } ] }, @@ -232228,6 +235492,26 @@ "is_instantiable": true, "inherits": "Container", "api_type": "core", + "enums": [ + { + "name": "TabPosition", + "is_bitfield": false, + "values": [ + { + "name": "POSITION_TOP", + "value": 0 + }, + { + "name": "POSITION_BOTTOM", + "value": 1 + }, + { + "name": "POSITION_MAX", + "value": 2 + } + ] + } + ], "methods": [ { "name": "get_tab_count", @@ -232367,6 +235651,31 @@ "type": "enum::TabBar.AlignmentMode" } }, + { + "name": "set_tabs_position", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 256673370, + "arguments": [ + { + "name": "tabs_position", + "type": "enum::TabContainer.TabPosition" + } + ] + }, + { + "name": "get_tabs_position", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 919937023, + "return_value": { + "type": "enum::TabContainer.TabPosition" + } + }, { "name": "set_clip_tabs", "is_const": false, @@ -232826,6 +236135,31 @@ "return_value": { "type": "enum::Control.FocusMode" } + }, + { + "name": "set_deselect_enabled", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enabled", + "type": "bool" + } + ] + }, + { + "name": "get_deselect_enabled", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } } ], "signals": [ @@ -232900,6 +236234,12 @@ "setter": "set_current_tab", "getter": "get_current_tab" }, + { + "type": "int", + "name": "tabs_position", + "setter": "set_tabs_position", + "getter": "get_tabs_position" + }, { "type": "bool", "name": "clip_tabs", @@ -232941,6 +236281,12 @@ "name": "tab_focus_mode", "setter": "set_tab_focus_mode", "getter": "get_tab_focus_mode" + }, + { + "type": "bool", + "name": "deselect_enabled", + "setter": "set_deselect_enabled", + "getter": "get_deselect_enabled" } ] }, @@ -237203,6 +240549,31 @@ "type": "enum::TextServer.OverrunBehavior" } }, + { + "name": "set_ellipsis_char", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 83702148, + "arguments": [ + { + "name": "char", + "type": "String" + } + ] + }, + { + "name": "get_ellipsis_char", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } + }, { "name": "get_objects", "is_const": true, @@ -237439,6 +240810,12 @@ "name": "text_overrun_behavior", "setter": "set_text_overrun_behavior", "getter": "get_text_overrun_behavior" + }, + { + "type": "String", + "name": "ellipsis_char", + "setter": "set_ellipsis_char", + "getter": "get_ellipsis_char" } ] }, @@ -238453,6 +241830,31 @@ "type": "enum::TextServer.OverrunBehavior" } }, + { + "name": "set_ellipsis_char", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 83702148, + "arguments": [ + { + "name": "char", + "type": "String" + } + ] + }, + { + "name": "get_ellipsis_char", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } + }, { "name": "set_width", "is_const": false, @@ -239043,6 +242445,12 @@ "setter": "set_text_overrun_behavior", "getter": "get_text_overrun_behavior" }, + { + "type": "String", + "name": "ellipsis_char", + "setter": "set_ellipsis_char", + "getter": "get_ellipsis_char" + }, { "type": "float", "name": "width", @@ -240562,6 +243970,43 @@ } ] }, + { + "name": "font_set_baseline_offset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1794382983, + "arguments": [ + { + "name": "font_rid", + "type": "RID" + }, + { + "name": "baseline_offset", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "font_get_baseline_offset", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 866169185, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "font_rid", + "type": "RID" + } + ] + }, { "name": "font_set_transform", "is_const": false, @@ -242380,6 +245825,43 @@ } ] }, + { + "name": "shaped_text_set_custom_ellipsis", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3411492887, + "arguments": [ + { + "name": "shaped", + "type": "RID" + }, + { + "name": "char", + "type": "int", + "meta": "int64" + } + ] + }, + { + "name": "shaped_text_get_custom_ellipsis", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2198884583, + "return_value": { + "type": "int", + "meta": "int64" + }, + "arguments": [ + { + "name": "shaped", + "type": "RID" + } + ] + }, { "name": "shaped_text_set_orientation", "is_const": false, @@ -244882,6 +248364,41 @@ } ] }, + { + "name": "_font_set_baseline_offset", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "font_rid", + "type": "RID" + }, + { + "name": "baseline_offset", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "_font_get_baseline_offset", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "float", + "meta": "float" + }, + "arguments": [ + { + "name": "font_rid", + "type": "RID" + } + ] + }, { "name": "_font_set_transform", "is_const": false, @@ -246605,6 +250122,41 @@ } ] }, + { + "name": "_shaped_text_set_custom_ellipsis", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "arguments": [ + { + "name": "shaped", + "type": "RID" + }, + { + "name": "char", + "type": "int", + "meta": "int64" + } + ] + }, + { + "name": "_shaped_text_get_custom_ellipsis", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "int", + "meta": "int64" + }, + "arguments": [ + { + "name": "shaped", + "type": "RID" + } + ] + }, { "name": "_shaped_text_set_orientation", "is_const": false, @@ -249785,6 +253337,24 @@ "setter": "set_fill_mode", "getter": "get_fill_mode" }, + { + "type": "float", + "name": "radial_initial_angle", + "setter": "set_radial_initial_angle", + "getter": "get_radial_initial_angle" + }, + { + "type": "float", + "name": "radial_fill_degrees", + "setter": "set_fill_degrees", + "getter": "get_fill_degrees" + }, + { + "type": "Vector2", + "name": "radial_center_offset", + "setter": "set_radial_center_offset", + "getter": "get_radial_center_offset" + }, { "type": "bool", "name": "nine_patch_stretch", @@ -249860,24 +253430,6 @@ "name": "tint_progress", "setter": "set_tint_progress", "getter": "get_tint_progress" - }, - { - "type": "float", - "name": "radial_initial_angle", - "setter": "set_radial_initial_angle", - "getter": "get_radial_initial_angle" - }, - { - "type": "float", - "name": "radial_fill_degrees", - "setter": "set_fill_degrees", - "getter": "get_fill_degrees" - }, - { - "type": "Vector2", - "name": "radial_center_offset", - "setter": "set_radial_center_offset", - "getter": "get_radial_center_offset" } ] }, @@ -251941,7 +255493,10 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2458574231, + "hash": 2377324099, + "hash_compatibility": [ + 2458574231 + ], "return_value": { "type": "OccluderPolygon2D" }, @@ -251950,6 +255505,21 @@ "name": "layer_id", "type": "int", "meta": "int32" + }, + { + "name": "flip_h", + "type": "bool", + "default_value": "false" + }, + { + "name": "flip_v", + "type": "bool", + "default_value": "false" + }, + { + "name": "transpose", + "type": "bool", + "default_value": "false" } ] }, @@ -252362,7 +255932,10 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3991786031, + "hash": 2907127272, + "hash_compatibility": [ + 3991786031 + ], "return_value": { "type": "NavigationPolygon" }, @@ -252371,6 +255944,21 @@ "name": "layer_id", "type": "int", "meta": "int32" + }, + { + "name": "flip_h", + "type": "bool", + "default_value": "false" + }, + { + "name": "flip_v", + "type": "bool", + "default_value": "false" + }, + { + "name": "transpose", + "type": "bool", + "default_value": "false" } ] }, @@ -253126,11 +256714,14 @@ }, { "name": "get_collision_visibility_mode", - "is_const": false, + "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2026313073, + "hash": 1697018252, + "hash_compatibility": [ + 2026313073 + ], "return_value": { "type": "enum::TileMap.VisibilityMode" } @@ -253151,11 +256742,14 @@ }, { "name": "get_navigation_visibility_mode", - "is_const": false, + "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2026313073, + "hash": 1697018252, + "hash_compatibility": [ + 2026313073 + ], "return_value": { "type": "enum::TileMap.VisibilityMode" } @@ -260609,6 +264203,43 @@ } ] }, + { + "name": "set_custom_draw_callback", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 957362965, + "arguments": [ + { + "name": "column", + "type": "int", + "meta": "int32" + }, + { + "name": "callback", + "type": "Callable" + } + ] + }, + { + "name": "get_custom_draw_callback", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1317077508, + "return_value": { + "type": "Callable" + }, + "arguments": [ + { + "name": "column", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "set_collapsed", "is_const": false, @@ -261198,6 +264829,29 @@ } ] }, + { + "name": "get_button_color", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2165839948, + "return_value": { + "type": "Color" + }, + "arguments": [ + { + "name": "column", + "type": "int", + "meta": "int32" + }, + { + "name": "id", + "type": "int", + "meta": "int32" + } + ] + }, { "name": "get_button", "is_const": true, @@ -263825,6 +267479,33 @@ "meta": "uint64" } }, + { + "name": "set_max_steps", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "max_steps", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_max_steps", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, { "name": "redo", "is_const": false, @@ -263852,6 +267533,14 @@ { "name": "version_changed" } + ], + "properties": [ + { + "type": "int", + "name": "max_steps", + "setter": "set_max_steps", + "getter": "get_max_steps" + } ] }, { @@ -266189,6 +269878,17 @@ "type": "Control" } }, + { + "name": "gui_get_hovered_control", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2783021301, + "return_value": { + "type": "Control" + } + }, { "name": "set_disable_input", "is_const": false, @@ -278410,6 +282110,31 @@ "type": "bool" } }, + { + "name": "set_transient_to_focused", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enable", + "type": "bool" + } + ] + }, + { + "name": "is_transient_to_focused", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, { "name": "set_exclusive", "is_const": false, @@ -279833,6 +283558,12 @@ "setter": "set_transient", "getter": "is_transient" }, + { + "type": "bool", + "name": "transient_to_focused", + "setter": "set_transient_to_focused", + "getter": "is_transient_to_focused" + }, { "type": "bool", "name": "exclusive", diff --git a/gdextension/gdextension_interface.h b/gdextension/gdextension_interface.h index d58f0226..b3c2f9f2 100644 --- a/gdextension/gdextension_interface.h +++ b/gdextension/gdextension_interface.h @@ -391,6 +391,8 @@ typedef GDExtensionBool (*GDExtensionCallableCustomLessThan)(void *callable_user typedef void (*GDExtensionCallableCustomToString)(void *callable_userdata, GDExtensionBool *r_is_valid, GDExtensionStringPtr r_out); +typedef GDExtensionInt (*GDExtensionCallableCustomGetArgumentCount)(void *callable_userdata, GDExtensionBool *r_is_valid); + typedef struct { /* Only `call_func` and `token` are strictly required, however, `object_id` should be passed if its not a static method. * @@ -420,7 +422,40 @@ typedef struct { GDExtensionCallableCustomLessThan less_than_func; GDExtensionCallableCustomToString to_string_func; -} GDExtensionCallableCustomInfo; +} GDExtensionCallableCustomInfo; // Deprecated. Use GDExtensionCallableCustomInfo2 instead. + +typedef struct { + /* Only `call_func` and `token` are strictly required, however, `object_id` should be passed if its not a static method. + * + * `token` should point to an address that uniquely identifies the GDExtension (for example, the + * `GDExtensionClassLibraryPtr` passed to the entry symbol function. + * + * `hash_func`, `equal_func`, and `less_than_func` are optional. If not provided both `call_func` and + * `callable_userdata` together are used as the identity of the callable for hashing and comparison purposes. + * + * The hash returned by `hash_func` is cached, `hash_func` will not be called more than once per callable. + * + * `is_valid_func` is necessary if the validity of the callable can change before destruction. + * + * `free_func` is necessary if `callable_userdata` needs to be cleaned up when the callable is freed. + */ + void *callable_userdata; + void *token; + + GDObjectInstanceID object_id; + + GDExtensionCallableCustomCall call_func; + GDExtensionCallableCustomIsValid is_valid_func; + GDExtensionCallableCustomFree free_func; + + GDExtensionCallableCustomHash hash_func; + GDExtensionCallableCustomEqual equal_func; + GDExtensionCallableCustomLessThan less_than_func; + + GDExtensionCallableCustomToString to_string_func; + + GDExtensionCallableCustomGetArgumentCount get_argument_count_func; +} GDExtensionCallableCustomInfo2; /* SCRIPT INSTANCE EXTENSION */ @@ -2371,6 +2406,7 @@ typedef GDExtensionScriptInstanceDataPtr (*GDExtensionInterfaceObjectGetScriptIn /** * @name callable_custom_create * @since 4.2 + * @deprecated in Godot 4.3. Use `callable_custom_create2` instead. * * Creates a custom Callable object from a function pointer. * @@ -2381,6 +2417,19 @@ typedef GDExtensionScriptInstanceDataPtr (*GDExtensionInterfaceObjectGetScriptIn */ typedef void (*GDExtensionInterfaceCallableCustomCreate)(GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo *p_callable_custom_info); +/** + * @name callable_custom_create2 + * @since 4.3 + * + * Creates a custom Callable object from a function pointer. + * + * Provided struct can be safely freed once the function returns. + * + * @param r_callable A pointer that will receive the new Callable. + * @param p_callable_custom_info The info required to construct a Callable. + */ +typedef void (*GDExtensionInterfaceCallableCustomCreate2)(GDExtensionUninitializedTypePtr r_callable, GDExtensionCallableCustomInfo2 *p_callable_custom_info); + /** * @name callable_custom_get_userdata * @since 4.2 @@ -2617,6 +2666,31 @@ typedef void (*GDExtensionInterfaceEditorAddPlugin)(GDExtensionConstStringNamePt */ typedef void (*GDExtensionInterfaceEditorRemovePlugin)(GDExtensionConstStringNamePtr p_class_name); +/** + * @name editor_help_load_xml_from_utf8_chars + * @since 4.3 + * + * Loads new XML-formatted documentation data in the editor. + * + * The provided pointer can be immediately freed once the function returns. + * + * @param p_data A pointer to an UTF-8 encoded C string (null terminated). + */ +typedef void (*GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8Chars)(const char *p_data); + +/** + * @name editor_help_load_xml_from_utf8_chars_and_len + * @since 4.3 + * + * Loads new XML-formatted documentation data in the editor. + * + * The provided pointer can be immediately freed once the function returns. + * + * @param p_data A pointer to an UTF-8 encoded C string. + * @param p_size The number of bytes (not code units). + */ +typedef void (*GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8CharsAndLen)(const char *p_data, GDExtensionInt p_size); + #ifdef __cplusplus } #endif diff --git a/include/godot_cpp/godot.hpp b/include/godot_cpp/godot.hpp index c9e90226..978cc2de 100644 --- a/include/godot_cpp/godot.hpp +++ b/include/godot_cpp/godot.hpp @@ -165,7 +165,7 @@ extern "C" GDExtensionInterfaceObjectGetClassName gdextension_interface_object_g extern "C" GDExtensionInterfaceObjectCastTo gdextension_interface_object_cast_to; extern "C" GDExtensionInterfaceObjectGetInstanceFromId gdextension_interface_object_get_instance_from_id; extern "C" GDExtensionInterfaceObjectGetInstanceId gdextension_interface_object_get_instance_id; -extern "C" GDExtensionInterfaceCallableCustomCreate gdextension_interface_callable_custom_create; +extern "C" GDExtensionInterfaceCallableCustomCreate2 gdextension_interface_callable_custom_create2; extern "C" GDExtensionInterfaceCallableCustomGetUserData gdextension_interface_callable_custom_get_userdata; extern "C" GDExtensionInterfaceRefGetObject gdextension_interface_ref_get_object; extern "C" GDExtensionInterfaceRefSetObject gdextension_interface_ref_set_object; diff --git a/include/godot_cpp/variant/callable_custom.hpp b/include/godot_cpp/variant/callable_custom.hpp index 34328f9c..48a81422 100644 --- a/include/godot_cpp/variant/callable_custom.hpp +++ b/include/godot_cpp/variant/callable_custom.hpp @@ -41,6 +41,7 @@ class Object; class CallableCustomBase { public: virtual ObjectID get_object() const = 0; + virtual int get_argument_count(bool &r_is_valid) const; virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const = 0; virtual ~CallableCustomBase() {} }; diff --git a/include/godot_cpp/variant/callable_method_pointer.hpp b/include/godot_cpp/variant/callable_method_pointer.hpp index 159f976d..0c0ff340 100644 --- a/include/godot_cpp/variant/callable_method_pointer.hpp +++ b/include/godot_cpp/variant/callable_method_pointer.hpp @@ -73,6 +73,11 @@ public: return ObjectID(data.instance->get_instance_id()); } + virtual int get_argument_count(bool &r_is_valid) const override { + r_is_valid = true; + return sizeof...(P); + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const override { call_with_variant_args(data.instance, data.method, p_arguments, p_argcount, r_call_error); } @@ -110,6 +115,11 @@ public: return ObjectID(data.instance->get_instance_id()); } + virtual int get_argument_count(bool &r_is_valid) const override { + r_is_valid = true; + return sizeof...(P); + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const override { call_with_variant_args_ret(data.instance, data.method, p_arguments, p_argcount, r_return_value, r_call_error); } @@ -147,6 +157,11 @@ public: return ObjectID(data.instance->get_instance_id()); } + virtual int get_argument_count(bool &r_is_valid) const override { + r_is_valid = true; + return sizeof...(P); + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const override { call_with_variant_args_retc(data.instance, data.method, p_arguments, p_argcount, r_return_value, r_call_error); } @@ -182,6 +197,11 @@ public: return ObjectID(); } + virtual int get_argument_count(bool &r_is_valid) const override { + r_is_valid = true; + return sizeof...(P); + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const override { call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error); r_return_value = Variant(); @@ -218,6 +238,11 @@ public: return ObjectID(); } + virtual int get_argument_count(bool &r_is_valid) const override { + r_is_valid = true; + return sizeof...(P); + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const override { call_with_variant_args_static_ret(data.method, p_arguments, p_argcount, r_return_value, r_call_error); } diff --git a/src/godot.cpp b/src/godot.cpp index 5c2aaa65..f9111e35 100644 --- a/src/godot.cpp +++ b/src/godot.cpp @@ -171,7 +171,7 @@ GDExtensionInterfaceObjectGetClassName gdextension_interface_object_get_class_na GDExtensionInterfaceObjectCastTo gdextension_interface_object_cast_to = nullptr; GDExtensionInterfaceObjectGetInstanceFromId gdextension_interface_object_get_instance_from_id = nullptr; GDExtensionInterfaceObjectGetInstanceId gdextension_interface_object_get_instance_id = nullptr; -GDExtensionInterfaceCallableCustomCreate gdextension_interface_callable_custom_create = nullptr; +GDExtensionInterfaceCallableCustomCreate2 gdextension_interface_callable_custom_create2 = nullptr; GDExtensionInterfaceCallableCustomGetUserData gdextension_interface_callable_custom_get_userdata = nullptr; GDExtensionInterfaceRefGetObject gdextension_interface_ref_get_object = nullptr; GDExtensionInterfaceRefSetObject gdextension_interface_ref_set_object = nullptr; @@ -408,7 +408,7 @@ GDExtensionBool GDExtensionBinding::init(GDExtensionInterfaceGetProcAddress p_ge LOAD_PROC_ADDRESS(object_cast_to, GDExtensionInterfaceObjectCastTo); LOAD_PROC_ADDRESS(object_get_instance_from_id, GDExtensionInterfaceObjectGetInstanceFromId); LOAD_PROC_ADDRESS(object_get_instance_id, GDExtensionInterfaceObjectGetInstanceId); - LOAD_PROC_ADDRESS(callable_custom_create, GDExtensionInterfaceCallableCustomCreate); + LOAD_PROC_ADDRESS(callable_custom_create2, GDExtensionInterfaceCallableCustomCreate2); LOAD_PROC_ADDRESS(callable_custom_get_userdata, GDExtensionInterfaceCallableCustomGetUserData); LOAD_PROC_ADDRESS(ref_get_object, GDExtensionInterfaceRefGetObject); LOAD_PROC_ADDRESS(ref_set_object, GDExtensionInterfaceRefSetObject); diff --git a/src/variant/callable_custom.cpp b/src/variant/callable_custom.cpp index e0540fa1..ae8cc485 100644 --- a/src/variant/callable_custom.cpp +++ b/src/variant/callable_custom.cpp @@ -35,6 +35,11 @@ namespace godot { +int CallableCustomBase::get_argument_count(bool &r_is_valid) const { + r_is_valid = false; + return 0; +} + static void callable_custom_call(void *p_userdata, const GDExtensionConstVariantPtr *p_args, GDExtensionInt p_argument_count, GDExtensionVariantPtr r_return, GDExtensionCallError *r_error) { CallableCustom *callable_custom = (CallableCustom *)p_userdata; callable_custom->call((const Variant **)p_args, p_argument_count, *(Variant *)r_return, *r_error); @@ -84,13 +89,21 @@ static GDExtensionBool callable_custom_less_than_func(void *p_a, void *p_b) { return func_a(a, b); } +static GDExtensionInt custom_callable_get_argument_count_func(void *p_userdata, GDExtensionBool *r_is_valid) { + CallableCustom *callable_custom = (CallableCustom *)p_userdata; + bool valid = false; + int ret = callable_custom->get_argument_count(valid); + *r_is_valid = valid; + return ret; +} + bool CallableCustom::is_valid() const { // The same default implementation as in Godot. return ObjectDB::get_instance(get_object()); } Callable::Callable(CallableCustom *p_callable_custom) { - GDExtensionCallableCustomInfo info = {}; + GDExtensionCallableCustomInfo2 info = {}; info.callable_userdata = p_callable_custom; info.token = internal::token; info.object_id = p_callable_custom->get_object(); @@ -101,8 +114,9 @@ Callable::Callable(CallableCustom *p_callable_custom) { info.equal_func = &callable_custom_equal_func; info.less_than_func = &callable_custom_less_than_func; info.to_string_func = &callable_custom_to_string; + info.get_argument_count_func = &custom_callable_get_argument_count_func; - ::godot::internal::gdextension_interface_callable_custom_create(_native_ptr(), &info); + ::godot::internal::gdextension_interface_callable_custom_create2(_native_ptr(), &info); } CallableCustom *Callable::get_custom() const { diff --git a/src/variant/callable_method_pointer.cpp b/src/variant/callable_method_pointer.cpp index 520ed05a..23b7ef50 100644 --- a/src/variant/callable_method_pointer.cpp +++ b/src/variant/callable_method_pointer.cpp @@ -77,6 +77,14 @@ static GDExtensionBool custom_callable_mp_less_than_func(void *p_a, void *p_b) { return memcmp(a->get_comp_ptr(), b->get_comp_ptr(), a->get_comp_size() * 4) < 0; } +static GDExtensionInt custom_callable_mp_get_argument_count_func(void *p_userdata, GDExtensionBool *r_is_valid) { + CallableCustomMethodPointerBase *callable_method_pointer = (CallableCustomMethodPointerBase *)p_userdata; + bool valid = false; + int ret = callable_method_pointer->get_argument_count(valid); + *r_is_valid = valid; + return ret; +} + void CallableCustomMethodPointerBase::_setup(uint32_t *p_base_ptr, uint32_t p_ptr_size) { comp_ptr = p_base_ptr; comp_size = p_ptr_size / 4; @@ -93,7 +101,7 @@ void CallableCustomMethodPointerBase::_setup(uint32_t *p_base_ptr, uint32_t p_pt namespace internal { Callable create_callable_from_ccmp(CallableCustomMethodPointerBase *p_callable_method_pointer) { - GDExtensionCallableCustomInfo info = {}; + GDExtensionCallableCustomInfo2 info = {}; info.callable_userdata = p_callable_method_pointer; info.token = internal::token; info.object_id = p_callable_method_pointer->get_object(); @@ -103,9 +111,10 @@ Callable create_callable_from_ccmp(CallableCustomMethodPointerBase *p_callable_m info.hash_func = &custom_callable_mp_hash; info.equal_func = &custom_callable_mp_equal_func; info.less_than_func = &custom_callable_mp_less_than_func; + info.get_argument_count_func = &custom_callable_mp_get_argument_count_func; Callable callable; - ::godot::internal::gdextension_interface_callable_custom_create(callable._native_ptr(), &info); + ::godot::internal::gdextension_interface_callable_custom_create2(callable._native_ptr(), &info); return callable; } diff --git a/test/project/main.gd b/test/project/main.gd index 59cab6dc..88767fd4 100644 --- a/test/project/main.gd +++ b/test/project/main.gd @@ -102,6 +102,7 @@ func _ready(): # mp_callable() with void method. var mp_callable: Callable = example.test_callable_mp() assert_equal(mp_callable.is_valid(), true) + assert_equal(mp_callable.get_argument_count(), 3) mp_callable.call(example, "void", 36) assert_equal(custom_signal_emitted, ["unbound_method1: Example - void", 36]) @@ -117,14 +118,17 @@ func _ready(): # mp_callable() with return value. var mp_callable_ret: Callable = example.test_callable_mp_ret() + assert_equal(mp_callable_ret.get_argument_count(), 3) assert_equal(mp_callable_ret.call(example, "test", 77), "unbound_method2: Example - test - 77") # mp_callable() with const method and return value. var mp_callable_retc: Callable = example.test_callable_mp_retc() + assert_equal(mp_callable_retc.get_argument_count(), 3) assert_equal(mp_callable_retc.call(example, "const", 101), "unbound_method3: Example - const - 101") # mp_callable_static() with void method. var mp_callable_static: Callable = example.test_callable_mp_static() + assert_equal(mp_callable_static.get_argument_count(), 3) mp_callable_static.call(example, "static", 83) assert_equal(custom_signal_emitted, ["unbound_static_method1: Example - static", 83]) @@ -140,6 +144,7 @@ func _ready(): # mp_callable_static() with return value. var mp_callable_static_ret: Callable = example.test_callable_mp_static_ret() + assert_equal(mp_callable_static_ret.get_argument_count(), 3) assert_equal(mp_callable_static_ret.call(example, "static-ret", 84), "unbound_static_method2: Example - static-ret - 84") # CallableCustom. @@ -150,6 +155,7 @@ func _ready(): assert_equal(custom_callable.hash(), 27); assert_equal(custom_callable.get_object(), null); assert_equal(custom_callable.get_method(), ""); + assert_equal(custom_callable.get_argument_count(), 2) assert_equal(str(custom_callable), ""); # PackedArray iterators diff --git a/test/src/example.cpp b/test/src/example.cpp index 5372d70a..f25d3376 100644 --- a/test/src/example.cpp +++ b/test/src/example.cpp @@ -49,6 +49,11 @@ public: return ObjectID(); } + virtual int get_argument_count(bool &r_is_valid) const { + r_is_valid = true; + return 2; + } + virtual void call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, GDExtensionCallError &r_call_error) const { r_return_value = "Hi"; r_call_error.error = GDEXTENSION_CALL_OK;