summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--binding_generator.py8
-rw-r--r--gdextension/extension_api.json437
-rw-r--r--gdextension/gdextension_interface.h61
-rw-r--r--include/godot_cpp/godot.hpp4
-rw-r--r--src/classes/low_level.cpp9
-rw-r--r--src/godot.cpp8
-rw-r--r--src/variant/char_string.cpp8
7 files changed, 519 insertions, 16 deletions
diff --git a/binding_generator.py b/binding_generator.py
index 71d9e6b..a1b7572 100644
--- a/binding_generator.py
+++ b/binding_generator.py
@@ -733,9 +733,9 @@ def generate_builtin_class_header(builtin_api, size, used_classes, fully_used_cl
# Special cases.
if class_name == "String":
result.append("\tstatic String utf8(const char *from, int64_t len = -1);")
- result.append("\tvoid parse_utf8(const char *from, int64_t len = -1);")
+ result.append("\tError parse_utf8(const char *from, int64_t len = -1);")
result.append("\tstatic String utf16(const char16_t *from, int64_t len = -1);")
- result.append("\tvoid parse_utf16(const char16_t *from, int64_t len = -1);")
+ result.append("\tError parse_utf16(const char16_t *from, int64_t len = -1, bool default_little_endian = true);")
result.append("\tCharString utf8() const;")
result.append("\tCharString ascii() const;")
result.append("\tChar16String utf16() const;")
@@ -1601,6 +1601,10 @@ def generate_engine_class_header(class_api, used_classes, fully_used_classes, us
if class_name == "XMLParser":
result.append("\tError _open_buffer(const uint8_t *p_buffer, size_t p_size);")
+ if class_name == "Image":
+ result.append("\tuint8_t *ptrw();")
+ result.append("\tconst uint8_t *ptr();")
+
if class_name == "FileAccess":
result.append("\tuint64_t get_buffer(uint8_t *p_dst, uint64_t p_length) const;")
result.append("\tvoid store_buffer(const uint8_t *p_src, uint64_t p_length);")
diff --git a/gdextension/extension_api.json b/gdextension/extension_api.json
index 58dbab4..04bb8b8 100644
--- a/gdextension/extension_api.json
+++ b/gdextension/extension_api.json
@@ -3,9 +3,9 @@
"version_major": 4,
"version_minor": 3,
"version_patch": 0,
- "version_status": "beta1",
- "version_build": "official",
- "version_full_name": "Godot Engine v4.3.beta1.official"
+ "version_status": "beta",
+ "version_build": "custom_build",
+ "version_full_name": "Godot Engine v4.3.beta.custom_build"
},
"builtin_class_sizes": [
{
@@ -20086,6 +20086,24 @@
"is_const": true,
"is_static": false,
"hash": 3918633141
+ },
+ {
+ "name": "recursive_equal",
+ "return_type": "bool",
+ "is_vararg": false,
+ "is_const": true,
+ "is_static": false,
+ "hash": 1404404751,
+ "arguments": [
+ {
+ "name": "dictionary",
+ "type": "Dictionary"
+ },
+ {
+ "name": "recursion_count",
+ "type": "int"
+ }
+ ]
}
],
"constructors": [
@@ -28951,7 +28969,7 @@
"is_vararg": false,
"is_static": false,
"is_virtual": false,
- "hash": 189695464,
+ "hash": 4230953007,
"hash_compatibility": [
3245197284,
3898229885
@@ -28980,6 +28998,11 @@
"name": "limit",
"type": "bool",
"default_value": "false"
+ },
+ {
+ "name": "backward",
+ "type": "bool",
+ "default_value": "false"
}
]
},
@@ -83265,6 +83288,53 @@
]
},
{
+ "name": "_goto_script_line",
+ "is_const": false,
+ "is_static": false,
+ "is_vararg": false,
+ "is_virtual": true,
+ "arguments": [
+ {
+ "name": "script",
+ "type": "Script"
+ },
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ }
+ ]
+ },
+ {
+ "name": "_breakpoints_cleared_in_tree",
+ "is_const": false,
+ "is_static": false,
+ "is_vararg": false,
+ "is_virtual": true
+ },
+ {
+ "name": "_breakpoint_set_in_tree",
+ "is_const": false,
+ "is_static": false,
+ "is_vararg": false,
+ "is_virtual": true,
+ "arguments": [
+ {
+ "name": "script",
+ "type": "Script"
+ },
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ }
+ ]
+ },
+ {
"name": "get_session",
"is_const": false,
"is_vararg": false,
@@ -83410,6 +83480,29 @@
"type": "Control"
}
]
+ },
+ {
+ "name": "set_breakpoint",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 4108344793,
+ "arguments": [
+ {
+ "name": "path",
+ "type": "String"
+ },
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "enabled",
+ "type": "bool"
+ }
+ ]
}
],
"signals": [
@@ -92683,6 +92776,14 @@
]
},
{
+ "name": "line_poll",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3218959716
+ },
+ {
"name": "send_message",
"is_const": false,
"is_vararg": false,
@@ -92699,6 +92800,183 @@
"type": "Array"
}
]
+ },
+ {
+ "name": "debug",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 2751962654,
+ "arguments": [
+ {
+ "name": "can_continue",
+ "type": "bool",
+ "default_value": "true"
+ },
+ {
+ "name": "is_error_breakpoint",
+ "type": "bool",
+ "default_value": "false"
+ }
+ ]
+ },
+ {
+ "name": "script_debug",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 2442343672,
+ "arguments": [
+ {
+ "name": "language",
+ "type": "ScriptLanguage"
+ },
+ {
+ "name": "can_continue",
+ "type": "bool",
+ "default_value": "true"
+ },
+ {
+ "name": "is_error_breakpoint",
+ "type": "bool",
+ "default_value": "false"
+ }
+ ]
+ },
+ {
+ "name": "set_lines_left",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 1286410249,
+ "arguments": [
+ {
+ "name": "lines",
+ "type": "int",
+ "meta": "int32"
+ }
+ ]
+ },
+ {
+ "name": "get_lines_left",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3905245786,
+ "return_value": {
+ "type": "int",
+ "meta": "int32"
+ }
+ },
+ {
+ "name": "set_depth",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 1286410249,
+ "arguments": [
+ {
+ "name": "depth",
+ "type": "int",
+ "meta": "int32"
+ }
+ ]
+ },
+ {
+ "name": "get_depth",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3905245786,
+ "return_value": {
+ "type": "int",
+ "meta": "int32"
+ }
+ },
+ {
+ "name": "is_breakpoint",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 921227809,
+ "return_value": {
+ "type": "bool"
+ },
+ "arguments": [
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "source",
+ "type": "StringName"
+ }
+ ]
+ },
+ {
+ "name": "is_skipping_breakpoints",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 36873697,
+ "return_value": {
+ "type": "bool"
+ }
+ },
+ {
+ "name": "insert_breakpoint",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3780747571,
+ "arguments": [
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "source",
+ "type": "StringName"
+ }
+ ]
+ },
+ {
+ "name": "remove_breakpoint",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3780747571,
+ "arguments": [
+ {
+ "name": "line",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "source",
+ "type": "StringName"
+ }
+ ]
+ },
+ {
+ "name": "clear_breakpoints",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3218959716
}
]
},
@@ -119370,6 +119648,18 @@
}
},
{
+ "name": "get_data_size",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 3905245786,
+ "return_value": {
+ "type": "int",
+ "meta": "int64"
+ }
+ },
+ {
"name": "convert",
"is_const": false,
"is_vararg": false,
@@ -119564,6 +119854,37 @@
]
},
{
+ "name": "create_empty",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": true,
+ "is_virtual": false,
+ "hash": 986942177,
+ "return_value": {
+ "type": "Image"
+ },
+ "arguments": [
+ {
+ "name": "width",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "height",
+ "type": "int",
+ "meta": "int32"
+ },
+ {
+ "name": "use_mipmaps",
+ "type": "bool"
+ },
+ {
+ "name": "format",
+ "type": "enum::Image.Format"
+ }
+ ]
+ },
+ {
"name": "create_from_data",
"is_const": false,
"is_vararg": false,
@@ -141462,6 +141783,23 @@
]
},
{
+ "name": "is_opened",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 4155700596,
+ "return_value": {
+ "type": "bool"
+ },
+ "arguments": [
+ {
+ "name": "rid",
+ "type": "RID"
+ }
+ ]
+ },
+ {
"name": "add_submenu_item",
"is_const": false,
"is_vararg": false,
@@ -230852,6 +231190,23 @@
]
},
{
+ "name": "_debug_get_stack_level_source",
+ "is_const": true,
+ "is_static": false,
+ "is_vararg": false,
+ "is_virtual": true,
+ "return_value": {
+ "type": "String"
+ },
+ "arguments": [
+ {
+ "name": "level",
+ "type": "int",
+ "meta": "int32"
+ }
+ ]
+ },
+ {
"name": "_debug_get_stack_level_locals",
"is_const": false,
"is_static": false,
@@ -233842,6 +234197,17 @@
]
},
{
+ "name": "get_concatenated_bone_names",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 2002593661,
+ "return_value": {
+ "type": "StringName"
+ }
+ },
+ {
"name": "get_bone_parent",
"is_const": true,
"is_vararg": false,
@@ -237239,6 +237605,17 @@
"is_virtual": true
},
{
+ "name": "get_skeleton",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 1488626673,
+ "return_value": {
+ "type": "Skeleton3D"
+ }
+ },
+ {
"name": "set_active",
"is_const": false,
"is_vararg": false,
@@ -256177,7 +256554,7 @@
{
"name": "baseline_offset",
"type": "float",
- "meta": "float"
+ "meta": "double"
}
]
},
@@ -256190,7 +256567,7 @@
"hash": 866169185,
"return_value": {
"type": "float",
- "meta": "float"
+ "meta": "double"
},
"arguments": [
{
@@ -259603,7 +259980,8 @@
"arguments": [
{
"name": "unicode",
- "type": "int"
+ "type": "int",
+ "meta": "uint64"
}
]
},
@@ -260691,7 +261069,7 @@
{
"name": "baseline_offset",
"type": "float",
- "meta": "float"
+ "meta": "double"
}
]
},
@@ -260703,7 +261081,7 @@
"is_virtual": true,
"return_value": {
"type": "float",
- "meta": "float"
+ "meta": "double"
},
"arguments": [
{
@@ -263806,7 +264184,8 @@
"arguments": [
{
"name": "unicode",
- "type": "int"
+ "type": "int",
+ "meta": "uint64"
}
]
},
@@ -263986,6 +264365,13 @@
]
},
{
+ "name": "TextServerFallback",
+ "is_refcounted": true,
+ "is_instantiable": true,
+ "inherits": "TextServerExtension",
+ "api_type": "core"
+ },
+ {
"name": "TextServerManager",
"is_refcounted": false,
"is_instantiable": true,
@@ -270334,6 +270720,31 @@
}
},
{
+ "name": "set_x_draw_order_reversed",
+ "is_const": false,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 2586408642,
+ "arguments": [
+ {
+ "name": "x_draw_order_reversed",
+ "type": "bool"
+ }
+ ]
+ },
+ {
+ "name": "is_x_draw_order_reversed",
+ "is_const": true,
+ "is_vararg": false,
+ "is_static": false,
+ "is_virtual": false,
+ "hash": 36873697,
+ "return_value": {
+ "type": "bool"
+ }
+ },
+ {
"name": "set_rendering_quadrant_size",
"is_const": false,
"is_vararg": false,
@@ -270542,6 +270953,12 @@
"getter": "get_y_sort_origin"
},
{
+ "type": "bool",
+ "name": "x_draw_order_reversed",
+ "setter": "set_x_draw_order_reversed",
+ "getter": "is_x_draw_order_reversed"
+ },
+ {
"type": "int",
"name": "rendering_quadrant_size",
"setter": "set_rendering_quadrant_size",
diff --git a/gdextension/gdextension_interface.h b/gdextension/gdextension_interface.h
index 6fe6b8d..d6c1df9 100644
--- a/gdextension/gdextension_interface.h
+++ b/gdextension/gdextension_interface.h
@@ -1582,6 +1582,7 @@ typedef void (*GDExtensionInterfaceStringNewWithLatin1CharsAndLen)(GDExtensionUn
/**
* @name string_new_with_utf8_chars_and_len
* @since 4.1
+ * @deprecated in Godot 4.3. Use `string_new_with_utf8_chars_and_len2` instead.
*
* Creates a String from a UTF-8 encoded C string with the given length.
*
@@ -1592,8 +1593,23 @@ typedef void (*GDExtensionInterfaceStringNewWithLatin1CharsAndLen)(GDExtensionUn
typedef void (*GDExtensionInterfaceStringNewWithUtf8CharsAndLen)(GDExtensionUninitializedStringPtr r_dest, const char *p_contents, GDExtensionInt p_size);
/**
+ * @name string_new_with_utf8_chars_and_len2
+ * @since 4.3
+ *
+ * Creates a String from a UTF-8 encoded C string with the given length.
+ *
+ * @param r_dest A pointer to a Variant to hold the newly created String.
+ * @param p_contents A pointer to a UTF-8 encoded C string.
+ * @param p_size The number of bytes (not code units).
+ *
+ * @return Error code signifying if the operation successful.
+ */
+typedef GDExtensionInt (*GDExtensionInterfaceStringNewWithUtf8CharsAndLen2)(GDExtensionUninitializedStringPtr r_dest, const char *p_contents, GDExtensionInt p_size);
+
+/**
* @name string_new_with_utf16_chars_and_len
* @since 4.1
+ * @deprecated in Godot 4.3. Use `string_new_with_utf16_chars_and_len2` instead.
*
* Creates a String from a UTF-16 encoded C string with the given length.
*
@@ -1604,6 +1620,21 @@ typedef void (*GDExtensionInterfaceStringNewWithUtf8CharsAndLen)(GDExtensionUnin
typedef void (*GDExtensionInterfaceStringNewWithUtf16CharsAndLen)(GDExtensionUninitializedStringPtr r_dest, const char16_t *p_contents, GDExtensionInt p_char_count);
/**
+ * @name string_new_with_utf16_chars_and_len2
+ * @since 4.3
+ *
+ * Creates a String from a UTF-16 encoded C string with the given length.
+ *
+ * @param r_dest A pointer to a Variant to hold the newly created String.
+ * @param p_contents A pointer to a UTF-16 encoded C string.
+ * @param p_size The number of characters (not bytes).
+ * @param p_default_little_endian If true, UTF-16 use little endian.
+ *
+ * @return Error code signifying if the operation successful.
+ */
+typedef GDExtensionInt (*GDExtensionInterfaceStringNewWithUtf16CharsAndLen2)(GDExtensionUninitializedStringPtr r_dest, const char16_t *p_contents, GDExtensionInt p_char_count, GDExtensionBool p_default_little_endian);
+
+/**
* @name string_new_with_utf32_chars_and_len
* @since 4.1
*
@@ -1899,6 +1930,36 @@ typedef void (*GDExtensionInterfaceFileAccessStoreBuffer)(GDExtensionObjectPtr p
*/
typedef uint64_t (*GDExtensionInterfaceFileAccessGetBuffer)(GDExtensionConstObjectPtr p_instance, uint8_t *p_dst, uint64_t p_length);
+/* INTERFACE: Image Utilities */
+
+/**
+ * @name image_ptrw
+ * @since 4.3
+ *
+ * Returns writable pointer to internal Image buffer.
+ *
+ * @param p_instance A pointer to a Image object.
+ *
+ * @return Pointer to internal Image buffer.
+ *
+ * @see Image::ptrw()
+ */
+typedef uint8_t *(*GDExtensionInterfaceImagePtrw)(GDExtensionObjectPtr p_instance);
+
+/**
+ * @name image_ptr
+ * @since 4.3
+ *
+ * Returns read only pointer to internal Image buffer.
+ *
+ * @param p_instance A pointer to a Image object.
+ *
+ * @return Pointer to internal Image buffer.
+ *
+ * @see Image::ptr()
+ */
+typedef const uint8_t *(*GDExtensionInterfaceImagePtr)(GDExtensionObjectPtr p_instance);
+
/* INTERFACE: WorkerThreadPool Utilities */
/**
diff --git a/include/godot_cpp/godot.hpp b/include/godot_cpp/godot.hpp
index 822363d..61dbb96 100644
--- a/include/godot_cpp/godot.hpp
+++ b/include/godot_cpp/godot.hpp
@@ -108,7 +108,9 @@ extern "C" GDExtensionInterfaceStringNewWithUtf32Chars gdextension_interface_str
extern "C" GDExtensionInterfaceStringNewWithWideChars gdextension_interface_string_new_with_wide_chars;
extern "C" GDExtensionInterfaceStringNewWithLatin1CharsAndLen gdextension_interface_string_new_with_latin1_chars_and_len;
extern "C" GDExtensionInterfaceStringNewWithUtf8CharsAndLen gdextension_interface_string_new_with_utf8_chars_and_len;
+extern "C" GDExtensionInterfaceStringNewWithUtf8CharsAndLen2 gdextension_interface_string_new_with_utf8_chars_and_len2;
extern "C" GDExtensionInterfaceStringNewWithUtf16CharsAndLen gdextension_interface_string_new_with_utf16_chars_and_len;
+extern "C" GDExtensionInterfaceStringNewWithUtf16CharsAndLen2 gdextension_interface_string_new_with_utf16_chars_and_len2;
extern "C" GDExtensionInterfaceStringNewWithUtf32CharsAndLen gdextension_interface_string_new_with_utf32_chars_and_len;
extern "C" GDExtensionInterfaceStringNewWithWideCharsAndLen gdextension_interface_string_new_with_wide_chars_and_len;
extern "C" GDExtensionInterfaceStringToLatin1Chars gdextension_interface_string_to_latin1_chars;
@@ -195,6 +197,8 @@ extern "C" GDExtensionInterfaceEditorAddPlugin gdextension_interface_editor_add_
extern "C" GDExtensionInterfaceEditorRemovePlugin gdextension_interface_editor_remove_plugin;
extern "C" GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8Chars gdextension_interface_editor_help_load_xml_from_utf8_chars;
extern "C" GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8CharsAndLen gdextension_interface_editor_help_load_xml_from_utf8_chars_and_len;
+extern "C" GDExtensionInterfaceImagePtrw gdextension_interface_image_ptrw;
+extern "C" GDExtensionInterfaceImagePtr gdextension_interface_image_ptr;
class DocDataRegistration {
public:
diff --git a/src/classes/low_level.cpp b/src/classes/low_level.cpp
index b9d0a07..3b6b161 100644
--- a/src/classes/low_level.cpp
+++ b/src/classes/low_level.cpp
@@ -29,6 +29,7 @@
/**************************************************************************/
#include <godot_cpp/classes/file_access.hpp>
+#include <godot_cpp/classes/image.hpp>
#include <godot_cpp/classes/worker_thread_pool.hpp>
#include <godot_cpp/classes/xml_parser.hpp>
@@ -55,4 +56,12 @@ WorkerThreadPool::GroupID WorkerThreadPool::add_native_group_task(void (*p_func)
return (GroupID)internal::gdextension_interface_worker_thread_pool_add_native_group_task(_owner, p_func, p_userdata, p_elements, p_tasks, p_high_priority, (GDExtensionConstStringPtr)&p_description);
}
+uint8_t *Image::ptrw() {
+ return internal::gdextension_interface_image_ptrw(_owner);
+}
+
+const uint8_t *Image::ptr() {
+ return internal::gdextension_interface_image_ptr(_owner);
+}
+
} // namespace godot
diff --git a/src/godot.cpp b/src/godot.cpp
index a5cefbf..f6d0d43 100644
--- a/src/godot.cpp
+++ b/src/godot.cpp
@@ -114,7 +114,9 @@ GDExtensionInterfaceStringNewWithUtf32Chars gdextension_interface_string_new_wit
GDExtensionInterfaceStringNewWithWideChars gdextension_interface_string_new_with_wide_chars = nullptr;
GDExtensionInterfaceStringNewWithLatin1CharsAndLen gdextension_interface_string_new_with_latin1_chars_and_len = nullptr;
GDExtensionInterfaceStringNewWithUtf8CharsAndLen gdextension_interface_string_new_with_utf8_chars_and_len = nullptr;
+GDExtensionInterfaceStringNewWithUtf8CharsAndLen2 gdextension_interface_string_new_with_utf8_chars_and_len2 = nullptr;
GDExtensionInterfaceStringNewWithUtf16CharsAndLen gdextension_interface_string_new_with_utf16_chars_and_len = nullptr;
+GDExtensionInterfaceStringNewWithUtf16CharsAndLen2 gdextension_interface_string_new_with_utf16_chars_and_len2 = nullptr;
GDExtensionInterfaceStringNewWithUtf32CharsAndLen gdextension_interface_string_new_with_utf32_chars_and_len = nullptr;
GDExtensionInterfaceStringNewWithWideCharsAndLen gdextension_interface_string_new_with_wide_chars_and_len = nullptr;
GDExtensionInterfaceStringToLatin1Chars gdextension_interface_string_to_latin1_chars = nullptr;
@@ -201,6 +203,8 @@ GDExtensionInterfaceEditorAddPlugin gdextension_interface_editor_add_plugin = nu
GDExtensionInterfaceEditorRemovePlugin gdextension_interface_editor_remove_plugin = nullptr;
GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8Chars gdextension_interface_editor_help_load_xml_from_utf8_chars = nullptr;
GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8CharsAndLen gdextension_interface_editor_help_load_xml_from_utf8_chars_and_len = nullptr;
+GDExtensionInterfaceImagePtrw gdextension_interface_image_ptrw = nullptr;
+GDExtensionInterfaceImagePtr gdextension_interface_image_ptr = nullptr;
struct DocData {
const char *hash = nullptr;
@@ -389,7 +393,9 @@ GDExtensionBool GDExtensionBinding::init(GDExtensionInterfaceGetProcAddress p_ge
LOAD_PROC_ADDRESS(string_new_with_wide_chars, GDExtensionInterfaceStringNewWithWideChars);
LOAD_PROC_ADDRESS(string_new_with_latin1_chars_and_len, GDExtensionInterfaceStringNewWithLatin1CharsAndLen);
LOAD_PROC_ADDRESS(string_new_with_utf8_chars_and_len, GDExtensionInterfaceStringNewWithUtf8CharsAndLen);
+ LOAD_PROC_ADDRESS(string_new_with_utf8_chars_and_len2, GDExtensionInterfaceStringNewWithUtf8CharsAndLen2);
LOAD_PROC_ADDRESS(string_new_with_utf16_chars_and_len, GDExtensionInterfaceStringNewWithUtf16CharsAndLen);
+ LOAD_PROC_ADDRESS(string_new_with_utf16_chars_and_len2, GDExtensionInterfaceStringNewWithUtf16CharsAndLen2);
LOAD_PROC_ADDRESS(string_new_with_utf32_chars_and_len, GDExtensionInterfaceStringNewWithUtf32CharsAndLen);
LOAD_PROC_ADDRESS(string_new_with_wide_chars_and_len, GDExtensionInterfaceStringNewWithWideCharsAndLen);
LOAD_PROC_ADDRESS(string_to_latin1_chars, GDExtensionInterfaceStringToLatin1Chars);
@@ -476,6 +482,8 @@ GDExtensionBool GDExtensionBinding::init(GDExtensionInterfaceGetProcAddress p_ge
LOAD_PROC_ADDRESS(editor_remove_plugin, GDExtensionInterfaceEditorRemovePlugin);
LOAD_PROC_ADDRESS(editor_help_load_xml_from_utf8_chars, GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8Chars);
LOAD_PROC_ADDRESS(editor_help_load_xml_from_utf8_chars_and_len, GDExtensionsInterfaceEditorHelpLoadXmlFromUtf8CharsAndLen);
+ LOAD_PROC_ADDRESS(image_ptrw, GDExtensionInterfaceImagePtrw);
+ LOAD_PROC_ADDRESS(image_ptr, GDExtensionInterfaceImagePtr);
r_initialization->initialize = initialize_level;
r_initialization->deinitialize = deinitialize_level;
diff --git a/src/variant/char_string.cpp b/src/variant/char_string.cpp
index cac46cf..83a36c5 100644
--- a/src/variant/char_string.cpp
+++ b/src/variant/char_string.cpp
@@ -178,8 +178,8 @@ String String::utf8(const char *from, int64_t len) {
return ret;
}
-void String::parse_utf8(const char *from, int64_t len) {
- internal::gdextension_interface_string_new_with_utf8_chars_and_len(_native_ptr(), from, len);
+Error String::parse_utf8(const char *from, int64_t len) {
+ return (Error)internal::gdextension_interface_string_new_with_utf8_chars_and_len2(_native_ptr(), from, len);
}
String String::utf16(const char16_t *from, int64_t len) {
@@ -188,8 +188,8 @@ String String::utf16(const char16_t *from, int64_t len) {
return ret;
}
-void String::parse_utf16(const char16_t *from, int64_t len) {
- internal::gdextension_interface_string_new_with_utf16_chars_and_len(_native_ptr(), from, len);
+Error String::parse_utf16(const char16_t *from, int64_t len, bool default_little_endian) {
+ return (Error)internal::gdextension_interface_string_new_with_utf16_chars_and_len2(_native_ptr(), from, len, default_little_endian);
}
String String::num_real(double p_num, bool p_trailing) {