Skip to content

Commit a0d5633

Browse files
committed
[4.2] Fix missing MAKE_TYPED_ARRAY_INFO for Packed*Arrays
1 parent d6e5286 commit a0d5633

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

include/godot_cpp/core/type_info.hpp

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -393,17 +393,15 @@ MAKE_TYPED_ARRAY_INFO(Callable, Variant::CALLABLE)
393393
MAKE_TYPED_ARRAY_INFO(Signal, Variant::SIGNAL)
394394
MAKE_TYPED_ARRAY_INFO(Dictionary, Variant::DICTIONARY)
395395
MAKE_TYPED_ARRAY_INFO(Array, Variant::ARRAY)
396-
/*
397-
MAKE_TYPED_ARRAY_INFO(Vector<uint8_t>, Variant::PACKED_BYTE_ARRAY)
398-
MAKE_TYPED_ARRAY_INFO(Vector<int32_t>, Variant::PACKED_INT32_ARRAY)
399-
MAKE_TYPED_ARRAY_INFO(Vector<int64_t>, Variant::PACKED_INT64_ARRAY)
400-
MAKE_TYPED_ARRAY_INFO(Vector<float>, Variant::PACKED_FLOAT32_ARRAY)
401-
MAKE_TYPED_ARRAY_INFO(Vector<double>, Variant::PACKED_FLOAT64_ARRAY)
402-
MAKE_TYPED_ARRAY_INFO(Vector<String>, Variant::PACKED_STRING_ARRAY)
403-
MAKE_TYPED_ARRAY_INFO(Vector<Vector2>, Variant::PACKED_VECTOR2_ARRAY)
404-
MAKE_TYPED_ARRAY_INFO(Vector<Vector3>, Variant::PACKED_VECTOR3_ARRAY)
405-
MAKE_TYPED_ARRAY_INFO(Vector<Color>, Variant::PACKED_COLOR_ARRAY)
406-
*/
396+
MAKE_TYPED_ARRAY_INFO(PackedByteArray, Variant::PACKED_BYTE_ARRAY)
397+
MAKE_TYPED_ARRAY_INFO(PackedInt32Array, Variant::PACKED_INT32_ARRAY)
398+
MAKE_TYPED_ARRAY_INFO(PackedInt64Array, Variant::PACKED_INT64_ARRAY)
399+
MAKE_TYPED_ARRAY_INFO(PackedFloat32Array, Variant::PACKED_FLOAT32_ARRAY)
400+
MAKE_TYPED_ARRAY_INFO(PackedFloat64Array, Variant::PACKED_FLOAT64_ARRAY)
401+
MAKE_TYPED_ARRAY_INFO(PackedStringArray, Variant::PACKED_STRING_ARRAY)
402+
MAKE_TYPED_ARRAY_INFO(PackedVector2Array, Variant::PACKED_VECTOR2_ARRAY)
403+
MAKE_TYPED_ARRAY_INFO(PackedVector3Array, Variant::PACKED_VECTOR3_ARRAY)
404+
MAKE_TYPED_ARRAY_INFO(PackedColorArray, Variant::PACKED_COLOR_ARRAY)
407405

408406
#define CLASS_INFO(m_type) (GetTypeInfo<m_type *>::get_class_info())
409407

test/src/example.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ void Example::_bind_methods() {
197197
ClassDB::bind_method(D_METHOD("test_str_utility"), &Example::test_str_utility);
198198
ClassDB::bind_method(D_METHOD("test_string_is_forty_two"), &Example::test_string_is_forty_two);
199199
ClassDB::bind_method(D_METHOD("test_string_resize"), &Example::test_string_resize);
200+
ClassDB::bind_method(D_METHOD("test_typed_array_of_packed"), &Example::test_typed_array_of_packed);
200201
ClassDB::bind_method(D_METHOD("test_vector_ops"), &Example::test_vector_ops);
201202
ClassDB::bind_method(D_METHOD("test_vector_init_list"), &Example::test_vector_init_list);
202203

@@ -399,6 +400,19 @@ String Example::test_string_resize(String p_string) const {
399400
return p_string;
400401
}
401402

403+
TypedArray<PackedInt32Array> Example::test_typed_array_of_packed() const {
404+
TypedArray<PackedInt32Array> arr;
405+
PackedInt32Array packed_arr1;
406+
packed_arr1.push_back(1);
407+
packed_arr1.push_back(2);
408+
arr.push_back(packed_arr1);
409+
PackedInt32Array packed_arr2;
410+
packed_arr2.push_back(3);
411+
packed_arr2.push_back(4);
412+
arr.push_back(packed_arr2);
413+
return arr;
414+
}
415+
402416
int Example::test_vector_ops() const {
403417
PackedInt32Array arr;
404418
arr.push_back(10);

test/src/example.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ class Example : public Control {
128128
String test_str_utility() const;
129129
bool test_string_is_forty_two(const String &p_str) const;
130130
String test_string_resize(String p_original) const;
131+
TypedArray<PackedInt32Array> test_typed_array_of_packed() const;
131132
int test_vector_ops() const;
132133
int test_vector_init_list() const;
133134

0 commit comments

Comments
 (0)