diff --git a/godot-headers/extension_api.json b/godot-headers/extension_api.json index a19494ff..4a0658f3 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": "alpha7", - "version_build": "official", - "version_full_name": "Godot Engine v4.0.alpha7.official" + "version_status": "alpha", + "version_build": "custom_build", + "version_full_name": "Godot Engine v4.0.alpha.custom_build" }, "builtin_class_sizes": [ { @@ -2896,7 +2896,7 @@ }, { "name": "KEY_MASK_CMD", - "value": 268435456 + "value": 134217728 }, { "name": "KEY_MASK_KPAD", @@ -70296,6 +70296,10 @@ { "name": "FEATURE_CLIPBOARD_PRIMARY", "value": 18 + }, + { + "name": "FEATURE_TEXT_TO_SPEECH", + "value": 19 } ] }, @@ -70476,6 +70480,27 @@ } ] }, + { + "name": "TTSUtteranceEvent", + "values": [ + { + "name": "TTS_UTTERANCE_STARTED", + "value": 0 + }, + { + "name": "TTS_UTTERANCE_ENDED", + "value": 1 + }, + { + "name": "TTS_UTTERANCE_CANCELED", + "value": 2 + }, + { + "name": "TTS_UTTERANCE_BOUNDARY", + "value": 3 + } + ] + }, { "name": "VSyncMode", "values": [ @@ -71569,6 +71594,145 @@ } ] }, + { + "name": "tts_is_speaking", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "bool" + } + }, + { + "name": "tts_is_paused", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "bool" + } + }, + { + "name": "tts_get_voices", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "Array" + } + }, + { + "name": "tts_get_voices_for_language", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135374120, + "return_value": { + "type": "PackedStringArray" + }, + "arguments": [ + { + "name": "language", + "type": "String" + } + ] + }, + { + "name": "tts_speak", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 839004078, + "arguments": [ + { + "name": "text", + "type": "String" + }, + { + "name": "voice", + "type": "String" + }, + { + "name": "volume", + "type": "int", + "meta": "int32", + "default_value": "50" + }, + { + "name": "pitch", + "type": "float", + "meta": "float", + "default_value": "1.0" + }, + { + "name": "rate", + "type": "float", + "meta": "float", + "default_value": "1.0" + }, + { + "name": "utterance_id", + "type": "int", + "meta": "int32", + "default_value": "0" + }, + { + "name": "interrupt", + "type": "bool", + "default_value": "false" + } + ] + }, + { + "name": "tts_pause", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134152229 + }, + { + "name": "tts_resume", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134152229 + }, + { + "name": "tts_stop", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134152229 + }, + { + "name": "tts_set_utterance_callback", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134224103, + "arguments": [ + { + "name": "event", + "type": "enum::DisplayServer.TTSUtteranceEvent" + }, + { + "name": "callable", + "type": "Callable" + } + ] + }, { "name": "mouse_set_mode", "is_const": false, @@ -71691,6 +71855,28 @@ "type": "String" } }, + { + "name": "get_display_cutouts", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "Array" + } + }, + { + "name": "get_display_safe_area", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "Rect2i" + } + }, { "name": "get_screen_count", "is_const": true, @@ -73126,6 +73312,13 @@ } ] }, + { + "name": "DisplayServerOSX", + "is_refcounted": false, + "is_instantiable": false, + "inherits": "DisplayServer", + "api_type": "core" + }, { "name": "ENetConnection", "is_refcounted": true, @@ -112570,6 +112763,60 @@ "type": "bool" } }, + { + "name": "set_render_priority", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "priority", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_render_priority", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "int", + "meta": "int32" + } + }, + { + "name": "set_outline_render_priority", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "priority", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_outline_render_priority", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "int", + "meta": "int32" + } + }, { "name": "set_font", "is_const": false, @@ -112755,6 +113002,31 @@ "meta": "float" } }, + { + "name": "set_offset", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "offset", + "type": "Vector2" + } + ] + }, + { + "name": "get_offset", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "Vector2" + } + }, { "name": "set_draw_flag", "is_const": false, @@ -112912,6 +113184,13 @@ "getter": "get_pixel_size", "index": -1 }, + { + "type": "Vector2", + "name": "offset", + "setter": "set_offset", + "getter": "get_offset", + "index": -1 + }, { "type": "int", "name": "billboard", @@ -112968,6 +113247,20 @@ "getter": "get_texture_filter", "index": -1 }, + { + "type": "int", + "name": "render_priority", + "setter": "set_render_priority", + "getter": "get_render_priority", + "index": -1 + }, + { + "type": "int", + "name": "outline_render_priority", + "setter": "set_outline_render_priority", + "getter": "get_outline_render_priority", + "index": -1 + }, { "type": "Color", "name": "modulate", @@ -121868,13 +122161,9 @@ "name": "INITIALIZATION_LEVEL_SCENE", "value": 2 }, - { - "name": "INITIALIZATION_LEVEL_DRIVER", - "value": 3 - }, { "name": "INITIALIZATION_LEVEL_EDITOR", - "value": 4 + "value": 3 } ] } @@ -124449,6 +124738,17 @@ "type": "int", "meta": "uint32" } + }, + { + "name": "get_region_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "RID" + } } ], "properties": [ @@ -124559,6 +124859,17 @@ "meta": "uint32" } }, + { + "name": "get_region_rid", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "RID" + } + }, { "name": "bake_navigation_mesh", "is_const": false, @@ -132216,779 +132527,6 @@ } ] }, - { - "name": "OpenXRAction", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "Resource", - "api_type": "core", - "enums": [ - { - "name": "ActionType", - "values": [ - { - "name": "OPENXR_ACTION_BOOL", - "value": 0 - }, - { - "name": "OPENXR_ACTION_FLOAT", - "value": 1 - }, - { - "name": "OPENXR_ACTION_VECTOR2", - "value": 2 - }, - { - "name": "OPENXR_ACTION_POSE", - "value": 3 - } - ] - } - ], - "methods": [ - { - "name": "set_localized_name", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "localized_name", - "type": "String" - } - ] - }, - { - "name": "get_localized_name", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "String" - } - }, - { - "name": "set_action_type", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action_type", - "type": "enum::OpenXRAction.ActionType" - } - ] - }, - { - "name": "get_action_type", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "enum::OpenXRAction.ActionType" - } - }, - { - "name": "set_toplevel_paths", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "toplevel_paths", - "type": "PackedStringArray" - } - ] - }, - { - "name": "get_toplevel_paths", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "PackedStringArray" - } - } - ], - "properties": [ - { - "type": "String", - "name": "localized_name", - "setter": "set_localized_name", - "getter": "get_localized_name", - "index": -1 - }, - { - "type": "int", - "name": "action_type", - "setter": "set_action_type", - "getter": "get_action_type", - "index": -1 - }, - { - "type": "Array", - "name": "toplevel_paths", - "setter": "set_toplevel_paths", - "getter": "get_toplevel_paths", - "index": -1 - } - ] - }, - { - "name": "OpenXRActionMap", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "Resource", - "api_type": "core", - "methods": [ - { - "name": "set_action_sets", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action_sets", - "type": "Array" - } - ] - }, - { - "name": "get_action_sets", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "Array" - } - }, - { - "name": "get_action_set_count", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "find_action_set", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "OpenXRActionSet" - }, - "arguments": [ - { - "name": "name", - "type": "String" - } - ] - }, - { - "name": "get_action_set", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "OpenXRActionSet" - }, - "arguments": [ - { - "name": "idx", - "type": "int", - "meta": "int32" - } - ] - }, - { - "name": "add_action_set", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action_set", - "type": "OpenXRActionSet" - } - ] - }, - { - "name": "remove_action_set", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action_set", - "type": "OpenXRActionSet" - } - ] - }, - { - "name": "set_interaction_profiles", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "interaction_profiles", - "type": "Array" - } - ] - }, - { - "name": "get_interaction_profiles", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "Array" - } - }, - { - "name": "get_interaction_profile_count", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "find_interaction_profile", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "OpenXRInteractionProfile" - }, - "arguments": [ - { - "name": "name", - "type": "String" - } - ] - }, - { - "name": "get_interaction_profile", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "OpenXRInteractionProfile" - }, - "arguments": [ - { - "name": "idx", - "type": "int", - "meta": "int32" - } - ] - }, - { - "name": "add_interaction_profile", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "interaction_profile", - "type": "OpenXRInteractionProfile" - } - ] - }, - { - "name": "remove_interaction_profile", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "interaction_profile", - "type": "OpenXRInteractionProfile" - } - ] - }, - { - "name": "create_default_action_sets", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134152229 - } - ], - "properties": [ - { - "type": "OpenXRActionSet", - "name": "action_sets", - "setter": "set_action_sets", - "getter": "get_action_sets", - "index": -1 - }, - { - "type": "OpenXRInteractionProfile", - "name": "interaction_profiles", - "setter": "set_interaction_profiles", - "getter": "get_interaction_profiles", - "index": -1 - } - ] - }, - { - "name": "OpenXRActionSet", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "Resource", - "api_type": "core", - "methods": [ - { - "name": "set_localized_name", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "localized_name", - "type": "String" - } - ] - }, - { - "name": "get_localized_name", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "String" - } - }, - { - "name": "set_priority", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "priority", - "type": "int", - "meta": "int32" - } - ] - }, - { - "name": "get_priority", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "get_action_count", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "set_actions", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "actions", - "type": "Array" - } - ] - }, - { - "name": "get_actions", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "Array" - } - }, - { - "name": "add_action", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action", - "type": "OpenXRAction" - } - ] - }, - { - "name": "remove_action", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action", - "type": "OpenXRAction" - } - ] - } - ], - "properties": [ - { - "type": "String", - "name": "localized_name", - "setter": "set_localized_name", - "getter": "get_localized_name", - "index": -1 - }, - { - "type": "int", - "name": "priority", - "setter": "set_priority", - "getter": "get_priority", - "index": -1 - }, - { - "type": "OpenXRAction", - "name": "actions", - "setter": "set_actions", - "getter": "get_actions", - "index": -1 - } - ] - }, - { - "name": "OpenXRIPBinding", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "Resource", - "api_type": "core", - "methods": [ - { - "name": "set_action", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "action", - "type": "OpenXRAction" - } - ] - }, - { - "name": "get_action", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "OpenXRAction" - } - }, - { - "name": "get_path_count", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "set_paths", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "paths", - "type": "PackedStringArray" - } - ] - }, - { - "name": "get_paths", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "PackedStringArray" - } - }, - { - "name": "has_path", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "bool" - }, - "arguments": [ - { - "name": "arg0", - "type": "String" - } - ] - }, - { - "name": "add_path", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "path", - "type": "String" - } - ] - }, - { - "name": "remove_path", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "path", - "type": "String" - } - ] - } - ], - "properties": [ - { - "type": "OpenXRAction", - "name": "action", - "setter": "set_action", - "getter": "get_action", - "index": -1 - }, - { - "type": "Array", - "name": "paths", - "setter": "set_paths", - "getter": "get_paths", - "index": -1 - } - ] - }, - { - "name": "OpenXRInteractionProfile", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "Resource", - "api_type": "core", - "methods": [ - { - "name": "set_interaction_profile_path", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "interaction_profile_path", - "type": "String" - } - ] - }, - { - "name": "get_interaction_profile_path", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "String" - } - }, - { - "name": "get_binding_count", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "int", - "meta": "int32" - } - }, - { - "name": "get_binding", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135374120, - "return_value": { - "type": "OpenXRIPBinding" - }, - "arguments": [ - { - "name": "index", - "type": "int", - "meta": "int32" - } - ] - }, - { - "name": "set_bindings", - "is_const": false, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 134188166, - "arguments": [ - { - "name": "bindings", - "type": "Array" - } - ] - }, - { - "name": "get_bindings", - "is_const": true, - "is_vararg": false, - "is_static": false, - "is_virtual": false, - "hash": 135338183, - "return_value": { - "type": "Array" - } - } - ], - "properties": [ - { - "type": "String", - "name": "interaction_profile_path", - "setter": "set_interaction_profile_path", - "getter": "get_interaction_profile_path", - "index": -1 - }, - { - "type": "OpenXRIPBinding", - "name": "bindings", - "setter": "set_bindings", - "getter": "get_bindings", - "index": -1 - } - ] - }, - { - "name": "OpenXRInterface", - "is_refcounted": true, - "is_instantiable": true, - "inherits": "XRInterface", - "api_type": "core", - "signals": [ - { - "name": "session_begun" - }, - { - "name": "pose_recentered" - }, - { - "name": "session_focussed" - }, - { - "name": "session_stopping" - }, - { - "name": "session_visible" - } - ] - }, { "name": "OptimizedTranslation", "is_refcounted": true, @@ -155105,6 +154643,33 @@ "type": "float", "meta": "float" } + }, + { + "name": "set_dither_strength", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "strength", + "type": "float", + "meta": "float" + } + ] + }, + { + "name": "get_dither_strength", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "float", + "meta": "float" + } } ], "properties": [ @@ -155191,6 +154756,13 @@ "setter": "set_sun_curve", "getter": "get_sun_curve", "index": -1 + }, + { + "type": "float", + "name": "dither_strength", + "setter": "set_dither_strength", + "getter": "get_dither_strength", + "index": -1 } ] }, @@ -196837,6 +196409,33 @@ "type": "Color" } }, + { + "name": "set_render_priority", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "priority", + "type": "int", + "meta": "int32" + } + ] + }, + { + "name": "get_render_priority", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "int", + "meta": "int32" + } + }, { "name": "set_pixel_size", "is_const": false, @@ -197127,6 +196726,13 @@ "setter": "set_texture_filter", "getter": "get_texture_filter", "index": -1 + }, + { + "type": "int", + "name": "render_priority", + "setter": "set_render_priority", + "getter": "get_render_priority", + "index": -1 } ] }, @@ -198929,13 +198535,6 @@ "getter": "get_default_margin", "index": 0 }, - { - "type": "float", - "name": "content_margin_right", - "setter": "set_default_margin", - "getter": "get_default_margin", - "index": 2 - }, { "type": "float", "name": "content_margin_top", @@ -198943,6 +198542,13 @@ "getter": "get_default_margin", "index": 1 }, + { + "type": "float", + "name": "content_margin_right", + "setter": "set_default_margin", + "getter": "get_default_margin", + "index": 2 + }, { "type": "float", "name": "content_margin_bottom", @@ -199294,6 +198900,31 @@ "type": "bool" } }, + { + "name": "set_skew", + "is_const": false, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 134188166, + "arguments": [ + { + "name": "skew", + "type": "Vector2" + } + ] + }, + { + "name": "get_skew", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 135338183, + "return_value": { + "type": "Vector2" + } + }, { "name": "set_shadow_color", "is_const": false, @@ -199466,6 +199097,13 @@ "getter": "is_draw_center_enabled", "index": -1 }, + { + "type": "Vector2", + "name": "skew", + "setter": "set_skew", + "getter": "get_skew", + "index": -1 + }, { "type": "int", "name": "border_width_left", @@ -199550,13 +199188,6 @@ "getter": "get_expand_margin", "index": 0 }, - { - "type": "float", - "name": "expand_margin_right", - "setter": "set_expand_margin", - "getter": "get_expand_margin", - "index": 2 - }, { "type": "float", "name": "expand_margin_top", @@ -199564,6 +199195,13 @@ "getter": "get_expand_margin", "index": 1 }, + { + "type": "float", + "name": "expand_margin_right", + "setter": "set_expand_margin", + "getter": "get_expand_margin", + "index": 2 + }, { "type": "float", "name": "expand_margin_bottom", @@ -200103,13 +199741,6 @@ "getter": "get_margin_size", "index": 0 }, - { - "type": "float", - "name": "margin_right", - "setter": "set_margin_size", - "getter": "get_margin_size", - "index": 2 - }, { "type": "float", "name": "margin_top", @@ -200117,6 +199748,13 @@ "getter": "get_margin_size", "index": 1 }, + { + "type": "float", + "name": "margin_right", + "setter": "set_margin_size", + "getter": "get_margin_size", + "index": 2 + }, { "type": "float", "name": "margin_bottom", @@ -200131,13 +199769,6 @@ "getter": "get_expand_margin_size", "index": 0 }, - { - "type": "float", - "name": "expand_margin_right", - "setter": "set_expand_margin_size", - "getter": "get_expand_margin_size", - "index": 2 - }, { "type": "float", "name": "expand_margin_top", @@ -200145,6 +199776,13 @@ "getter": "get_expand_margin_size", "index": 1 }, + { + "type": "float", + "name": "expand_margin_right", + "setter": "set_expand_margin_size", + "getter": "get_expand_margin_size", + "index": 2 + }, { "type": "float", "name": "expand_margin_bottom", @@ -211759,6 +211397,28 @@ } ] }, + { + "name": "string_get_word_breaks", + "is_const": true, + "is_vararg": false, + "is_static": false, + "is_virtual": false, + "hash": 173599466, + "return_value": { + "type": "PackedInt32Array" + }, + "arguments": [ + { + "name": "string", + "type": "String" + }, + { + "name": "language", + "type": "String", + "default_value": "\"\"" + } + ] + }, { "name": "strip_diacritics", "is_const": true, @@ -215268,6 +214928,26 @@ } ] }, + { + "name": "string_get_word_breaks", + "is_const": true, + "is_static": false, + "is_vararg": false, + "is_virtual": true, + "return_value": { + "type": "PackedInt32Array" + }, + "arguments": [ + { + "name": "string", + "type": "String" + }, + { + "name": "language", + "type": "String" + } + ] + }, { "name": "string_to_upper", "is_const": true, @@ -251455,14 +251135,6 @@ "name": "ResourceUID", "type": "ResourceUID" }, - { - "name": "JavaClassWrapper", - "type": "JavaClassWrapper" - }, - { - "name": "JavaScript", - "type": "JavaScript" - }, { "name": "NavigationMeshGenerator", "type": "NavigationMeshGenerator" @@ -251471,6 +251143,14 @@ "name": "VisualScriptCustomNodes", "type": "VisualScriptCustomNodes" }, + { + "name": "JavaClassWrapper", + "type": "JavaClassWrapper" + }, + { + "name": "JavaScript", + "type": "JavaScript" + }, { "name": "DisplayServer", "type": "DisplayServer" diff --git a/godot-headers/godot/gdnative_interface.h b/godot-headers/godot/gdnative_interface.h index 2bac52dc..4d2682b2 100644 --- a/godot-headers/godot/gdnative_interface.h +++ b/godot-headers/godot/gdnative_interface.h @@ -545,6 +545,9 @@ typedef struct { void (*classdb_register_extension_class_property_subgroup)(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_subgroup_name, const char *p_prefix); void (*classdb_register_extension_class_signal)(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name, const char *p_signal_name, const GDNativePropertyInfo *p_argument_info, GDNativeInt p_argument_count); void (*classdb_unregister_extension_class)(const GDNativeExtensionClassLibraryPtr p_library, const char *p_class_name); /* Unregistering a parent class before a class that inherits it will result in failure. Inheritors must be unregistered first. */ + + void (*get_library_path)(const GDNativeExtensionClassLibraryPtr p_library, GDNativeStringPtr r_path); + } GDNativeInterface; /* INITIALIZATION */ @@ -553,7 +556,6 @@ typedef enum { GDNATIVE_INITIALIZATION_CORE, GDNATIVE_INITIALIZATION_SERVERS, GDNATIVE_INITIALIZATION_SCENE, - GDNATIVE_INITIALIZATION_DRIVER, GDNATIVE_INITIALIZATION_EDITOR, GDNATIVE_MAX_INITIALIZATION_LEVEL, } GDNativeInitializationLevel; diff --git a/include/godot_cpp/godot.hpp b/include/godot_cpp/godot.hpp index e8fcca27..b478f5ea 100644 --- a/include/godot_cpp/godot.hpp +++ b/include/godot_cpp/godot.hpp @@ -43,12 +43,20 @@ extern "C" void *token; } // namespace internal +enum ModuleInitializationLevel { + MODULE_INITIALIZATION_LEVEL_CORE = GDNATIVE_INITIALIZATION_CORE, + MODULE_INITIALIZATION_LEVEL_SERVERS = GDNATIVE_INITIALIZATION_SERVERS, + MODULE_INITIALIZATION_LEVEL_SCENE = GDNATIVE_INITIALIZATION_SCENE, + MODULE_INITIALIZATION_LEVEL_EDITOR = GDNATIVE_INITIALIZATION_EDITOR +}; + class GDExtensionBinding { public: - using Callback = void (*)(); + using Callback = void (*)(ModuleInitializationLevel p_level); - static Callback init_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL]; - static Callback terminate_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL]; + static Callback init_callback; + static Callback terminate_callback; + static GDNativeInitializationLevel minimum_initialization_level; static GDNativeBool init(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization); public: @@ -66,16 +74,9 @@ public: library(p_library), initialization(r_initialization){}; - void register_core_initializer(Callback p_core_init) const; - void register_server_initializer(Callback p_server_init) const; - void register_driver_initializer(Callback p_driver_init) const; - void register_scene_initializer(Callback p_scene_init) const; - void register_editor_initializer(Callback p_editor_init) const; - void register_core_terminator(Callback p_core_terminate) const; - void register_server_terminator(Callback p_server_terminate) const; - void register_scene_terminator(Callback p_scene_terminate) const; - void register_driver_terminator(Callback p_driver_terminate) const; - void register_editor_terminator(Callback p_editor_terminate) const; + void register_initializer(Callback p_init) const; + void register_terminator(Callback p_init) const; + void set_minimum_library_initialization_level(ModuleInitializationLevel p_level) const; GDNativeBool init() const; }; diff --git a/src/godot.cpp b/src/godot.cpp index 0ea03443..7e7f2eb3 100644 --- a/src/godot.cpp +++ b/src/godot.cpp @@ -47,8 +47,9 @@ void *token = nullptr; } // namespace internal -GDExtensionBinding::Callback GDExtensionBinding::init_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL] = {}; -GDExtensionBinding::Callback GDExtensionBinding::terminate_callbacks[GDNATIVE_MAX_INITIALIZATION_LEVEL] = {}; +GDExtensionBinding::Callback GDExtensionBinding::init_callback = nullptr; +GDExtensionBinding::Callback GDExtensionBinding::terminate_callback = nullptr; +GDNativeInitializationLevel GDExtensionBinding::minimum_initialization_level = GDNATIVE_INITIALIZATION_CORE; GDNativeBool GDExtensionBinding::init(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization) { internal::gdn_interface = p_interface; @@ -57,15 +58,9 @@ GDNativeBool GDExtensionBinding::init(const GDNativeInterface *p_interface, cons r_initialization->initialize = initialize_level; r_initialization->deinitialize = deinitialize_level; + r_initialization->minimum_initialization_level = minimum_initialization_level; - bool has_init = false; - for (int i = 0; i < GDNATIVE_MAX_INITIALIZATION_LEVEL; i++) { - if (init_callbacks[i]) { - r_initialization->minimum_initialization_level = GDNativeInitializationLevel(i); - has_init = true; - } - } - ERR_FAIL_COND_V_MSG(!has_init, false, "At least one initialization callback must be defined."); + ERR_FAIL_COND_V_MSG(init_callback == nullptr, false, "Initialization callback must be defined."); Variant::init_bindings(); @@ -75,8 +70,8 @@ GDNativeBool GDExtensionBinding::init(const GDNativeInterface *p_interface, cons void GDExtensionBinding::initialize_level(void *userdata, GDNativeInitializationLevel p_level) { ClassDB::current_level = p_level; - if (init_callbacks[p_level]) { - init_callbacks[p_level](); + if (init_callback) { + init_callback(static_cast(p_level)); } ClassDB::initialize(p_level); @@ -86,49 +81,21 @@ void GDExtensionBinding::deinitialize_level(void *userdata, GDNativeInitializati ClassDB::current_level = p_level; ClassDB::deinitialize(p_level); - if (terminate_callbacks[p_level]) { - terminate_callbacks[p_level](); + if (terminate_callback) { + terminate_callback(static_cast(p_level)); } } -void GDExtensionBinding::InitObject::register_core_initializer(Callback p_core_init) const { - GDExtensionBinding::init_callbacks[GDNATIVE_INITIALIZATION_CORE] = p_core_init; +void GDExtensionBinding::InitObject::register_initializer(Callback p_init) const { + GDExtensionBinding::init_callback = p_init; } -void GDExtensionBinding::InitObject::register_server_initializer(Callback p_server_init) const { - GDExtensionBinding::init_callbacks[GDNATIVE_INITIALIZATION_SERVERS] = p_server_init; +void GDExtensionBinding::InitObject::register_terminator(Callback p_terminate) const { + GDExtensionBinding::terminate_callback = p_terminate; } -void GDExtensionBinding::InitObject::register_scene_initializer(Callback p_scene_init) const { - GDExtensionBinding::init_callbacks[GDNATIVE_INITIALIZATION_SCENE] = p_scene_init; -} - -void GDExtensionBinding::InitObject::register_driver_initializer(Callback p_driver_init) const { - GDExtensionBinding::init_callbacks[GDNATIVE_INITIALIZATION_DRIVER] = p_driver_init; -} - -void GDExtensionBinding::InitObject::register_editor_initializer(Callback p_editor_init) const { - GDExtensionBinding::init_callbacks[GDNATIVE_INITIALIZATION_EDITOR] = p_editor_init; -} - -void GDExtensionBinding::InitObject::register_core_terminator(Callback p_core_terminate) const { - GDExtensionBinding::terminate_callbacks[GDNATIVE_INITIALIZATION_CORE] = p_core_terminate; -} - -void GDExtensionBinding::InitObject::register_server_terminator(Callback p_server_terminate) const { - GDExtensionBinding::terminate_callbacks[GDNATIVE_INITIALIZATION_SERVERS] = p_server_terminate; -} - -void GDExtensionBinding::InitObject::register_scene_terminator(Callback p_scene_terminate) const { - GDExtensionBinding::terminate_callbacks[GDNATIVE_INITIALIZATION_SCENE] = p_scene_terminate; -} - -void GDExtensionBinding::InitObject::register_driver_terminator(Callback p_driver_terminate) const { - GDExtensionBinding::terminate_callbacks[GDNATIVE_INITIALIZATION_DRIVER] = p_driver_terminate; -} - -void GDExtensionBinding::InitObject::register_editor_terminator(Callback p_editor_terminate) const { - GDExtensionBinding::terminate_callbacks[GDNATIVE_INITIALIZATION_EDITOR] = p_editor_terminate; +void GDExtensionBinding::InitObject::set_minimum_library_initialization_level(ModuleInitializationLevel p_level) const { + GDExtensionBinding::minimum_initialization_level = static_cast(p_level); } GDNativeBool GDExtensionBinding::InitObject::init() const { diff --git a/test/src/register_types.cpp b/test/src/register_types.cpp index 216482f9..b05f43d9 100644 --- a/test/src/register_types.cpp +++ b/test/src/register_types.cpp @@ -40,12 +40,20 @@ using namespace godot; -void register_example_types() { +void initialize_example_module(ModuleInitializationLevel p_level) { + if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { + return; + } + ClassDB::register_class(); ClassDB::register_class(); } -void unregister_example_types() {} +void uninitialize_example_module(ModuleInitializationLevel p_level) { + if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) { + return; + } +} extern "C" { @@ -54,8 +62,9 @@ extern "C" { GDNativeBool GDN_EXPORT example_library_init(const GDNativeInterface *p_interface, const GDNativeExtensionClassLibraryPtr p_library, GDNativeInitialization *r_initialization) { godot::GDExtensionBinding::InitObject init_obj(p_interface, p_library, r_initialization); - init_obj.register_scene_initializer(register_example_types); - init_obj.register_scene_terminator(unregister_example_types); + init_obj.register_initializer(initialize_example_module); + init_obj.register_terminator(uninitialize_example_module); + init_obj.set_minimum_library_initialization_level(MODULE_INITIALIZATION_LEVEL_SCENE); return init_obj.init(); } diff --git a/test/src/register_types.h b/test/src/register_types.h index 04235e46..0d3d513f 100644 --- a/test/src/register_types.h +++ b/test/src/register_types.h @@ -31,7 +31,10 @@ #ifndef EXAMPLE_REGISTER_TYPES_H #define EXAMPLE_REGISTER_TYPES_H -void register_example_types(); -void unregister_example_types(); +#include +using namespace godot; + +void initialize_example_module(ModuleInitializationLevel p_level); +void uninitialize_example_module(ModuleInitializationLevel p_level); #endif // ! EXAMPLE_REGISTER_TYPES_H