diff --git a/core/templates/vector.h b/core/templates/vector.h index 1c0bc67a936..ebca50b77a8 100644 --- a/core/templates/vector.h +++ b/core/templates/vector.h @@ -184,10 +184,16 @@ public: return span().bisect(p_value, p_before, Comparator{ args... }); } - Vector duplicate() { + Vector duplicate() const { return *this; } +#ifndef DISABLE_DEPRECATED + Vector _duplicate_bind_compat_112290() { + return *this; + } +#endif // DISABLE_DEPRECATED + void ordered_insert(const T &p_val) { Size i; for (i = 0; i < _cowdata.size(); i++) { diff --git a/core/variant/variant_call.cpp b/core/variant/variant_call.cpp index d2bf2aa04fe..b9623404a7d 100644 --- a/core/variant/variant_call.cpp +++ b/core/variant/variant_call.cpp @@ -2753,6 +2753,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedByteArray, sort, sarray(), varray()); bind_method(PackedByteArray, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedByteArray, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedByteArray, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedByteArray, find, sarray("value", "from"), varray(0)); bind_method(PackedByteArray, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedByteArray, count, sarray("value"), varray()); @@ -2829,6 +2832,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedInt32Array, sort, sarray(), varray()); bind_method(PackedInt32Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedInt32Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedInt32Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedInt32Array, find, sarray("value", "from"), varray(0)); bind_method(PackedInt32Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedInt32Array, count, sarray("value"), varray()); @@ -2853,6 +2859,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedInt64Array, sort, sarray(), varray()); bind_method(PackedInt64Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedInt64Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedInt64Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedInt64Array, find, sarray("value", "from"), varray(0)); bind_method(PackedInt64Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedInt64Array, count, sarray("value"), varray()); @@ -2877,6 +2886,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedFloat32Array, sort, sarray(), varray()); bind_method(PackedFloat32Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedFloat32Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedFloat32Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedFloat32Array, find, sarray("value", "from"), varray(0)); bind_method(PackedFloat32Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedFloat32Array, count, sarray("value"), varray()); @@ -2901,6 +2913,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedFloat64Array, sort, sarray(), varray()); bind_method(PackedFloat64Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedFloat64Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedFloat64Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedFloat64Array, find, sarray("value", "from"), varray(0)); bind_method(PackedFloat64Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedFloat64Array, count, sarray("value"), varray()); @@ -2925,6 +2940,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedStringArray, sort, sarray(), varray()); bind_method(PackedStringArray, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedStringArray, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedStringArray, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedStringArray, find, sarray("value", "from"), varray(0)); bind_method(PackedStringArray, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedStringArray, count, sarray("value"), varray()); @@ -2949,6 +2967,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedVector2Array, sort, sarray(), varray()); bind_method(PackedVector2Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedVector2Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedVector2Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedVector2Array, find, sarray("value", "from"), varray(0)); bind_method(PackedVector2Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedVector2Array, count, sarray("value"), varray()); @@ -2973,6 +2994,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedVector3Array, sort, sarray(), varray()); bind_method(PackedVector3Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedVector3Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedVector3Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedVector3Array, find, sarray("value", "from"), varray(0)); bind_method(PackedVector3Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedVector3Array, count, sarray("value"), varray()); @@ -2997,6 +3021,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedColorArray, sort, sarray(), varray()); bind_method(PackedColorArray, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedColorArray, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedColorArray, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedColorArray, find, sarray("value", "from"), varray(0)); bind_method(PackedColorArray, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedColorArray, count, sarray("value"), varray()); @@ -3021,6 +3048,9 @@ static void _register_variant_builtin_methods_array() { bind_method(PackedVector4Array, sort, sarray(), varray()); bind_method(PackedVector4Array, bsearch, sarray("value", "before"), varray(true)); bind_method(PackedVector4Array, duplicate, sarray(), varray()); +#ifndef DISABLE_DEPRECATED + bind_compat_method(PackedVector4Array, duplicate, _duplicate_bind_compat_112290, sarray(), varray()); +#endif bind_method(PackedVector4Array, find, sarray("value", "from"), varray(0)); bind_method(PackedVector4Array, rfind, sarray("value", "from"), varray(-1)); bind_method(PackedVector4Array, count, sarray("value"), varray()); diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index a614d6e357f..7d054608d00 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -213,7 +213,7 @@ [b]Note:[/b] Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index 97a70f12fd5..2dabfb5dee6 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -73,7 +73,7 @@ Returns the number of times an element is in the array. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml index 1997ecf5f88..625172d5644 100644 --- a/doc/classes/PackedFloat32Array.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -71,7 +71,7 @@ [b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml index b325df47342..55c576664a4 100644 --- a/doc/classes/PackedFloat64Array.xml +++ b/doc/classes/PackedFloat64Array.xml @@ -72,7 +72,7 @@ [b]Note:[/b] [constant @GDScript.NAN] doesn't behave the same as other numbers. Therefore, the results from this method may not be accurate if NaNs are included. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml index e230bd08bf2..86c3a5b9ef8 100644 --- a/doc/classes/PackedInt32Array.xml +++ b/doc/classes/PackedInt32Array.xml @@ -69,7 +69,7 @@ Returns the number of times an element is in the array. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml index 094dbf5419a..73e6c0e8794 100644 --- a/doc/classes/PackedInt64Array.xml +++ b/doc/classes/PackedInt64Array.xml @@ -70,7 +70,7 @@ Returns the number of times an element is in the array. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index 1bd79b33e40..4f84ba82435 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -76,7 +76,7 @@ Returns the number of times an element is in the array. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index 133011ee41c..1fa4a989169 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -76,7 +76,7 @@ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index 87161e813f1..0a85d1ac682 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -75,7 +75,7 @@ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included. - + Creates a copy of the array, and returns it. diff --git a/doc/classes/PackedVector4Array.xml b/doc/classes/PackedVector4Array.xml index 30203ffe1ae..4bc43fe6ba5 100644 --- a/doc/classes/PackedVector4Array.xml +++ b/doc/classes/PackedVector4Array.xml @@ -75,7 +75,7 @@ [b]Note:[/b] Vectors with [constant @GDScript.NAN] elements don't behave the same as other vectors. Therefore, the results from this method may not be accurate if NaNs are included. - + Creates a copy of the array, and returns it. diff --git a/misc/extension_api_validation/4.5-stable.expected b/misc/extension_api_validation/4.5-stable.expected index 2f95776d61f..3cb31355e7f 100644 --- a/misc/extension_api_validation/4.5-stable.expected +++ b/misc/extension_api_validation/4.5-stable.expected @@ -82,3 +82,20 @@ Validate extension JSON: Error: Field 'classes/SpringBoneSimulator3D/methods/set Validate extension JSON: Error: Field 'classes/SpringBoneSimulator3D/methods/set_rotation_axis/arguments/1': type changed value in new API, from "enum::SpringBoneSimulator3D.RotationAxis" to "enum::SkeletonModifier3D.RotationAxis". Same enum is defined in SkeletonModifier3D which is a base class of SpringBoneSimulator3D. Compatibility methods registered. + + +GH-112290 +--------- + +Validate extension JSON: Error: Field 'builtin_classes/PackedByteArray/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedColorArray/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedFloat32Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedFloat64Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedInt32Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedInt64Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedStringArray/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedVector2Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedVector3Array/methods/duplicate': is_const changed value in new API, from false to true. +Validate extension JSON: Error: Field 'builtin_classes/PackedVector4Array/methods/duplicate': is_const changed value in new API, from false to true. + +Duplicate method made const. Compatibility methods registered.