From aaffab8afbf0b60b95090c26bd87a272ca478f75 Mon Sep 17 00:00:00 2001 From: Raul Santos Date: Sat, 10 Aug 2024 16:45:35 +0200 Subject: Add metadata for `char16_t` and `char32_t` We don't seem to expose any API that uses `char16_t` yet, but I added it anyway since we make the type info for it. I didn't add anything for `wchar_t` because we are not making a type info so maybe we don't have a need for it yet, it could be added in the future. To prevent breaking compatibility with the C# bindings, we ignore the `char32_t` metadata and still use `System.Int64`. --- core/variant/type_info.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'core/variant') diff --git a/core/variant/type_info.h b/core/variant/type_info.h index d51c80eebe..6bb703f2dd 100644 --- a/core/variant/type_info.h +++ b/core/variant/type_info.h @@ -47,7 +47,9 @@ enum Metadata { METADATA_INT_IS_UINT32, METADATA_INT_IS_UINT64, METADATA_REAL_IS_FLOAT, - METADATA_REAL_IS_DOUBLE + METADATA_REAL_IS_DOUBLE, + METADATA_INT_IS_CHAR16, + METADATA_INT_IS_CHAR32, }; } @@ -104,8 +106,8 @@ MAKE_TYPE_INFO_WITH_META(uint32_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_ MAKE_TYPE_INFO_WITH_META(int32_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_INT32) MAKE_TYPE_INFO_WITH_META(uint64_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_UINT64) MAKE_TYPE_INFO_WITH_META(int64_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_INT64) -MAKE_TYPE_INFO(char16_t, Variant::INT) -MAKE_TYPE_INFO(char32_t, Variant::INT) +MAKE_TYPE_INFO_WITH_META(char16_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_CHAR16) +MAKE_TYPE_INFO_WITH_META(char32_t, Variant::INT, GodotTypeInfo::METADATA_INT_IS_CHAR32) MAKE_TYPE_INFO_WITH_META(float, Variant::FLOAT, GodotTypeInfo::METADATA_REAL_IS_FLOAT) MAKE_TYPE_INFO_WITH_META(double, Variant::FLOAT, GodotTypeInfo::METADATA_REAL_IS_DOUBLE) -- cgit v1.2.3