From 87e6885f5ef36bddbbdaebf69a611e9d040c0cc5 Mon Sep 17 00:00:00 2001 From: Mai Lavelle Date: Wed, 1 Feb 2023 01:21:09 -0500 Subject: Fix loading of binary resources with typed arrays --- core/io/resource_format_binary.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'core/io') diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp index c0463de427..38f41d645c 100644 --- a/core/io/resource_format_binary.cpp +++ b/core/io/resource_format_binary.cpp @@ -832,6 +832,18 @@ Error ResourceLoaderBinary::load() { } } + if (value.get_type() == Variant::ARRAY) { + Array set_array = value; + bool is_get_valid = false; + Variant get_value = res->get(name, &is_get_valid); + if (is_get_valid && get_value.get_type() == Variant::ARRAY) { + Array get_array = get_value; + if (!set_array.is_same_typed(get_array)) { + value = Array(set_array, get_array.get_typed_builtin(), get_array.get_typed_class_name(), get_array.get_typed_script()); + } + } + } + if (set_valid) { res->set(name, value); } -- cgit v1.2.3