From 90d69faa9183ab787f2ac8eb9a773248ef1f5633 Mon Sep 17 00:00:00 2001 From: Mikael Hermansson Date: Tue, 11 Oct 2022 19:03:12 +0200 Subject: [PATCH] Fix use-after-free at shutdown, sync API files --- binding_generator.py | 15 + godot-headers/extension_api.json | 2185 ++++++++++++++++------ godot-headers/godot/gdnative_interface.h | 2 +- 3 files changed, 1664 insertions(+), 538 deletions(-) diff --git a/binding_generator.py b/binding_generator.py index 0bf46ea9c4..621dc4147e 100644 --- a/binding_generator.py +++ b/binding_generator.py @@ -1169,6 +1169,8 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us if is_singleton: result.append(f"\tstatic {class_name} *get_singleton();") result.append("") + result.append(f"\t~{class_name}();") + result.append("") if "methods" in class_api: for method in class_api["methods"]: @@ -1291,6 +1293,8 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us result.append("") if is_singleton: + result.append(f"static bool {class_name}_singleton_destroyed = false;") + result.append("") result.append(f"{class_name} *{class_name}::get_singleton() {{") result.append( f'\tstatic GDNativeObjectPtr singleton_obj = internal::gdn_interface->global_get_singleton("{class_name}");' @@ -1301,9 +1305,20 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us result.append( f"\tstatic {class_name} *singleton = reinterpret_cast<{class_name} *>(internal::gdn_interface->object_get_instance_binding(singleton_obj, internal::token, &{class_name}::___binding_callbacks));" ) + result.append(f"\tstatic struct {class_name}_BindingsCleanup {{") + result.append(f"\t\t~{class_name}_BindingsCleanup() {{") + result.append(f"\t\t\tif (!{class_name}_singleton_destroyed) {{") + result.append("\t\t\t\tinternal::gdn_interface->object_clear_instance_binding(singleton_obj, internal::token);") + result.append("\t\t\t}") + result.append("\t\t}") + result.append("\t} bindings_cleanup;") result.append("\treturn singleton;") result.append("}") result.append("") + result.append(f"{class_name}::~{class_name}() {{") + result.append(f"\t{class_name}_singleton_destroyed = true;") + result.append("}") + result.append("") if "methods" in class_api: for method in class_api["methods"]: diff --git a/godot-headers/extension_api.json b/godot-headers/extension_api.json index 2401a6b35a..74f31cd762 100644 --- a/godot-headers/extension_api.json +++ b/godot-headers/extension_api.json @@ -3,9 +3,9 @@ "version_major": 4, "version_minor": 0, "version_patch": 0, - "version_status": "beta2", - "version_build": "official", - "version_full_name": "Godot Engine v4.0.beta2.official" + "version_status": "beta", + "version_build": "custom_build", + "version_full_name": "Godot Engine v4.0.beta.custom_build" }, "builtin_class_sizes": [ { @@ -4620,6 +4620,19 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "category": "math", + "is_vararg": false, + "hash": 3569215213, + "arguments": [ + { + "name": "x", + "type": "float" + } + ] + }, { "name": "ease", "return_type": "float", @@ -8903,6 +8916,14 @@ "is_static": false, "hash": 3918633141 }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "posmod", "return_type": "Vector2", @@ -9732,6 +9753,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "intersects", "return_type": "bool", @@ -10596,6 +10625,14 @@ "is_static": false, "hash": 3918633141 }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "inverse", "return_type": "Vector3", @@ -11641,6 +11678,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "set_rotation", "is_vararg": false, @@ -11761,7 +11806,7 @@ ] } ], - "has_destructor": true + "has_destructor": false }, { "name": "Vector4", @@ -12266,6 +12311,14 @@ "is_const": true, "is_static": false, "hash": 3918633141 + }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 } ], "constructors": [ @@ -12733,6 +12786,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "is_point_over", "return_type": "bool", @@ -13094,6 +13155,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "inverse", "return_type": "Quaternion", @@ -13475,6 +13544,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "intersects", "return_type": "bool", @@ -13713,7 +13790,7 @@ ] } ], - "has_destructor": true + "has_destructor": false }, { "name": "Basis", @@ -14030,6 +14107,14 @@ } ] }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 + }, { "name": "get_rotation_quaternion", "return_type": "Quaternion", @@ -14144,7 +14229,7 @@ ] } ], - "has_destructor": true + "has_destructor": false }, { "name": "Transform3D", @@ -14415,6 +14500,14 @@ "type": "Transform3D" } ] + }, + { + "name": "is_finite", + "return_type": "bool", + "is_vararg": false, + "is_const": true, + "is_static": false, + "hash": 3918633141 } ], "constructors": [ @@ -14474,7 +14567,7 @@ ] } ], - "has_destructor": true + "has_destructor": false }, { "name": "Projection", @@ -16789,7 +16882,7 @@ ] } ], - "has_destructor": true + "has_destructor": false }, { "name": "Callable", @@ -23165,9 +23258,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 690373547, + "hash": 1989391000, "return_value": { - "type": "PackedVector2Array" + "type": "typedarray::Vector2i" }, "arguments": [ { @@ -28732,31 +28825,6 @@ "return_value": { "type": "String" } - }, - { - "name": "set_advance_expression_base_node", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 1348162250, - "arguments": [ - { - "name": "path", - "type": "NodePath" - } - ] - }, - { - "name": "get_advance_expression_base_node", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 4075236667, - "return_value": { - "type": "NodePath" - } } ], "signals": [ @@ -28814,13 +28882,6 @@ "getter": "get_advance_expression", "index": -1 }, - { - "type": "NodePath", - "name": "advance_expression_base_node", - "setter": "set_advance_expression_base_node", - "getter": "get_advance_expression_base_node", - "index": -1 - }, { "type": "bool", "name": "disabled", @@ -29908,6 +29969,9 @@ { "name": "animation_list_changed" }, + { + "name": "animation_libraries_updated" + }, { "name": "caches_cleared" } @@ -31624,7 +31688,7 @@ } }, { - "name": "set_reverb_bus", + "name": "set_reverb_bus_name", "is_const": false, "is_vararg": false, "is_static": false, @@ -31638,7 +31702,7 @@ ] }, { - "name": "get_reverb_bus", + "name": "get_reverb_bus_name", "is_const": true, "is_vararg": false, "is_static": false, @@ -31954,7 +32018,7 @@ }, { "type": "bool", - "name": "reverb_bus_enable", + "name": "reverb_bus_enabled", "setter": "set_use_reverb_bus", "getter": "is_using_reverb_bus", "index": -1 @@ -31962,8 +32026,8 @@ { "type": "StringName", "name": "reverb_bus_name", - "setter": "set_reverb_bus", - "getter": "get_reverb_bus", + "setter": "set_reverb_bus_name", + "getter": "get_reverb_bus_name", "index": -1 }, { @@ -38524,7 +38588,7 @@ } }, { - "name": "set_unit_db", + "name": "set_volume_db", "is_const": false, "is_vararg": false, "is_static": false, @@ -38532,14 +38596,14 @@ "hash": 373806689, "arguments": [ { - "name": "unit_db", + "name": "volume_db", "type": "float", "meta": "float" } ] }, { - "name": "get_unit_db", + "name": "get_volume_db", "is_const": true, "is_vararg": false, "is_static": false, @@ -39093,9 +39157,9 @@ }, { "type": "float", - "name": "unit_db", - "setter": "set_unit_db", - "getter": "get_unit_db", + "name": "volume_db", + "setter": "set_volume_db", + "getter": "get_volume_db", "index": -1 }, { @@ -42509,7 +42573,7 @@ } }, { - "name": "set_proximity_fade", + "name": "set_proximity_fade_enabled", "is_const": false, "is_vararg": false, "is_static": false, @@ -43460,8 +43524,8 @@ }, { "type": "bool", - "name": "proximity_fade_enable", - "setter": "set_proximity_fade", + "name": "proximity_fade_enabled", + "setter": "set_proximity_fade_enabled", "getter": "is_proximity_fade_enabled", "index": -1 }, @@ -50388,7 +50452,7 @@ } }, { - "name": "set_follow_smoothing", + "name": "set_position_smoothing_speed", "is_const": false, "is_vararg": false, "is_static": false, @@ -50396,14 +50460,14 @@ "hash": 373806689, "arguments": [ { - "name": "follow_smoothing", + "name": "position_smoothing_speed", "type": "float", "meta": "float" } ] }, { - "name": "get_follow_smoothing", + "name": "get_position_smoothing_speed", "is_const": true, "is_vararg": false, "is_static": false, @@ -50415,7 +50479,32 @@ } }, { - "name": "set_enable_follow_smoothing", + "name": "set_position_smoothing_enabled", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "position_smoothing_speed", + "type": "bool" + } + ] + }, + { + "name": "is_position_smoothing_enabled", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 36873697, + "return_value": { + "type": "bool" + } + }, + { + "name": "set_rotation_smoothing_enabled", "is_const": false, "is_vararg": false, "is_static": false, @@ -50423,13 +50512,13 @@ "hash": 2586408642, "arguments": [ { - "name": "follow_smoothing", + "name": "enabled", "type": "bool" } ] }, { - "name": "is_follow_smoothing_enabled", + "name": "is_rotation_smoothing_enabled", "is_const": true, "is_vararg": false, "is_static": false, @@ -50439,6 +50528,33 @@ "type": "bool" } }, + { + "name": "set_rotation_smoothing_speed", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 373806689, + "arguments": [ + { + "name": "speed", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_rotation_smoothing_speed", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } + }, { "name": "force_update_scroll", "is_const": false, @@ -50626,16 +50742,30 @@ }, { "type": "bool", - "name": "smoothing_enabled", - "setter": "set_enable_follow_smoothing", - "getter": "is_follow_smoothing_enabled", + "name": "position_smoothing_enabled", + "setter": "set_position_smoothing_enabled", + "getter": "is_position_smoothing_enabled", + "index": -1 + }, + { + "type": "float", + "name": "position_smoothing_speed", + "setter": "set_position_smoothing_speed", + "getter": "get_position_smoothing_speed", + "index": -1 + }, + { + "type": "bool", + "name": "rotation_smoothing_enabled", + "setter": "set_rotation_smoothing_enabled", + "getter": "is_rotation_smoothing_enabled", "index": -1 }, { "type": "float", - "name": "smoothing_speed", - "setter": "set_follow_smoothing", - "getter": "get_follow_smoothing", + "name": "rotation_smoothing_speed", + "setter": "set_rotation_smoothing_speed", + "getter": "get_rotation_smoothing_speed", "index": -1 }, { @@ -62126,6 +62256,31 @@ "type": "float", "meta": "float" } + }, + { + "name": "set_debug_color", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2920490490, + "arguments": [ + { + "name": "color", + "type": "Color" + } + ] + }, + { + "name": "get_debug_color", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3444240500, + "return_value": { + "type": "Color" + } } ], "properties": [ @@ -62156,6 +62311,13 @@ "setter": "set_one_way_collision_margin", "getter": "get_one_way_collision_margin", "index": -1 + }, + { + "type": "Color", + "name": "debug_color", + "setter": "set_debug_color", + "getter": "get_debug_color", + "index": -1 } ] }, @@ -62498,6 +62660,45 @@ "type": "PackedColorArray" } }, + { + "name": "add_recent_preset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2920490490, + "arguments": [ + { + "name": "color", + "type": "Color" + } + ] + }, + { + "name": "erase_recent_preset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2920490490, + "arguments": [ + { + "name": "color", + "type": "Color" + } + ] + }, + { + "name": "get_recent_presets", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1392750486, + "return_value": { + "type": "PackedColorArray" + } + }, { "name": "set_picker_shape", "is_const": false, @@ -72852,9 +73053,9 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 763922886, + "hash": 2295066620, "return_value": { - "type": "Vector2i" + "type": "Vector3i" }, "arguments": [ { @@ -77459,7 +77660,7 @@ ] }, { - "name": "set_spatial_node", + "name": "set_node_3d", "is_const": false, "is_vararg": false, "is_static": false, @@ -77473,7 +77674,7 @@ ] }, { - "name": "get_spatial_node", + "name": "get_node_3d", "is_const": true, "is_vararg": false, "is_static": false, @@ -78945,7 +79146,7 @@ ] }, { - "name": "add_spatial_gizmo_plugin", + "name": "add_node_3d_gizmo_plugin", "is_const": false, "is_vararg": false, "is_static": false, @@ -78959,7 +79160,7 @@ ] }, { - "name": "remove_spatial_gizmo_plugin", + "name": "remove_node_3d_gizmo_plugin", "is_const": false, "is_vararg": false, "is_static": false, @@ -82119,7 +82320,7 @@ } }, { - "name": "set_target_fps", + "name": "set_max_fps", "is_const": false, "is_vararg": false, "is_static": false, @@ -82127,14 +82328,14 @@ "hash": 1286410249, "arguments": [ { - "name": "target_fps", + "name": "max_fps", "type": "int", "meta": "int32" } ] }, { - "name": "get_target_fps", + "name": "get_max_fps", "is_const": true, "is_vararg": false, "is_static": false, @@ -82505,9 +82706,9 @@ }, { "type": "int", - "name": "target_fps", - "setter": "set_target_fps", - "getter": "get_target_fps", + "name": "max_fps", + "setter": "set_max_fps", + "getter": "get_max_fps", "index": -1 }, { @@ -88101,7 +88302,7 @@ "type": "String" }, { - "name": "new_file", + "name": "new_folder", "type": "String" } ] @@ -94724,6 +94925,31 @@ } ] }, + { + "name": "get_texture_samplers", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2915620761, + "return_value": { + "type": "typedarray::GLTFTextureSampler" + } + }, + { + "name": "set_texture_samplers", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 381264803, + "arguments": [ + { + "name": "texture_samplers", + "type": "typedarray::GLTFTextureSampler" + } + ] + }, { "name": "get_images", "is_const": false, @@ -95099,6 +95325,13 @@ "getter": "get_textures", "index": -1 }, + { + "type": "Array", + "name": "texture_samplers", + "setter": "set_texture_samplers", + "getter": "get_texture_samplers", + "index": -1 + }, { "type": "Array", "name": "images", @@ -95204,6 +95437,33 @@ "meta": "int32" } ] + }, + { + "name": "get_sampler", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_sampler", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "sampler", + "type": "int", + "meta": "int32" + } + ] } ], "properties": [ @@ -95213,6 +95473,160 @@ "setter": "set_src_image", "getter": "get_src_image", "index": -1 + }, + { + "type": "int", + "name": "sampler", + "setter": "set_sampler", + "getter": "get_sampler", + "index": -1 + } + ] + }, + { + "name": "GLTFTextureSampler", + "is_refcounted": true, + "is_instantiable": true, + "inherits": "Resource", + "api_type": "core", + "methods": [ + { + "name": "get_mag_filter", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_mag_filter", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "filter_mode", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_min_filter", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_min_filter", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "filter_mode", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_wrap_s", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_wrap_s", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "wrap_mode", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_wrap_t", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_wrap_t", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "wrap_mode", + "type": "int", + "meta": "int32" + } + ] + } + ], + "properties": [ + { + "type": "int", + "name": "mag_filter", + "setter": "set_mag_filter", + "getter": "get_mag_filter", + "index": -1 + }, + { + "type": "int", + "name": "min_filter", + "setter": "set_min_filter", + "getter": "get_min_filter", + "index": -1 + }, + { + "type": "int", + "name": "wrap_s", + "setter": "set_wrap_s", + "getter": "get_wrap_s", + "index": -1 + }, + { + "type": "int", + "name": "wrap_t", + "setter": "set_wrap_t", + "getter": "get_wrap_t", + "index": -1 } ] }, @@ -120356,6 +120770,14 @@ "type": "PopupMenu" } }, + { + "name": "show_popup", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, { "name": "set_switch_on_hover", "is_const": false, @@ -128965,6 +129387,14 @@ "return_value": { "type": "PackedVector2Array" } + }, + { + "name": "reset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 } ], "properties": [ @@ -129008,6 +129438,14 @@ "return_value": { "type": "PackedVector3Array" } + }, + { + "name": "reset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 } ], "properties": [ @@ -136243,15 +136681,15 @@ "api_type": "core", "enums": [ { - "name": "VideoDriver", + "name": "RenderingDriver", "is_bitfield": false, "values": [ { - "name": "VIDEO_DRIVER_VULKAN", + "name": "RENDERING_DRIVER_VULKAN", "value": 0 }, { - "name": "VIDEO_DRIVER_OPENGL_3", + "name": "RENDERING_DRIVER_OPENGL3", "value": 1 } ] @@ -136568,6 +137006,24 @@ "type": "String" } }, + { + "name": "read_string_from_stdin", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2024808598, + "return_value": { + "type": "String" + }, + "arguments": [ + { + "name": "block", + "type": "bool", + "default_value": "true" + } + ] + }, { "name": "execute", "is_const": false, @@ -136825,6 +137281,17 @@ "type": "PackedStringArray" } }, + { + "name": "get_video_adapter_driver_info", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1139954409, + "return_value": { + "type": "PackedStringArray" + } + }, { "name": "set_restart_on_exit", "is_const": false, @@ -136951,17 +137418,6 @@ "type": "bool" } }, - { - "name": "can_use_threads", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 36873697, - "return_value": { - "type": "bool" - } - }, { "name": "is_debug_build", "is_const": true, @@ -137383,7 +137839,7 @@ "hash": 3500910842, "arguments": [ { - "name": "property", + "name": "property_path", "type": "NodePath" }, { @@ -137404,7 +137860,7 @@ }, "arguments": [ { - "name": "property", + "name": "property_path", "type": "NodePath" } ] @@ -139838,6 +140294,14 @@ "type": "PopupMenu" } }, + { + "name": "show_popup", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, { "name": "set_item_count", "is_const": false, @@ -146711,6 +147175,17 @@ "type": "Vector3" } }, + { + "name": "get_inverse_inertia_tensor", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2716978435, + "return_value": { + "type": "Basis" + } + }, { "name": "set_linear_velocity", "is_const": false, @@ -147286,6 +147761,13 @@ "getter": "get_inverse_inertia", "index": -1 }, + { + "type": "Basis", + "name": "inverse_inertia_tensor", + "setter": "", + "getter": "get_inverse_inertia_tensor", + "index": -1 + }, { "type": "Vector3", "name": "total_gravity", @@ -147431,6 +147913,16 @@ "type": "Vector3" } }, + { + "name": "_get_inverse_inertia_tensor", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "Basis" + } + }, { "name": "_set_linear_velocity", "is_const": false, @@ -168962,7 +169454,7 @@ } }, { - "name": "set_depth_bias_enable", + "name": "set_depth_bias_enabled", "is_const": false, "is_vararg": false, "is_static": false, @@ -168976,7 +169468,7 @@ ] }, { - "name": "get_depth_bias_enable", + "name": "get_depth_bias_enabled", "is_const": true, "is_vararg": false, "is_static": false, @@ -169160,9 +169652,9 @@ }, { "type": "bool", - "name": "depth_bias_enable", - "setter": "set_depth_bias_enable", - "getter": "get_depth_bias_enable", + "name": "depth_bias_enabled", + "setter": "set_depth_bias_enabled", + "getter": "get_depth_bias_enabled", "index": -1 }, { @@ -189313,6 +189805,26 @@ "type": "PackedStringArray" } }, + { + "name": "_recognize_path", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "path", + "type": "String" + }, + { + "name": "type", + "type": "StringName" + } + ] + }, { "name": "_handles_type", "is_const": true, @@ -190671,7 +191183,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 369227336, + "hash": 3346058748, "arguments": [ { "name": "image", @@ -190698,6 +191210,11 @@ "name": "inline_align", "type": "enum::InlineAlignment", "default_value": "5" + }, + { + "name": "region", + "type": "Rect2", + "default_value": "Rect2(0, 0, 0, 0)" } ] }, @@ -216663,6 +217180,28 @@ } ] }, + { + "name": "EditAction", + "is_bitfield": false, + "values": [ + { + "name": "ACTION_NONE", + "value": 0 + }, + { + "name": "ACTION_TYPING", + "value": 1 + }, + { + "name": "ACTION_BACKSPACE", + "value": 2 + }, + { + "name": "ACTION_DELETE", + "value": 3 + } + ] + }, { "name": "SearchFlags", "is_bitfield": false, @@ -216765,6 +217304,10 @@ { "name": "unicode_char", "type": "int" + }, + { + "name": "caret_index", + "type": "int" } ] }, @@ -216773,35 +217316,65 @@ "is_const": false, "is_static": false, "is_vararg": false, - "is_virtual": true + "is_virtual": true, + "arguments": [ + { + "name": "caret_index", + "type": "int" + } + ] }, { "name": "_cut", "is_const": false, "is_static": false, "is_vararg": false, - "is_virtual": true + "is_virtual": true, + "arguments": [ + { + "name": "caret_index", + "type": "int" + } + ] }, { "name": "_copy", "is_const": false, "is_static": false, "is_vararg": false, - "is_virtual": true + "is_virtual": true, + "arguments": [ + { + "name": "caret_index", + "type": "int" + } + ] }, { "name": "_paste", "is_const": false, "is_static": false, "is_vararg": false, - "is_virtual": true + "is_virtual": true, + "arguments": [ + { + "name": "caret_index", + "type": "int" + } + ] }, { "name": "_paste_primary_clipboard", "is_const": false, "is_static": false, "is_vararg": false, - "is_virtual": true + "is_virtual": true, + "arguments": [ + { + "name": "caret_index", + "type": "int" + } + ] }, { "name": "has_ime_text", @@ -217318,11 +217891,17 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 83702148, + "hash": 3043792800, "arguments": [ { "name": "text", "type": "String" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" } ] }, @@ -217426,7 +218005,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "cut", @@ -217434,7 +218021,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "copy", @@ -217442,7 +218037,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "paste", @@ -217450,6 +218053,52 @@ "is_vararg": false, "is_static": false, "is_virtual": false, + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] + }, + { + "name": "paste_primary_clipboard", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] + }, + { + "name": "start_action", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2834827583, + "arguments": [ + { + "name": "action", + "type": "enum::TextEdit.EditAction" + } + ] + }, + { + "name": "end_action", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, "hash": 3218959716 }, { @@ -217752,7 +218401,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3135401148, + "hash": 1099474134, "return_value": { "type": "bool" }, @@ -217760,6 +218409,12 @@ { "name": "edges", "type": "bool" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" } ] }, @@ -217891,7 +218546,21 @@ } }, { - "name": "is_caret_visible", + "name": "set_multiple_carets_enabled", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 2586408642, + "arguments": [ + { + "name": "enabled", + "type": "bool" + } + ] + }, + { + "name": "is_multiple_carets_enabled", "is_const": true, "is_vararg": false, "is_static": false, @@ -217901,16 +218570,156 @@ "type": "bool" } }, + { + "name": "add_caret", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 50157827, + "return_value": { + "type": "int", + "meta": "int32" + }, + "arguments": [ + { + "name": "line", + "type": "int", + "meta": "int32" + }, + { + "name": "col", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "remove_caret", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, + "arguments": [ + { + "name": "caret", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "remove_secondary_carets", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, + { + "name": "merge_overlapping_carets", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, + { + "name": "get_caret_count", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "get_caret_index_edit_order", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 969006518, + "return_value": { + "type": "PackedInt32Array" + } + }, + { + "name": "adjust_carets_after_edit", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1770277138, + "arguments": [ + { + "name": "caret", + "type": "int", + "meta": "int32" + }, + { + "name": "from_line", + "type": "int", + "meta": "int32" + }, + { + "name": "from_col", + "type": "int", + "meta": "int32" + }, + { + "name": "to_line", + "type": "int", + "meta": "int32" + }, + { + "name": "to_col", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "is_caret_visible", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1051549951, + "return_value": { + "type": "bool" + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] + }, { "name": "get_caret_draw_pos", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3341600327, + "hash": 478253731, "return_value": { "type": "Vector2" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "set_caret_line", @@ -217918,7 +218727,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3443156988, + "hash": 1413195636, "arguments": [ { "name": "line", @@ -217940,6 +218749,12 @@ "type": "int", "meta": "int32", "default_value": "0" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" } ] }, @@ -217949,11 +218764,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "set_caret_column", @@ -217961,7 +218784,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 4023243586, + "hash": 1071284433, "arguments": [ { "name": "column", @@ -217972,6 +218795,12 @@ "name": "adjust_viewport", "type": "bool", "default_value": "true" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" } ] }, @@ -217981,11 +218810,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_caret_wrap_index", @@ -217993,11 +218830,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_word_under_caret", @@ -218005,10 +218850,18 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 201670096, + "hash": 3929349208, "return_value": { "type": "String" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "set_selecting_enabled", @@ -218116,7 +218969,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2206958594, + "hash": 2920622473, "arguments": [ { "name": "mode", @@ -218133,6 +218986,12 @@ "type": "int", "meta": "int32", "default_value": "-1" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" } ] }, @@ -218161,7 +219020,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "select", @@ -218169,7 +219036,7 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 4275841770, + "hash": 4269665324, "arguments": [ { "name": "from_line", @@ -218190,6 +219057,12 @@ "name": "to_column", "type": "int", "meta": "int32" + }, + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" } ] }, @@ -218199,21 +219072,37 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 36873697, + "hash": 2824505868, "return_value": { "type": "bool" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "get_selected_text", - "is_const": true, + "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 201670096, + "hash": 2309358862, "return_value": { "type": "String" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "get_selection_line", @@ -218221,11 +219110,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_selection_column", @@ -218233,11 +219130,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_selection_from_line", @@ -218245,11 +219150,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_selection_from_column", @@ -218257,11 +219170,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_selection_to_line", @@ -218269,11 +219190,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "get_selection_to_column", @@ -218281,11 +219210,19 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 1591665591, "return_value": { "type": "int", "meta": "int32" - } + }, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "deselect", @@ -218293,7 +219230,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "delete_selection", @@ -218301,7 +219246,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1025054187, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "-1" + } + ] }, { "name": "set_line_wrapping_mode", @@ -218432,6 +219385,28 @@ "type": "bool" } }, + { + "name": "get_v_scroll_bar", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3226026593, + "return_value": { + "type": "VScrollBar" + } + }, + { + "name": "get_h_scroll_bar", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3774687988, + "return_value": { + "type": "HScrollBar" + } + }, { "name": "set_v_scroll", "is_const": false, @@ -218741,7 +219716,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1995695955, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "center_viewport_to_caret", @@ -218749,7 +219732,15 @@ "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3218959716 + "hash": 1995695955, + "arguments": [ + { + "name": "caret_index", + "type": "int", + "meta": "int32", + "default_value": "0" + } + ] }, { "name": "set_draw_minimap", @@ -219854,6 +220845,13 @@ "getter": "is_caret_mid_grapheme_enabled", "index": -1 }, + { + "type": "bool", + "name": "caret_multiple", + "setter": "set_multiple_carets_enabled", + "getter": "is_multiple_carets_enabled", + "index": -1 + }, { "type": "int", "name": "text_direction", @@ -242499,6 +243497,30 @@ } ] }, + { + "name": "set_button_color", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3733378741, + "arguments": [ + { + "name": "column", + "type": "int", + "meta": "int32" + }, + { + "name": "button_idx", + "type": "int", + "meta": "int32" + }, + { + "name": "color", + "type": "Color" + } + ] + }, { "name": "is_button_disabled", "is_const": true, @@ -256804,19 +257826,19 @@ ] }, { - "name": "WebSocketClient", + "name": "WebSocketMultiplayerPeer", "is_refcounted": true, "is_instantiable": true, - "inherits": "WebSocketMultiplayerPeer", + "inherits": "MultiplayerPeer", "api_type": "core", "methods": [ { - "name": "connect_to_url", + "name": "create_client", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2284355069, + "hash": 3369256093, "return_value": { "type": "enum::Error" }, @@ -256826,241 +257848,340 @@ "type": "String" }, { - "name": "protocols", - "type": "PackedStringArray", - "default_value": "PackedStringArray()" - }, - { - "name": "gd_mp_api", + "name": "verify_tls", "type": "bool", - "default_value": "false" + "default_value": "true" }, { - "name": "custom_headers", - "type": "PackedStringArray", - "default_value": "PackedStringArray()" + "name": "tls_certificate", + "type": "X509Certificate", + "default_value": "null" } ] }, { - "name": "disconnect_from_host", + "name": "create_server", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1047156615, + "hash": 2363339283, + "return_value": { + "type": "enum::Error" + }, "arguments": [ { - "name": "code", + "name": "port", "type": "int", - "meta": "int32", - "default_value": "1000" + "meta": "int32" }, { - "name": "reason", + "name": "bind_address", "type": "String", - "default_value": "\"\"" + "default_value": "\"*\"" + }, + { + "name": "tls_key", + "type": "CryptoKey", + "default_value": "null" + }, + { + "name": "tls_certificate", + "type": "X509Certificate", + "default_value": "null" } ] }, { - "name": "get_connected_host", + "name": "close", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, + { + "name": "get_peer", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 201670096, + "hash": 1381378851, + "return_value": { + "type": "WebSocketPeer" + }, + "arguments": [ + { + "name": "peer_id", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_peer_address", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 844755477, "return_value": { "type": "String" - } + }, + "arguments": [ + { + "name": "id", + "type": "int", + "meta": "int32" + } + ] }, { - "name": "get_connected_port", + "name": "get_peer_port", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3905245786, + "hash": 923996154, "return_value": { "type": "int", - "meta": "uint16" - } + "meta": "int32" + }, + "arguments": [ + { + "name": "id", + "type": "int", + "meta": "int32" + } + ] }, { - "name": "set_verify_tls_enabled", + "name": "disconnect_peer", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2586408642, + "hash": 2976048447, "arguments": [ { - "name": "enabled", - "type": "bool" + "name": "id", + "type": "int", + "meta": "int32" + }, + { + "name": "code", + "type": "int", + "meta": "int32", + "default_value": "1000" + }, + { + "name": "reason", + "type": "String", + "default_value": "\"\"" } ] }, { - "name": "is_verify_tls_enabled", + "name": "get_supported_protocols", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 36873697, + "hash": 1139954409, "return_value": { - "type": "bool" + "type": "PackedStringArray" } }, { - "name": "get_trusted_tls_certificate", + "name": "set_supported_protocols", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 4015028928, + "arguments": [ + { + "name": "protocols", + "type": "PackedStringArray" + } + ] + }, + { + "name": "get_handshake_headers", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1120709175, + "hash": 1139954409, "return_value": { - "type": "X509Certificate" + "type": "PackedStringArray" } }, { - "name": "set_trusted_tls_certificate", + "name": "set_handshake_headers", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1793585120, + "hash": 4015028928, "arguments": [ { - "name": "cert", - "type": "X509Certificate" + "name": "protocols", + "type": "PackedStringArray" } ] - } - ], - "signals": [ + }, { - "name": "data_received" + "name": "get_inbound_buffer_size", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } }, { - "name": "connection_established", + "name": "set_inbound_buffer_size", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, "arguments": [ { - "name": "protocol", - "type": "String" + "name": "buffer_size", + "type": "int", + "meta": "int32" } ] }, { - "name": "server_close_request", - "arguments": [ - { - "name": "code", - "type": "int" - }, - { - "name": "reason", - "type": "String" - } - ] + "name": "get_outbound_buffer_size", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } }, { - "name": "connection_closed", + "name": "set_outbound_buffer_size", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1286410249, "arguments": [ { - "name": "was_clean_close", - "type": "bool" + "name": "buffer_size", + "type": "int", + "meta": "int32" } ] }, { - "name": "connection_error" - } - ], - "properties": [ - { - "type": "bool", - "name": "verify_tls", - "setter": "set_verify_tls_enabled", - "getter": "is_verify_tls_enabled", - "index": -1 + "name": "get_handshake_timeout", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 1740695150, + "return_value": { + "type": "float", + "meta": "float" + } }, { - "type": "X509Certificate", - "name": "trusted_tls_certificate", - "setter": "set_trusted_tls_certificate", - "getter": "get_trusted_tls_certificate", - "index": -1 - } - ] - }, - { - "name": "WebSocketMultiplayerPeer", - "is_refcounted": true, - "is_instantiable": false, - "inherits": "MultiplayerPeer", - "api_type": "core", - "methods": [ - { - "name": "set_buffers", + "name": "set_handshake_timeout", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3684568301, - "return_value": { - "type": "enum::Error" - }, + "hash": 373806689, "arguments": [ { - "name": "input_buffer_size_kb", - "type": "int", - "meta": "int32" - }, - { - "name": "input_max_packets", - "type": "int", - "meta": "int32" - }, - { - "name": "output_buffer_size_kb", - "type": "int", - "meta": "int32" - }, - { - "name": "output_max_packets", - "type": "int", - "meta": "int32" + "name": "timeout", + "type": "float", + "meta": "float" } ] }, { - "name": "get_peer", - "is_const": true, + "name": "set_max_queued_packets", + "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1381378851, - "return_value": { - "type": "WebSocketPeer" - }, + "hash": 1286410249, "arguments": [ { - "name": "peer_id", + "name": "max_queued_packets", "type": "int", "meta": "int32" } ] + }, + { + "name": "get_max_queued_packets", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3905245786, + "return_value": { + "type": "int", + "meta": "int32" + } } ], - "signals": [ + "properties": [ { - "name": "peer_packet", - "arguments": [ - { - "name": "peer_source", - "type": "int" - } - ] + "type": "PackedStringArray", + "name": "supported_protocols", + "setter": "set_supported_protocols", + "getter": "get_supported_protocols", + "index": -1 + }, + { + "type": "PackedStringArray", + "name": "handshake_headers", + "setter": "set_handshake_headers", + "getter": "get_handshake_headers", + "index": -1 + }, + { + "type": "int", + "name": "inbound_buffer_size", + "setter": "set_inbound_buffer_size", + "getter": "get_inbound_buffer_size", + "index": -1 + }, + { + "type": "int", + "name": "outbound_buffer_size", + "setter": "set_outbound_buffer_size", + "getter": "get_outbound_buffer_size", + "index": -1 + }, + { + "type": "float", + "name": "handshake_timeout", + "setter": "set_handshake_timeout", + "getter": "get_handshake_timeout", + "index": -1 + }, + { + "type": "int", + "name": "max_queued_packets", + "setter": "set_max_queued_packets", + "getter": "get_max_queued_packets", + "index": -1 } ] }, @@ -257084,44 +258205,113 @@ "value": 1 } ] + }, + { + "name": "State", + "is_bitfield": false, + "values": [ + { + "name": "STATE_CONNECTING", + "value": 0 + }, + { + "name": "STATE_OPEN", + "value": 1 + }, + { + "name": "STATE_CLOSING", + "value": 2 + }, + { + "name": "STATE_CLOSED", + "value": 3 + } + ] } ], "methods": [ { - "name": "get_write_mode", - "is_const": true, + "name": "connect_to_url", + "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1797831585, + "hash": 3369256093, "return_value": { - "type": "enum::WebSocketPeer.WriteMode" - } + "type": "enum::Error" + }, + "arguments": [ + { + "name": "url", + "type": "String" + }, + { + "name": "verify_tls", + "type": "bool", + "default_value": "true" + }, + { + "name": "trusted_tls_certificate", + "type": "X509Certificate", + "default_value": "null" + } + ] }, { - "name": "set_write_mode", + "name": "accept_stream", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 96037162, + "hash": 255125695, + "return_value": { + "type": "enum::Error" + }, "arguments": [ { - "name": "mode", - "type": "enum::WebSocketPeer.WriteMode" + "name": "stream", + "type": "StreamPeer" } ] }, { - "name": "is_connected_to_host", - "is_const": true, + "name": "send", + "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 36873697, + "hash": 3440492527, "return_value": { - "type": "bool" - } + "type": "enum::Error" + }, + "arguments": [ + { + "name": "message", + "type": "PackedByteArray" + }, + { + "name": "write_mode", + "type": "enum::WebSocketPeer.WriteMode", + "default_value": "1" + } + ] + }, + { + "name": "send_text", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 166001499, + "return_value": { + "type": "enum::Error" + }, + "arguments": [ + { + "name": "message", + "type": "String" + } + ] }, { "name": "was_string_packet", @@ -257134,6 +258324,14 @@ "type": "bool" } }, + { + "name": "poll", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 3218959716 + }, { "name": "close", "is_const": false, @@ -257178,6 +258376,28 @@ "meta": "uint16" } }, + { + "name": "get_selected_protocol", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } + }, + { + "name": "get_requested_url", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 201670096, + "return_value": { + "type": "String" + } + }, { "name": "set_no_delay", "is_const": false, @@ -257203,379 +258423,207 @@ "type": "int", "meta": "int32" } - } - ] - }, - { - "name": "WebSocketServer", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "WebSocketMultiplayerPeer", - "api_type": "core", - "methods": [ + }, { - "name": "is_listening", + "name": "get_ready_state", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 36873697, + "hash": 346482985, "return_value": { - "type": "bool" + "type": "enum::WebSocketPeer.State" } }, { - "name": "set_extra_headers", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 2328480543, - "arguments": [ - { - "name": "headers", - "type": "PackedStringArray", - "default_value": "PackedStringArray()" - } - ] - }, - { - "name": "listen", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 4229601608, - "return_value": { - "type": "enum::Error" - }, - "arguments": [ - { - "name": "port", - "type": "int", - "meta": "int32" - }, - { - "name": "protocols", - "type": "PackedStringArray", - "default_value": "PackedStringArray()" - }, - { - "name": "gd_mp_api", - "type": "bool", - "default_value": "false" - } - ] - }, - { - "name": "stop", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 3218959716 - }, - { - "name": "has_peer", + "name": "get_close_code", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1116898809, + "hash": 3905245786, "return_value": { - "type": "bool" - }, - "arguments": [ - { - "name": "id", - "type": "int", - "meta": "int32" - } - ] + "type": "int", + "meta": "int32" + } }, { - "name": "get_peer_address", + "name": "get_close_reason", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 844755477, + "hash": 201670096, "return_value": { "type": "String" - }, - "arguments": [ - { - "name": "id", - "type": "int", - "meta": "int32" - } - ] + } }, { - "name": "get_peer_port", + "name": "get_supported_protocols", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 923996154, + "hash": 1139954409, "return_value": { - "type": "int", - "meta": "int32" - }, - "arguments": [ - { - "name": "id", - "type": "int", - "meta": "int32" - } - ] + "type": "PackedStringArray" + } }, { - "name": "disconnect_peer", + "name": "set_supported_protocols", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2976048447, + "hash": 4015028928, "arguments": [ { - "name": "id", - "type": "int", - "meta": "int32" - }, - { - "name": "code", - "type": "int", - "meta": "int32", - "default_value": "1000" - }, - { - "name": "reason", - "type": "String", - "default_value": "\"\"" + "name": "protocols", + "type": "PackedStringArray" } ] }, { - "name": "get_bind_ip", + "name": "get_handshake_headers", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 201670096, + "hash": 1139954409, "return_value": { - "type": "String" + "type": "PackedStringArray" } }, { - "name": "set_bind_ip", + "name": "set_handshake_headers", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 83702148, + "hash": 4015028928, "arguments": [ { - "name": "ip", - "type": "String" + "name": "protocols", + "type": "PackedStringArray" } ] }, { - "name": "get_private_key", + "name": "get_inbound_buffer_size", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 2119971811, + "hash": 3905245786, "return_value": { - "type": "CryptoKey" + "type": "int", + "meta": "int32" } }, { - "name": "set_private_key", + "name": "set_inbound_buffer_size", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 3770317738, + "hash": 1286410249, "arguments": [ { - "name": "key", - "type": "CryptoKey" + "name": "buffer_size", + "type": "int", + "meta": "int32" } ] }, { - "name": "get_tls_certificate", + "name": "get_outbound_buffer_size", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1120709175, + "hash": 3905245786, "return_value": { - "type": "X509Certificate" + "type": "int", + "meta": "int32" } }, { - "name": "set_tls_certificate", + "name": "set_outbound_buffer_size", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1793585120, + "hash": 1286410249, "arguments": [ { - "name": "cert", - "type": "X509Certificate" + "name": "buffer_size", + "type": "int", + "meta": "int32" } ] }, { - "name": "get_ca_chain", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 1120709175, - "return_value": { - "type": "X509Certificate" - } - }, - { - "name": "set_ca_chain", + "name": "set_max_queued_packets", "is_const": false, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1793585120, + "hash": 1286410249, "arguments": [ { - "name": "ca_chain", - "type": "X509Certificate" + "name": "buffer_size", + "type": "int", + "meta": "int32" } ] }, { - "name": "get_handshake_timeout", + "name": "get_max_queued_packets", "is_const": true, "is_vararg": false, "is_static": false, "is_virtual": false, - "hash": 1740695150, + "hash": 3905245786, "return_value": { - "type": "float", - "meta": "float" + "type": "int", + "meta": "int32" } - }, - { - "name": "set_handshake_timeout", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 373806689, - "arguments": [ - { - "name": "timeout", - "type": "float", - "meta": "float" - } - ] - } - ], - "signals": [ - { - "name": "client_close_request", - "arguments": [ - { - "name": "id", - "type": "int" - }, - { - "name": "code", - "type": "int" - }, - { - "name": "reason", - "type": "String" - } - ] - }, - { - "name": "client_disconnected", - "arguments": [ - { - "name": "id", - "type": "int" - }, - { - "name": "was_clean_close", - "type": "bool" - } - ] - }, - { - "name": "client_connected", - "arguments": [ - { - "name": "id", - "type": "int" - }, - { - "name": "protocol", - "type": "String" - }, - { - "name": "resource_name", - "type": "String" - } - ] - }, - { - "name": "data_received", - "arguments": [ - { - "name": "id", - "type": "int" - } - ] } ], "properties": [ { - "type": "String", - "name": "bind_ip", - "setter": "set_bind_ip", - "getter": "get_bind_ip", + "type": "PackedStringArray", + "name": "supported_protocols", + "setter": "set_supported_protocols", + "getter": "get_supported_protocols", "index": -1 }, { - "type": "CryptoKey", - "name": "private_key", - "setter": "set_private_key", - "getter": "get_private_key", + "type": "PackedStringArray", + "name": "handshake_headers", + "setter": "set_handshake_headers", + "getter": "get_handshake_headers", "index": -1 }, { - "type": "X509Certificate", - "name": "tls_certificate", - "setter": "set_tls_certificate", - "getter": "get_tls_certificate", + "type": "int", + "name": "inbound_buffer_size", + "setter": "set_inbound_buffer_size", + "getter": "get_inbound_buffer_size", "index": -1 }, { - "type": "X509Certificate", - "name": "ca_chain", - "setter": "set_ca_chain", - "getter": "get_ca_chain", + "type": "int", + "name": "outbound_buffer_size", + "setter": "set_outbound_buffer_size", + "getter": "get_outbound_buffer_size", "index": -1 }, { - "type": "float", - "name": "handshake_timeout", - "setter": "set_handshake_timeout", - "getter": "get_handshake_timeout", + "type": "int", + "name": "max_queued_packets", + "setter": "set_max_queued_packets", + "getter": "get_max_queued_packets", "index": -1 } ] @@ -261233,6 +262281,69 @@ "type": "int" } }, + { + "name": "_get_color_texture", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "RID" + } + }, + { + "name": "_get_depth_texture", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "RID" + } + }, + { + "name": "_get_velocity_texture", + "is_const": false, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "RID" + } + }, + { + "name": "get_color_texture", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 529393457, + "return_value": { + "type": "RID" + } + }, + { + "name": "get_depth_texture", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 529393457, + "return_value": { + "type": "RID" + } + }, + { + "name": "get_velocity_texture", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 529393457, + "return_value": { + "type": "RID" + } + }, { "name": "add_blit", "is_const": false, diff --git a/godot-headers/godot/gdnative_interface.h b/godot-headers/godot/gdnative_interface.h index 39378d8261..4e7a9661ca 100644 --- a/godot-headers/godot/gdnative_interface.h +++ b/godot-headers/godot/gdnative_interface.h @@ -231,7 +231,6 @@ typedef void (*GDNativeExtensionClassUnreference)(GDExtensionClassInstancePtr p_ typedef void (*GDNativeExtensionClassCallVirtual)(GDExtensionClassInstancePtr p_instance, const GDNativeTypePtr *p_args, GDNativeTypePtr r_ret); typedef GDNativeObjectPtr (*GDNativeExtensionClassCreateInstance)(void *p_userdata); typedef void (*GDNativeExtensionClassFreeInstance)(void *p_userdata, GDExtensionClassInstancePtr p_instance); -typedef void (*GDNativeExtensionClassObjectInstance)(GDExtensionClassInstancePtr p_instance, GDNativeObjectPtr p_object_instance); typedef GDNativeExtensionClassCallVirtual (*GDNativeExtensionClassGetVirtual)(void *p_userdata, const char *p_name); typedef struct { @@ -527,6 +526,7 @@ typedef struct { void *(*object_get_instance_binding)(GDNativeObjectPtr p_o, void *p_token, const GDNativeInstanceBindingCallbacks *p_callbacks); void (*object_set_instance_binding)(GDNativeObjectPtr p_o, void *p_token, void *p_binding, const GDNativeInstanceBindingCallbacks *p_callbacks); + void (*object_clear_instance_binding)(GDNativeObjectPtr p_o, void *p_token); void (*object_set_instance)(GDNativeObjectPtr p_o, const char *p_classname, GDExtensionClassInstancePtr p_instance); /* p_classname should be a registered extension class and should extend the p_o object's class. */