summaryrefslogtreecommitdiffstats
path: root/modules/mono/glue/runtime_interop.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-05-03 12:25:26 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-05-03 12:25:26 +0200
commit03e6fbb010c3546593bd91a0dabc045a9882705a (patch)
tree3fecc6c86700d555245a71ac2b6421c5296a3132 /modules/mono/glue/runtime_interop.cpp
parentd898f37e35ac4966fc7d54a009d05181fd3b232e (diff)
parentf9b488508ccc294db03d427c15c182864fae74de (diff)
downloadredot-engine-03e6fbb010c3546593bd91a0dabc045a9882705a.tar.gz
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
Diffstat (limited to 'modules/mono/glue/runtime_interop.cpp')
-rw-r--r--modules/mono/glue/runtime_interop.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/mono/glue/runtime_interop.cpp b/modules/mono/glue/runtime_interop.cpp
index 4bb324c0ee..1af462dafd 100644
--- a/modules/mono/glue/runtime_interop.cpp
+++ b/modules/mono/glue/runtime_interop.cpp
@@ -461,6 +461,16 @@ godot_packed_array godotsharp_packed_vector3_array_new_mem_copy(const Vector3 *p
return ret;
}
+godot_packed_array godotsharp_packed_vector4_array_new_mem_copy(const Vector4 *p_src, int32_t p_length) {
+ godot_packed_array ret;
+ memnew_placement(&ret, PackedVector4Array);
+ PackedVector4Array *array = reinterpret_cast<PackedVector4Array *>(&ret);
+ array->resize(p_length);
+ Vector4 *dst = array->ptrw();
+ memcpy(dst, p_src, p_length * sizeof(Vector4));
+ return ret;
+}
+
godot_packed_array godotsharp_packed_color_array_new_mem_copy(const Color *p_src, int32_t p_length) {
godot_packed_array ret;
memnew_placement(&ret, PackedColorArray);
@@ -646,6 +656,10 @@ void godotsharp_variant_new_packed_vector3_array(godot_variant *r_dest, const Pa
memnew_placement(r_dest, Variant(*p_pv3a));
}
+void godotsharp_variant_new_packed_vector4_array(godot_variant *r_dest, const PackedVector4Array *p_pv4a) {
+ memnew_placement(r_dest, Variant(*p_pv4a));
+}
+
void godotsharp_variant_new_packed_color_array(godot_variant *r_dest, const PackedColorArray *p_pca) {
memnew_placement(r_dest, Variant(*p_pca));
}
@@ -886,6 +900,13 @@ godot_packed_array godotsharp_variant_as_packed_vector3_array(const Variant *p_s
return raw_dest;
}
+godot_packed_array godotsharp_variant_as_packed_vector4_array(const Variant *p_self) {
+ godot_packed_array raw_dest;
+ PackedVector4Array *dest = (PackedVector4Array *)&raw_dest;
+ memnew_placement(dest, PackedVector4Array(p_self->operator PackedVector4Array()));
+ return raw_dest;
+}
+
godot_packed_array godotsharp_variant_as_packed_color_array(const Variant *p_self) {
godot_packed_array raw_dest;
PackedColorArray *dest = (PackedColorArray *)&raw_dest;
@@ -974,6 +995,10 @@ void godotsharp_packed_vector3_array_destroy(PackedVector3Array *p_self) {
p_self->~PackedVector3Array();
}
+void godotsharp_packed_vector4_array_destroy(PackedVector4Array *p_self) {
+ p_self->~PackedVector4Array();
+}
+
void godotsharp_packed_color_array_destroy(PackedColorArray *p_self) {
p_self->~PackedColorArray();
}
@@ -1456,6 +1481,7 @@ static const void *unmanaged_callbacks[]{
(void *)godotsharp_packed_float64_array_new_mem_copy,
(void *)godotsharp_packed_vector2_array_new_mem_copy,
(void *)godotsharp_packed_vector3_array_new_mem_copy,
+ (void *)godotsharp_packed_vector4_array_new_mem_copy,
(void *)godotsharp_packed_color_array_new_mem_copy,
(void *)godotsharp_packed_string_array_add,
(void *)godotsharp_callable_new_with_delegate,
@@ -1484,6 +1510,7 @@ static const void *unmanaged_callbacks[]{
(void *)godotsharp_variant_new_packed_string_array,
(void *)godotsharp_variant_new_packed_vector2_array,
(void *)godotsharp_variant_new_packed_vector3_array,
+ (void *)godotsharp_variant_new_packed_vector4_array,
(void *)godotsharp_variant_new_packed_color_array,
(void *)godotsharp_variant_as_bool,
(void *)godotsharp_variant_as_int,
@@ -1520,6 +1547,7 @@ static const void *unmanaged_callbacks[]{
(void *)godotsharp_variant_as_packed_string_array,
(void *)godotsharp_variant_as_packed_vector2_array,
(void *)godotsharp_variant_as_packed_vector3_array,
+ (void *)godotsharp_variant_as_packed_vector4_array,
(void *)godotsharp_variant_as_packed_color_array,
(void *)godotsharp_variant_equals,
(void *)godotsharp_string_new_with_utf16_chars,
@@ -1538,6 +1566,7 @@ static const void *unmanaged_callbacks[]{
(void *)godotsharp_packed_string_array_destroy,
(void *)godotsharp_packed_vector2_array_destroy,
(void *)godotsharp_packed_vector3_array_destroy,
+ (void *)godotsharp_packed_vector4_array_destroy,
(void *)godotsharp_packed_color_array_destroy,
(void *)godotsharp_variant_destroy,
(void *)godotsharp_string_destroy,