summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/SCsub12
-rw-r--r--core/config/project_settings.cpp1
-rw-r--r--core/config/project_settings.h4
-rw-r--r--core/extension/gdextension_interface.cpp102
-rw-r--r--core/extension/gdextension_interface.h67
-rw-r--r--core/input/SCsub2
-rw-r--r--core/math/aabb.h6
-rw-r--r--core/math/basis.cpp4
-rw-r--r--core/math/basis.h84
-rw-r--r--core/math/delaunay_2d.h2
-rw-r--r--core/math/projection.h4
-rw-r--r--core/math/quaternion.cpp10
-rw-r--r--core/math/quaternion.h78
-rw-r--r--core/math/random_number_generator.h2
-rw-r--r--core/math/random_pcg.cpp2
-rw-r--r--core/math/random_pcg.h2
-rw-r--r--core/math/rect2.h2
-rw-r--r--core/math/transform_2d.cpp26
-rw-r--r--core/math/transform_2d.h52
-rw-r--r--core/math/transform_3d.cpp14
-rw-r--r--core/math/transform_3d.h20
-rw-r--r--core/math/vector2.cpp10
-rw-r--r--core/math/vector2.h92
-rw-r--r--core/math/vector2i.cpp30
-rw-r--r--core/math/vector2i.h34
-rw-r--r--core/math/vector3.cpp20
-rw-r--r--core/math/vector3.h74
-rw-r--r--core/math/vector3i.h38
-rw-r--r--core/math/vector4.cpp8
-rw-r--r--core/math/vector4.h50
-rw-r--r--core/math/vector4i.h38
-rw-r--r--core/object/script_language_extension.h35
32 files changed, 518 insertions, 407 deletions
diff --git a/core/SCsub b/core/SCsub
index 3b1a7ca79a..1f2166937a 100644
--- a/core/SCsub
+++ b/core/SCsub
@@ -202,27 +202,23 @@ env.Depends(
env.CommandNoCache(
"#core/io/certs_compressed.gen.h",
"#thirdparty/certs/ca-certificates.crt",
- env.Run(core_builders.make_certs_header, "Building ca-certificates header."),
+ env.Run(core_builders.make_certs_header),
)
# Authors
env.Depends("#core/authors.gen.h", "../AUTHORS.md")
-env.CommandNoCache(
- "#core/authors.gen.h", "../AUTHORS.md", env.Run(core_builders.make_authors_header, "Generating authors header.")
-)
+env.CommandNoCache("#core/authors.gen.h", "../AUTHORS.md", env.Run(core_builders.make_authors_header))
# Donors
env.Depends("#core/donors.gen.h", "../DONORS.md")
-env.CommandNoCache(
- "#core/donors.gen.h", "../DONORS.md", env.Run(core_builders.make_donors_header, "Generating donors header.")
-)
+env.CommandNoCache("#core/donors.gen.h", "../DONORS.md", env.Run(core_builders.make_donors_header))
# License
env.Depends("#core/license.gen.h", ["../COPYRIGHT.txt", "../LICENSE.txt"])
env.CommandNoCache(
"#core/license.gen.h",
["../COPYRIGHT.txt", "../LICENSE.txt"],
- env.Run(core_builders.make_license_header, "Generating license header."),
+ env.Run(core_builders.make_license_header),
)
# Chain load SCsubs
diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp
index b96da01808..f5baf1a27e 100644
--- a/core/config/project_settings.cpp
+++ b/core/config/project_settings.cpp
@@ -39,6 +39,7 @@
#include "core/io/file_access_pack.h"
#include "core/io/marshalls.h"
#include "core/os/keyboard.h"
+#include "core/templates/rb_set.h"
#include "core/variant/typed_array.h"
#include "core/variant/variant_parser.h"
#include "core/version.h"
diff --git a/core/config/project_settings.h b/core/config/project_settings.h
index 73cadfd07e..252b10bd3a 100644
--- a/core/config/project_settings.h
+++ b/core/config/project_settings.h
@@ -32,10 +32,6 @@
#define PROJECT_SETTINGS_H
#include "core/object/class_db.h"
-#include "core/os/thread_safe.h"
-#include "core/templates/hash_map.h"
-#include "core/templates/local_vector.h"
-#include "core/templates/rb_set.h"
template <typename T>
class TypedArray;
diff --git a/core/extension/gdextension_interface.cpp b/core/extension/gdextension_interface.cpp
index f96a8873ca..67ec09d764 100644
--- a/core/extension/gdextension_interface.cpp
+++ b/core/extension/gdextension_interface.cpp
@@ -1240,43 +1240,84 @@ static void gdextension_ref_set_object(GDExtensionRefPtr p_ref, GDExtensionObjec
#ifndef DISABLE_DEPRECATED
static GDExtensionScriptInstancePtr gdextension_script_instance_create(const GDExtensionScriptInstanceInfo *p_info, GDExtensionScriptInstanceDataPtr p_instance_data) {
- GDExtensionScriptInstanceInfo2 *info_2 = memnew(GDExtensionScriptInstanceInfo2);
- info_2->set_func = p_info->set_func;
- info_2->get_func = p_info->get_func;
- info_2->get_property_list_func = p_info->get_property_list_func;
- info_2->free_property_list_func = p_info->free_property_list_func;
- info_2->get_class_category_func = nullptr;
- info_2->property_can_revert_func = p_info->property_can_revert_func;
- info_2->property_get_revert_func = p_info->property_get_revert_func;
- info_2->get_owner_func = p_info->get_owner_func;
- info_2->get_property_state_func = p_info->get_property_state_func;
- info_2->get_method_list_func = p_info->get_method_list_func;
- info_2->free_method_list_func = p_info->free_method_list_func;
- info_2->get_property_type_func = p_info->get_property_type_func;
- info_2->validate_property_func = nullptr;
- info_2->has_method_func = p_info->has_method_func;
- info_2->call_func = p_info->call_func;
- info_2->notification_func = nullptr;
- info_2->to_string_func = p_info->to_string_func;
- info_2->refcount_incremented_func = p_info->refcount_incremented_func;
- info_2->refcount_decremented_func = p_info->refcount_decremented_func;
- info_2->get_script_func = p_info->get_script_func;
- info_2->is_placeholder_func = p_info->is_placeholder_func;
- info_2->set_fallback_func = p_info->set_fallback_func;
- info_2->get_fallback_func = p_info->get_fallback_func;
- info_2->get_language_func = p_info->get_language_func;
- info_2->free_func = p_info->free_func;
+ GDExtensionScriptInstanceInfo3 *info_3 = memnew(GDExtensionScriptInstanceInfo3);
+ info_3->set_func = p_info->set_func;
+ info_3->get_func = p_info->get_func;
+ info_3->get_property_list_func = p_info->get_property_list_func;
+ info_3->free_property_list_func = nullptr;
+ info_3->get_class_category_func = nullptr;
+ info_3->property_can_revert_func = p_info->property_can_revert_func;
+ info_3->property_get_revert_func = p_info->property_get_revert_func;
+ info_3->get_owner_func = p_info->get_owner_func;
+ info_3->get_property_state_func = p_info->get_property_state_func;
+ info_3->get_method_list_func = p_info->get_method_list_func;
+ info_3->free_method_list_func = nullptr;
+ info_3->get_property_type_func = p_info->get_property_type_func;
+ info_3->validate_property_func = nullptr;
+ info_3->has_method_func = p_info->has_method_func;
+ info_3->call_func = p_info->call_func;
+ info_3->notification_func = nullptr;
+ info_3->to_string_func = p_info->to_string_func;
+ info_3->refcount_incremented_func = p_info->refcount_incremented_func;
+ info_3->refcount_decremented_func = p_info->refcount_decremented_func;
+ info_3->get_script_func = p_info->get_script_func;
+ info_3->is_placeholder_func = p_info->is_placeholder_func;
+ info_3->set_fallback_func = p_info->set_fallback_func;
+ info_3->get_fallback_func = p_info->get_fallback_func;
+ info_3->get_language_func = p_info->get_language_func;
+ info_3->free_func = p_info->free_func;
ScriptInstanceExtension *script_instance_extension = memnew(ScriptInstanceExtension);
script_instance_extension->instance = p_instance_data;
- script_instance_extension->native_info = info_2;
+ script_instance_extension->native_info = info_3;
script_instance_extension->free_native_info = true;
- script_instance_extension->deprecated_native_info.notification_func = p_info->notification_func;
+ script_instance_extension->deprecated_native_info = memnew(ScriptInstanceExtension::DeprecatedNativeInfo);
+ script_instance_extension->deprecated_native_info->notification_func = p_info->notification_func;
+ script_instance_extension->deprecated_native_info->free_property_list_func = p_info->free_property_list_func;
+ script_instance_extension->deprecated_native_info->free_method_list_func = p_info->free_method_list_func;
return reinterpret_cast<GDExtensionScriptInstancePtr>(script_instance_extension);
}
-#endif // DISABLE_DEPRECATED
static GDExtensionScriptInstancePtr gdextension_script_instance_create2(const GDExtensionScriptInstanceInfo2 *p_info, GDExtensionScriptInstanceDataPtr p_instance_data) {
+ GDExtensionScriptInstanceInfo3 *info_3 = memnew(GDExtensionScriptInstanceInfo3);
+ info_3->set_func = p_info->set_func;
+ info_3->get_func = p_info->get_func;
+ info_3->get_property_list_func = p_info->get_property_list_func;
+ info_3->free_property_list_func = nullptr;
+ info_3->get_class_category_func = nullptr;
+ info_3->property_can_revert_func = p_info->property_can_revert_func;
+ info_3->property_get_revert_func = p_info->property_get_revert_func;
+ info_3->get_owner_func = p_info->get_owner_func;
+ info_3->get_property_state_func = p_info->get_property_state_func;
+ info_3->get_method_list_func = p_info->get_method_list_func;
+ info_3->free_method_list_func = nullptr;
+ info_3->get_property_type_func = p_info->get_property_type_func;
+ info_3->validate_property_func = nullptr;
+ info_3->has_method_func = p_info->has_method_func;
+ info_3->call_func = p_info->call_func;
+ info_3->notification_func = p_info->notification_func;
+ info_3->to_string_func = p_info->to_string_func;
+ info_3->refcount_incremented_func = p_info->refcount_incremented_func;
+ info_3->refcount_decremented_func = p_info->refcount_decremented_func;
+ info_3->get_script_func = p_info->get_script_func;
+ info_3->is_placeholder_func = p_info->is_placeholder_func;
+ info_3->set_fallback_func = p_info->set_fallback_func;
+ info_3->get_fallback_func = p_info->get_fallback_func;
+ info_3->get_language_func = p_info->get_language_func;
+ info_3->free_func = p_info->free_func;
+
+ ScriptInstanceExtension *script_instance_extension = memnew(ScriptInstanceExtension);
+ script_instance_extension->instance = p_instance_data;
+ script_instance_extension->native_info = info_3;
+ script_instance_extension->free_native_info = true;
+ script_instance_extension->deprecated_native_info = memnew(ScriptInstanceExtension::DeprecatedNativeInfo);
+ script_instance_extension->deprecated_native_info->free_property_list_func = p_info->free_property_list_func;
+ script_instance_extension->deprecated_native_info->free_method_list_func = p_info->free_method_list_func;
+ return reinterpret_cast<GDExtensionScriptInstancePtr>(script_instance_extension);
+}
+#endif // DISABLE_DEPRECATED
+
+static GDExtensionScriptInstancePtr gdextension_script_instance_create3(const GDExtensionScriptInstanceInfo3 *p_info, GDExtensionScriptInstanceDataPtr p_instance_data) {
ScriptInstanceExtension *script_instance_extension = memnew(ScriptInstanceExtension);
script_instance_extension->instance = p_instance_data;
script_instance_extension->native_info = p_info;
@@ -1548,8 +1589,9 @@ void gdextension_setup_interface() {
REGISTER_INTERFACE_FUNC(ref_set_object);
#ifndef DISABLE_DEPRECATED
REGISTER_INTERFACE_FUNC(script_instance_create);
-#endif // DISABLE_DEPRECATED
REGISTER_INTERFACE_FUNC(script_instance_create2);
+#endif // DISABLE_DEPRECATED
+ REGISTER_INTERFACE_FUNC(script_instance_create3);
REGISTER_INTERFACE_FUNC(placeholder_script_instance_create);
REGISTER_INTERFACE_FUNC(placeholder_script_instance_update);
REGISTER_INTERFACE_FUNC(object_get_script_instance);
diff --git a/core/extension/gdextension_interface.h b/core/extension/gdextension_interface.h
index 65ee647a51..e7497a9d4c 100644
--- a/core/extension/gdextension_interface.h
+++ b/core/extension/gdextension_interface.h
@@ -480,7 +480,8 @@ typedef void *GDExtensionScriptInstanceDataPtr; // Pointer to custom ScriptInsta
typedef GDExtensionBool (*GDExtensionScriptInstanceSet)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionConstStringNamePtr p_name, GDExtensionConstVariantPtr p_value);
typedef GDExtensionBool (*GDExtensionScriptInstanceGet)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionConstStringNamePtr p_name, GDExtensionVariantPtr r_ret);
typedef const GDExtensionPropertyInfo *(*GDExtensionScriptInstanceGetPropertyList)(GDExtensionScriptInstanceDataPtr p_instance, uint32_t *r_count);
-typedef void (*GDExtensionScriptInstanceFreePropertyList)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionPropertyInfo *p_list);
+typedef void (*GDExtensionScriptInstanceFreePropertyList)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionPropertyInfo *p_list); // Deprecated. Use GDExtensionScriptInstanceFreePropertyList2 instead.
+typedef void (*GDExtensionScriptInstanceFreePropertyList2)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionPropertyInfo *p_list, uint32_t p_count);
typedef GDExtensionBool (*GDExtensionScriptInstanceGetClassCategory)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionPropertyInfo *p_class_category);
typedef GDExtensionVariantType (*GDExtensionScriptInstanceGetPropertyType)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionConstStringNamePtr p_name, GDExtensionBool *r_is_valid);
@@ -494,7 +495,8 @@ typedef void (*GDExtensionScriptInstancePropertyStateAdd)(GDExtensionConstString
typedef void (*GDExtensionScriptInstanceGetPropertyState)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionScriptInstancePropertyStateAdd p_add_func, void *p_userdata);
typedef const GDExtensionMethodInfo *(*GDExtensionScriptInstanceGetMethodList)(GDExtensionScriptInstanceDataPtr p_instance, uint32_t *r_count);
-typedef void (*GDExtensionScriptInstanceFreeMethodList)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionMethodInfo *p_list);
+typedef void (*GDExtensionScriptInstanceFreeMethodList)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionMethodInfo *p_list); // Deprecated. Use GDExtensionScriptInstanceFreeMethodList2 instead.
+typedef void (*GDExtensionScriptInstanceFreeMethodList2)(GDExtensionScriptInstanceDataPtr p_instance, const GDExtensionMethodInfo *p_list, uint32_t p_count);
typedef GDExtensionBool (*GDExtensionScriptInstanceHasMethod)(GDExtensionScriptInstanceDataPtr p_instance, GDExtensionConstStringNamePtr p_name);
@@ -554,7 +556,7 @@ typedef struct {
GDExtensionScriptInstanceFree free_func;
-} GDExtensionScriptInstanceInfo; // Deprecated. Use GDExtensionScriptInstanceInfo2 instead.
+} GDExtensionScriptInstanceInfo; // Deprecated. Use GDExtensionScriptInstanceInfo3 instead.
typedef struct {
GDExtensionScriptInstanceSet set_func;
@@ -595,7 +597,48 @@ typedef struct {
GDExtensionScriptInstanceFree free_func;
-} GDExtensionScriptInstanceInfo2;
+} GDExtensionScriptInstanceInfo2; // Deprecated. Use GDExtensionScriptInstanceInfo3 instead.
+
+typedef struct {
+ GDExtensionScriptInstanceSet set_func;
+ GDExtensionScriptInstanceGet get_func;
+ GDExtensionScriptInstanceGetPropertyList get_property_list_func;
+ GDExtensionScriptInstanceFreePropertyList2 free_property_list_func;
+ GDExtensionScriptInstanceGetClassCategory get_class_category_func; // Optional. Set to NULL for the default behavior.
+
+ GDExtensionScriptInstancePropertyCanRevert property_can_revert_func;
+ GDExtensionScriptInstancePropertyGetRevert property_get_revert_func;
+
+ GDExtensionScriptInstanceGetOwner get_owner_func;
+ GDExtensionScriptInstanceGetPropertyState get_property_state_func;
+
+ GDExtensionScriptInstanceGetMethodList get_method_list_func;
+ GDExtensionScriptInstanceFreeMethodList2 free_method_list_func;
+ GDExtensionScriptInstanceGetPropertyType get_property_type_func;
+ GDExtensionScriptInstanceValidateProperty validate_property_func;
+
+ GDExtensionScriptInstanceHasMethod has_method_func;
+
+ GDExtensionScriptInstanceCall call_func;
+ GDExtensionScriptInstanceNotification2 notification_func;
+
+ GDExtensionScriptInstanceToString to_string_func;
+
+ GDExtensionScriptInstanceRefCountIncremented refcount_incremented_func;
+ GDExtensionScriptInstanceRefCountDecremented refcount_decremented_func;
+
+ GDExtensionScriptInstanceGetScript get_script_func;
+
+ GDExtensionScriptInstanceIsPlaceholder is_placeholder_func;
+
+ GDExtensionScriptInstanceSet set_fallback_func;
+ GDExtensionScriptInstanceGet get_fallback_func;
+
+ GDExtensionScriptInstanceGetLanguage get_language_func;
+
+ GDExtensionScriptInstanceFree free_func;
+
+} GDExtensionScriptInstanceInfo3;
/* INITIALIZATION */
@@ -2380,7 +2423,7 @@ typedef void (*GDExtensionInterfaceRefSetObject)(GDExtensionRefPtr p_ref, GDExte
/**
* @name script_instance_create
* @since 4.1
- * @deprecated in Godot 4.2. Use `script_instance_create2` instead.
+ * @deprecated in Godot 4.2. Use `script_instance_create3` instead.
*
* Creates a script instance that contains the given info and instance data.
*
@@ -2394,6 +2437,7 @@ typedef GDExtensionScriptInstancePtr (*GDExtensionInterfaceScriptInstanceCreate)
/**
* @name script_instance_create2
* @since 4.2
+ * @deprecated in Godot 4.3. Use `script_instance_create3` instead.
*
* Creates a script instance that contains the given info and instance data.
*
@@ -2405,6 +2449,19 @@ typedef GDExtensionScriptInstancePtr (*GDExtensionInterfaceScriptInstanceCreate)
typedef GDExtensionScriptInstancePtr (*GDExtensionInterfaceScriptInstanceCreate2)(const GDExtensionScriptInstanceInfo2 *p_info, GDExtensionScriptInstanceDataPtr p_instance_data);
/**
+ * @name script_instance_create3
+ * @since 4.3
+ *
+ * Creates a script instance that contains the given info and instance data.
+ *
+ * @param p_info A pointer to a GDExtensionScriptInstanceInfo3 struct.
+ * @param p_instance_data A pointer to a data representing the script instance in the GDExtension. This will be passed to all the function pointers on p_info.
+ *
+ * @return A pointer to a ScriptInstanceExtension object.
+ */
+typedef GDExtensionScriptInstancePtr (*GDExtensionInterfaceScriptInstanceCreate3)(const GDExtensionScriptInstanceInfo3 *p_info, GDExtensionScriptInstanceDataPtr p_instance_data);
+
+/**
* @name placeholder_script_instance_create
* @since 4.2
*
diff --git a/core/input/SCsub b/core/input/SCsub
index b12bf561de..da29637135 100644
--- a/core/input/SCsub
+++ b/core/input/SCsub
@@ -14,7 +14,7 @@ controller_databases = [
gensource = env.CommandNoCache(
"default_controller_mappings.gen.cpp",
controller_databases,
- env.Run(input_builders.make_default_controller_mappings, "Generating default controller mappings."),
+ env.Run(input_builders.make_default_controller_mappings),
)
env.add_source_files(env.core_sources, "*.cpp")
diff --git a/core/math/aabb.h b/core/math/aabb.h
index cea845bf7c..7927c431eb 100644
--- a/core/math/aabb.h
+++ b/core/math/aabb.h
@@ -73,7 +73,7 @@ struct _NO_DISCARD_ AABB {
AABB intersection(const AABB &p_aabb) const; ///get box where two intersect, empty if no intersection occurs
bool intersects_segment(const Vector3 &p_from, const Vector3 &p_to, Vector3 *r_clip = nullptr, Vector3 *r_normal = nullptr) const;
bool intersects_ray(const Vector3 &p_from, const Vector3 &p_dir, Vector3 *r_clip = nullptr, Vector3 *r_normal = nullptr) const;
- _FORCE_INLINE_ bool smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t t0, real_t t1) const;
+ _FORCE_INLINE_ bool smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t p_t0, real_t p_t1) const;
_FORCE_INLINE_ bool intersects_convex_shape(const Plane *p_planes, int p_plane_count, const Vector3 *p_points, int p_point_count) const;
_FORCE_INLINE_ bool inside_convex_shape(const Plane *p_planes, int p_plane_count) const;
@@ -401,7 +401,7 @@ inline real_t AABB::get_shortest_axis_size() const {
return max_size;
}
-bool AABB::smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t t0, real_t t1) const {
+bool AABB::smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real_t p_t0, real_t p_t1) const {
#ifdef MATH_CHECKS
if (unlikely(size.x < 0 || size.y < 0 || size.z < 0)) {
ERR_PRINT("AABB size is negative, this is not supported. Use AABB.abs() to get an AABB with a positive size.");
@@ -452,7 +452,7 @@ bool AABB::smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_dir, real
if (tzmax < tmax) {
tmax = tzmax;
}
- return ((tmin < t1) && (tmax > t0));
+ return ((tmin < p_t1) && (tmax > p_t0));
}
void AABB::grow_by(real_t p_amount) {
diff --git a/core/math/basis.cpp b/core/math/basis.cpp
index 5c31095960..3ebd13b9fe 100644
--- a/core/math/basis.cpp
+++ b/core/math/basis.cpp
@@ -907,7 +907,7 @@ void Basis::_set_diagonal(const Vector3 &p_diag) {
rows[2][2] = p_diag.z;
}
-Basis Basis::lerp(const Basis &p_to, const real_t &p_weight) const {
+Basis Basis::lerp(const Basis &p_to, real_t p_weight) const {
Basis b;
b.rows[0] = rows[0].lerp(p_to.rows[0], p_weight);
b.rows[1] = rows[1].lerp(p_to.rows[1], p_weight);
@@ -916,7 +916,7 @@ Basis Basis::lerp(const Basis &p_to, const real_t &p_weight) const {
return b;
}
-Basis Basis::slerp(const Basis &p_to, const real_t &p_weight) const {
+Basis Basis::slerp(const Basis &p_to, real_t p_weight) const {
//consider scale
Quaternion from(*this);
Quaternion to(p_to);
diff --git a/core/math/basis.h b/core/math/basis.h
index e3094114e8..1fc08e95e1 100644
--- a/core/math/basis.h
+++ b/core/math/basis.h
@@ -41,11 +41,11 @@ struct _NO_DISCARD_ Basis {
Vector3(0, 0, 1)
};
- _FORCE_INLINE_ const Vector3 &operator[](int axis) const {
- return rows[axis];
+ _FORCE_INLINE_ const Vector3 &operator[](int p_axis) const {
+ return rows[p_axis];
}
- _FORCE_INLINE_ Vector3 &operator[](int axis) {
- return rows[axis];
+ _FORCE_INLINE_ Vector3 &operator[](int p_axis) {
+ return rows[p_axis];
}
void invert();
@@ -110,14 +110,14 @@ struct _NO_DISCARD_ Basis {
void set_quaternion_scale(const Quaternion &p_quaternion, const Vector3 &p_scale);
// transposed dot products
- _FORCE_INLINE_ real_t tdotx(const Vector3 &v) const {
- return rows[0][0] * v[0] + rows[1][0] * v[1] + rows[2][0] * v[2];
+ _FORCE_INLINE_ real_t tdotx(const Vector3 &p_v) const {
+ return rows[0][0] * p_v[0] + rows[1][0] * p_v[1] + rows[2][0] * p_v[2];
}
- _FORCE_INLINE_ real_t tdoty(const Vector3 &v) const {
- return rows[0][1] * v[0] + rows[1][1] * v[1] + rows[2][1] * v[2];
+ _FORCE_INLINE_ real_t tdoty(const Vector3 &p_v) const {
+ return rows[0][1] * p_v[0] + rows[1][1] * p_v[1] + rows[2][1] * p_v[2];
}
- _FORCE_INLINE_ real_t tdotz(const Vector3 &v) const {
- return rows[0][2] * v[0] + rows[1][2] * v[1] + rows[2][2] * v[2];
+ _FORCE_INLINE_ real_t tdotz(const Vector3 &p_v) const {
+ return rows[0][2] * p_v[0] + rows[1][2] * p_v[1] + rows[2][2] * p_v[2];
}
bool is_equal_approx(const Basis &p_basis) const;
@@ -134,10 +134,10 @@ struct _NO_DISCARD_ Basis {
_FORCE_INLINE_ Basis operator+(const Basis &p_matrix) const;
_FORCE_INLINE_ void operator-=(const Basis &p_matrix);
_FORCE_INLINE_ Basis operator-(const Basis &p_matrix) const;
- _FORCE_INLINE_ void operator*=(const real_t p_val);
- _FORCE_INLINE_ Basis operator*(const real_t p_val) const;
- _FORCE_INLINE_ void operator/=(const real_t p_val);
- _FORCE_INLINE_ Basis operator/(const real_t p_val) const;
+ _FORCE_INLINE_ void operator*=(real_t p_val);
+ _FORCE_INLINE_ Basis operator*(real_t p_val) const;
+ _FORCE_INLINE_ void operator/=(real_t p_val);
+ _FORCE_INLINE_ Basis operator/(real_t p_val) const;
bool is_orthogonal() const;
bool is_orthonormal() const;
@@ -145,24 +145,24 @@ struct _NO_DISCARD_ Basis {
bool is_diagonal() const;
bool is_rotation() const;
- Basis lerp(const Basis &p_to, const real_t &p_weight) const;
- Basis slerp(const Basis &p_to, const real_t &p_weight) const;
+ Basis lerp(const Basis &p_to, real_t p_weight) const;
+ Basis slerp(const Basis &p_to, real_t p_weight) const;
void rotate_sh(real_t *p_values);
operator String() const;
/* create / set */
- _FORCE_INLINE_ void set(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz) {
- rows[0][0] = xx;
- rows[0][1] = xy;
- rows[0][2] = xz;
- rows[1][0] = yx;
- rows[1][1] = yy;
- rows[1][2] = yz;
- rows[2][0] = zx;
- rows[2][1] = zy;
- rows[2][2] = zz;
+ _FORCE_INLINE_ void set(real_t p_xx, real_t p_xy, real_t p_xz, real_t p_yx, real_t p_yy, real_t p_yz, real_t p_zx, real_t p_zy, real_t p_zz) {
+ rows[0][0] = p_xx;
+ rows[0][1] = p_xy;
+ rows[0][2] = p_xz;
+ rows[1][0] = p_yx;
+ rows[1][1] = p_yy;
+ rows[1][2] = p_yz;
+ rows[2][0] = p_zx;
+ rows[2][1] = p_zy;
+ rows[2][2] = p_zz;
}
_FORCE_INLINE_ void set_columns(const Vector3 &p_x, const Vector3 &p_y, const Vector3 &p_z) {
set_column(0, p_x);
@@ -192,20 +192,20 @@ struct _NO_DISCARD_ Basis {
rows[2].zero();
}
- _FORCE_INLINE_ Basis transpose_xform(const Basis &m) const {
+ _FORCE_INLINE_ Basis transpose_xform(const Basis &p_m) const {
return Basis(
- rows[0].x * m[0].x + rows[1].x * m[1].x + rows[2].x * m[2].x,
- rows[0].x * m[0].y + rows[1].x * m[1].y + rows[2].x * m[2].y,
- rows[0].x * m[0].z + rows[1].x * m[1].z + rows[2].x * m[2].z,
- rows[0].y * m[0].x + rows[1].y * m[1].x + rows[2].y * m[2].x,
- rows[0].y * m[0].y + rows[1].y * m[1].y + rows[2].y * m[2].y,
- rows[0].y * m[0].z + rows[1].y * m[1].z + rows[2].y * m[2].z,
- rows[0].z * m[0].x + rows[1].z * m[1].x + rows[2].z * m[2].x,
- rows[0].z * m[0].y + rows[1].z * m[1].y + rows[2].z * m[2].y,
- rows[0].z * m[0].z + rows[1].z * m[1].z + rows[2].z * m[2].z);
+ rows[0].x * p_m[0].x + rows[1].x * p_m[1].x + rows[2].x * p_m[2].x,
+ rows[0].x * p_m[0].y + rows[1].x * p_m[1].y + rows[2].x * p_m[2].y,
+ rows[0].x * p_m[0].z + rows[1].x * p_m[1].z + rows[2].x * p_m[2].z,
+ rows[0].y * p_m[0].x + rows[1].y * p_m[1].x + rows[2].y * p_m[2].x,
+ rows[0].y * p_m[0].y + rows[1].y * p_m[1].y + rows[2].y * p_m[2].y,
+ rows[0].y * p_m[0].z + rows[1].y * p_m[1].z + rows[2].y * p_m[2].z,
+ rows[0].z * p_m[0].x + rows[1].z * p_m[1].x + rows[2].z * p_m[2].x,
+ rows[0].z * p_m[0].y + rows[1].z * p_m[1].y + rows[2].z * p_m[2].y,
+ rows[0].z * p_m[0].z + rows[1].z * p_m[1].z + rows[2].z * p_m[2].z);
}
- Basis(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz) {
- set(xx, xy, xz, yx, yy, yz, zx, zy, zz);
+ Basis(real_t p_xx, real_t p_xy, real_t p_xz, real_t p_yx, real_t p_yy, real_t p_yz, real_t p_zx, real_t p_zy, real_t p_zz) {
+ set(p_xx, p_xy, p_xz, p_yx, p_yy, p_yz, p_zx, p_zy, p_zz);
}
void orthonormalize();
@@ -279,25 +279,25 @@ _FORCE_INLINE_ Basis Basis::operator-(const Basis &p_matrix) const {
return ret;
}
-_FORCE_INLINE_ void Basis::operator*=(const real_t p_val) {
+_FORCE_INLINE_ void Basis::operator*=(real_t p_val) {
rows[0] *= p_val;
rows[1] *= p_val;
rows[2] *= p_val;
}
-_FORCE_INLINE_ Basis Basis::operator*(const real_t p_val) const {
+_FORCE_INLINE_ Basis Basis::operator*(real_t p_val) const {
Basis ret(*this);
ret *= p_val;
return ret;
}
-_FORCE_INLINE_ void Basis::operator/=(const real_t p_val) {
+_FORCE_INLINE_ void Basis::operator/=(real_t p_val) {
rows[0] /= p_val;
rows[1] /= p_val;
rows[2] /= p_val;
}
-_FORCE_INLINE_ Basis Basis::operator/(const real_t p_val) const {
+_FORCE_INLINE_ Basis Basis::operator/(real_t p_val) const {
Basis ret(*this);
ret /= p_val;
return ret;
diff --git a/core/math/delaunay_2d.h b/core/math/delaunay_2d.h
index fc70724308..0bc67a92f6 100644
--- a/core/math/delaunay_2d.h
+++ b/core/math/delaunay_2d.h
@@ -64,7 +64,7 @@ public:
}
};
- static Triangle create_triangle(const Vector<Vector2> &p_vertices, const int &p_a, const int &p_b, const int &p_c) {
+ static Triangle create_triangle(const Vector<Vector2> &p_vertices, int p_a, int p_b, int p_c) {
Triangle triangle = Triangle(p_a, p_b, p_c);
// Get the values of the circumcircle and store them inside the triangle object.
diff --git a/core/math/projection.h b/core/math/projection.h
index b3a9cff002..a7adc9017e 100644
--- a/core/math/projection.h
+++ b/core/math/projection.h
@@ -55,12 +55,12 @@ struct _NO_DISCARD_ Projection {
Vector4 columns[4];
- _FORCE_INLINE_ const Vector4 &operator[](const int p_axis) const {
+ _FORCE_INLINE_ const Vector4 &operator[](int p_axis) const {
DEV_ASSERT((unsigned int)p_axis < 4);
return columns[p_axis];
}
- _FORCE_INLINE_ Vector4 &operator[](const int p_axis) {
+ _FORCE_INLINE_ Vector4 &operator[](int p_axis) {
DEV_ASSERT((unsigned int)p_axis < 4);
return columns[p_axis];
}
diff --git a/core/math/quaternion.cpp b/core/math/quaternion.cpp
index cbaaa1371a..08eac14b76 100644
--- a/core/math/quaternion.cpp
+++ b/core/math/quaternion.cpp
@@ -110,7 +110,7 @@ Quaternion Quaternion::exp() const {
return Quaternion(src_v, theta);
}
-Quaternion Quaternion::slerp(const Quaternion &p_to, const real_t &p_weight) const {
+Quaternion Quaternion::slerp(const Quaternion &p_to, real_t p_weight) const {
#ifdef MATH_CHECKS
ERR_FAIL_COND_V_MSG(!is_normalized(), Quaternion(), "The start quaternion " + operator String() + " must be normalized.");
ERR_FAIL_COND_V_MSG(!p_to.is_normalized(), Quaternion(), "The end quaternion " + p_to.operator String() + " must be normalized.");
@@ -151,7 +151,7 @@ Quaternion Quaternion::slerp(const Quaternion &p_to, const real_t &p_weight) con
scale0 * w + scale1 * to1.w);
}
-Quaternion Quaternion::slerpni(const Quaternion &p_to, const real_t &p_weight) const {
+Quaternion Quaternion::slerpni(const Quaternion &p_to, real_t p_weight) const {
#ifdef MATH_CHECKS
ERR_FAIL_COND_V_MSG(!is_normalized(), Quaternion(), "The start quaternion " + operator String() + " must be normalized.");
ERR_FAIL_COND_V_MSG(!p_to.is_normalized(), Quaternion(), "The end quaternion " + p_to.operator String() + " must be normalized.");
@@ -175,7 +175,7 @@ Quaternion Quaternion::slerpni(const Quaternion &p_to, const real_t &p_weight) c
invFactor * from.w + newFactor * p_to.w);
}
-Quaternion Quaternion::spherical_cubic_interpolate(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, const real_t &p_weight) const {
+Quaternion Quaternion::spherical_cubic_interpolate(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, real_t p_weight) const {
#ifdef MATH_CHECKS
ERR_FAIL_COND_V_MSG(!is_normalized(), Quaternion(), "The start quaternion " + operator String() + " must be normalized.");
ERR_FAIL_COND_V_MSG(!p_b.is_normalized(), Quaternion(), "The end quaternion " + p_b.operator String() + " must be normalized.");
@@ -225,8 +225,8 @@ Quaternion Quaternion::spherical_cubic_interpolate(const Quaternion &p_b, const
return q1.slerp(q2, p_weight);
}
-Quaternion Quaternion::spherical_cubic_interpolate_in_time(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, const real_t &p_weight,
- const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const {
+Quaternion Quaternion::spherical_cubic_interpolate_in_time(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, real_t p_weight,
+ real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const {
#ifdef MATH_CHECKS
ERR_FAIL_COND_V_MSG(!is_normalized(), Quaternion(), "The start quaternion " + operator String() + " must be normalized.");
ERR_FAIL_COND_V_MSG(!p_b.is_normalized(), Quaternion(), "The end quaternion " + p_b.operator String() + " must be normalized.");
diff --git a/core/math/quaternion.h b/core/math/quaternion.h
index f8133df559..868a2916f5 100644
--- a/core/math/quaternion.h
+++ b/core/math/quaternion.h
@@ -46,11 +46,11 @@ struct _NO_DISCARD_ Quaternion {
real_t components[4] = { 0, 0, 0, 1.0 };
};
- _FORCE_INLINE_ real_t &operator[](int idx) {
- return components[idx];
+ _FORCE_INLINE_ real_t &operator[](int p_idx) {
+ return components[p_idx];
}
- _FORCE_INLINE_ const real_t &operator[](int idx) const {
- return components[idx];
+ _FORCE_INLINE_ const real_t &operator[](int p_idx) const {
+ return components[p_idx];
}
_FORCE_INLINE_ real_t length_squared() const;
bool is_equal_approx(const Quaternion &p_quaternion) const;
@@ -68,10 +68,10 @@ struct _NO_DISCARD_ Quaternion {
Vector3 get_euler(EulerOrder p_order = EulerOrder::YXZ) const;
static Quaternion from_euler(const Vector3 &p_euler);
- Quaternion slerp(const Quaternion &p_to, const real_t &p_weight) const;
- Quaternion slerpni(const Quaternion &p_to, const real_t &p_weight) const;
- Quaternion spherical_cubic_interpolate(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, const real_t &p_weight) const;
- Quaternion spherical_cubic_interpolate_in_time(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, const real_t &p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const;
+ Quaternion slerp(const Quaternion &p_to, real_t p_weight) const;
+ Quaternion slerpni(const Quaternion &p_to, real_t p_weight) const;
+ Quaternion spherical_cubic_interpolate(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, real_t p_weight) const;
+ Quaternion spherical_cubic_interpolate_in_time(const Quaternion &p_b, const Quaternion &p_pre_a, const Quaternion &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const;
Vector3 get_axis() const;
real_t get_angle() const;
@@ -87,28 +87,28 @@ struct _NO_DISCARD_ Quaternion {
void operator*=(const Quaternion &p_q);
Quaternion operator*(const Quaternion &p_q) const;
- _FORCE_INLINE_ Vector3 xform(const Vector3 &v) const {
+ _FORCE_INLINE_ Vector3 xform(const Vector3 &p_v) const {
#ifdef MATH_CHECKS
- ERR_FAIL_COND_V_MSG(!is_normalized(), v, "The quaternion " + operator String() + " must be normalized.");
+ ERR_FAIL_COND_V_MSG(!is_normalized(), p_v, "The quaternion " + operator String() + " must be normalized.");
#endif
Vector3 u(x, y, z);
- Vector3 uv = u.cross(v);
- return v + ((uv * w) + u.cross(uv)) * ((real_t)2);
+ Vector3 uv = u.cross(p_v);
+ return p_v + ((uv * w) + u.cross(uv)) * ((real_t)2);
}
- _FORCE_INLINE_ Vector3 xform_inv(const Vector3 &v) const {
- return inverse().xform(v);
+ _FORCE_INLINE_ Vector3 xform_inv(const Vector3 &p_v) const {
+ return inverse().xform(p_v);
}
_FORCE_INLINE_ void operator+=(const Quaternion &p_q);
_FORCE_INLINE_ void operator-=(const Quaternion &p_q);
- _FORCE_INLINE_ void operator*=(const real_t &s);
- _FORCE_INLINE_ void operator/=(const real_t &s);
- _FORCE_INLINE_ Quaternion operator+(const Quaternion &q2) const;
- _FORCE_INLINE_ Quaternion operator-(const Quaternion &q2) const;
+ _FORCE_INLINE_ void operator*=(real_t p_s);
+ _FORCE_INLINE_ void operator/=(real_t p_s);
+ _FORCE_INLINE_ Quaternion operator+(const Quaternion &p_q2) const;
+ _FORCE_INLINE_ Quaternion operator-(const Quaternion &p_q2) const;
_FORCE_INLINE_ Quaternion operator-() const;
- _FORCE_INLINE_ Quaternion operator*(const real_t &s) const;
- _FORCE_INLINE_ Quaternion operator/(const real_t &s) const;
+ _FORCE_INLINE_ Quaternion operator*(real_t p_s) const;
+ _FORCE_INLINE_ Quaternion operator/(real_t p_s) const;
_FORCE_INLINE_ bool operator==(const Quaternion &p_quaternion) const;
_FORCE_INLINE_ bool operator!=(const Quaternion &p_quaternion) const;
@@ -140,9 +140,9 @@ struct _NO_DISCARD_ Quaternion {
w = p_q.w;
}
- Quaternion(const Vector3 &v0, const Vector3 &v1) { // Shortest arc.
- Vector3 c = v0.cross(v1);
- real_t d = v0.dot(v1);
+ Quaternion(const Vector3 &p_v0, const Vector3 &p_v1) { // Shortest arc.
+ Vector3 c = p_v0.cross(p_v1);
+ real_t d = p_v0.dot(p_v1);
if (d < -1.0f + (real_t)CMP_EPSILON) {
x = 0;
@@ -183,25 +183,25 @@ void Quaternion::operator-=(const Quaternion &p_q) {
w -= p_q.w;
}
-void Quaternion::operator*=(const real_t &s) {
- x *= s;
- y *= s;
- z *= s;
- w *= s;
+void Quaternion::operator*=(real_t p_s) {
+ x *= p_s;
+ y *= p_s;
+ z *= p_s;
+ w *= p_s;
}
-void Quaternion::operator/=(const real_t &s) {
- *this *= 1.0f / s;
+void Quaternion::operator/=(real_t p_s) {
+ *this *= 1.0f / p_s;
}
-Quaternion Quaternion::operator+(const Quaternion &q2) const {
+Quaternion Quaternion::operator+(const Quaternion &p_q2) const {
const Quaternion &q1 = *this;
- return Quaternion(q1.x + q2.x, q1.y + q2.y, q1.z + q2.z, q1.w + q2.w);
+ return Quaternion(q1.x + p_q2.x, q1.y + p_q2.y, q1.z + p_q2.z, q1.w + p_q2.w);
}
-Quaternion Quaternion::operator-(const Quaternion &q2) const {
+Quaternion Quaternion::operator-(const Quaternion &p_q2) const {
const Quaternion &q1 = *this;
- return Quaternion(q1.x - q2.x, q1.y - q2.y, q1.z - q2.z, q1.w - q2.w);
+ return Quaternion(q1.x - p_q2.x, q1.y - p_q2.y, q1.z - p_q2.z, q1.w - p_q2.w);
}
Quaternion Quaternion::operator-() const {
@@ -209,12 +209,12 @@ Quaternion Quaternion::operator-() const {
return Quaternion(-q2.x, -q2.y, -q2.z, -q2.w);
}
-Quaternion Quaternion::operator*(const real_t &s) const {
- return Quaternion(x * s, y * s, z * s, w * s);
+Quaternion Quaternion::operator*(real_t p_s) const {
+ return Quaternion(x * p_s, y * p_s, z * p_s, w * p_s);
}
-Quaternion Quaternion::operator/(const real_t &s) const {
- return *this * (1.0f / s);
+Quaternion Quaternion::operator/(real_t p_s) const {
+ return *this * (1.0f / p_s);
}
bool Quaternion::operator==(const Quaternion &p_quaternion) const {
@@ -225,7 +225,7 @@ bool Quaternion::operator!=(const Quaternion &p_quaternion) const {
return x != p_quaternion.x || y != p_quaternion.y || z != p_quaternion.z || w != p_quaternion.w;
}
-_FORCE_INLINE_ Quaternion operator*(const real_t &p_real, const Quaternion &p_quaternion) {
+_FORCE_INLINE_ Quaternion operator*(real_t p_real, const Quaternion &p_quaternion) {
return p_quaternion * p_real;
}
diff --git a/core/math/random_number_generator.h b/core/math/random_number_generator.h
index bedeb56ce4..7ec4cdffb0 100644
--- a/core/math/random_number_generator.h
+++ b/core/math/random_number_generator.h
@@ -57,7 +57,7 @@ public:
_FORCE_INLINE_ real_t randfn(real_t p_mean = 0.0, real_t p_deviation = 1.0) { return randbase.randfn(p_mean, p_deviation); }
_FORCE_INLINE_ int randi_range(int p_from, int p_to) { return randbase.random(p_from, p_to); }
- _FORCE_INLINE_ int rand_weighted(const Vector<float> &p_weights) { return randbase.rand_weighted(p_weights); }
+ _FORCE_INLINE_ int64_t rand_weighted(const Vector<float> &p_weights) { return randbase.rand_weighted(p_weights); }
RandomNumberGenerator() { randbase.randomize(); }
};
diff --git a/core/math/random_pcg.cpp b/core/math/random_pcg.cpp
index e754a34271..e083820494 100644
--- a/core/math/random_pcg.cpp
+++ b/core/math/random_pcg.cpp
@@ -43,7 +43,7 @@ void RandomPCG::randomize() {
seed(((uint64_t)OS::get_singleton()->get_unix_time() + OS::get_singleton()->get_ticks_usec()) * pcg.state + PCG_DEFAULT_INC_64);
}
-int RandomPCG::rand_weighted(const Vector<float> &p_weights) {
+int64_t RandomPCG::rand_weighted(const Vector<float> &p_weights) {
ERR_FAIL_COND_V_MSG(p_weights.is_empty(), -1, "Weights array is empty.");
int64_t weights_size = p_weights.size();
const float *weights = p_weights.ptr();
diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h
index fa8ad3cfb3..fd0934b24a 100644
--- a/core/math/random_pcg.h
+++ b/core/math/random_pcg.h
@@ -90,7 +90,7 @@ public:
return pcg32_boundedrand_r(&pcg, bounds);
}
- int rand_weighted(const Vector<float> &p_weights);
+ int64_t rand_weighted(const Vector<float> &p_weights);
// Obtaining floating point numbers in [0, 1] range with "good enough" uniformity.
// These functions sample the output of rand() as the fraction part of an infinite binary number,
diff --git a/core/math/rect2.h b/core/math/rect2.h
index 5f403458fd..0f874d4857 100644
--- a/core/math/rect2.h
+++ b/core/math/rect2.h
@@ -51,7 +51,7 @@ struct _NO_DISCARD_ Rect2 {
_FORCE_INLINE_ Vector2 get_center() const { return position + (size * 0.5f); }
- inline bool intersects(const Rect2 &p_rect, const bool p_include_borders = false) const {
+ inline bool intersects(const Rect2 &p_rect, bool p_include_borders = false) const {
#ifdef MATH_CHECKS
if (unlikely(size.x < 0 || size.y < 0 || p_rect.size.x < 0 || p_rect.size.y < 0)) {
ERR_PRINT("Rect2 size is negative, this is not supported. Use Rect2.abs() to get a Rect2 with a positive size.");
diff --git a/core/math/transform_2d.cpp b/core/math/transform_2d.cpp
index a22d075b64..f6525fe5ca 100644
--- a/core/math/transform_2d.cpp
+++ b/core/math/transform_2d.cpp
@@ -65,7 +65,7 @@ Transform2D Transform2D::affine_inverse() const {
return inv;
}
-void Transform2D::rotate(const real_t p_angle) {
+void Transform2D::rotate(real_t p_angle) {
*this = Transform2D(p_angle, Vector2()) * (*this);
}
@@ -74,7 +74,7 @@ real_t Transform2D::get_skew() const {
return Math::acos(columns[0].normalized().dot(SIGN(det) * columns[1].normalized())) - (real_t)Math_PI * 0.5f;
}
-void Transform2D::set_skew(const real_t p_angle) {
+void Transform2D::set_skew(real_t p_angle) {
real_t det = determinant();
columns[1] = SIGN(det) * columns[0].rotated(((real_t)Math_PI * 0.5f + p_angle)).normalized() * columns[1].length();
}
@@ -83,7 +83,7 @@ real_t Transform2D::get_rotation() const {
return Math::atan2(columns[0].y, columns[0].x);
}
-void Transform2D::set_rotation(const real_t p_rot) {
+void Transform2D::set_rotation(real_t p_rot) {
Size2 scale = get_scale();
real_t cr = Math::cos(p_rot);
real_t sr = Math::sin(p_rot);
@@ -94,7 +94,7 @@ void Transform2D::set_rotation(const real_t p_rot) {
set_scale(scale);
}
-Transform2D::Transform2D(const real_t p_rot, const Vector2 &p_pos) {
+Transform2D::Transform2D(real_t p_rot, const Vector2 &p_pos) {
real_t cr = Math::cos(p_rot);
real_t sr = Math::sin(p_rot);
columns[0][0] = cr;
@@ -104,7 +104,7 @@ Transform2D::Transform2D(const real_t p_rot, const Vector2 &p_pos) {
columns[2] = p_pos;
}
-Transform2D::Transform2D(const real_t p_rot, const Size2 &p_scale, const real_t p_skew, const Vector2 &p_pos) {
+Transform2D::Transform2D(real_t p_rot, const Size2 &p_scale, real_t p_skew, const Vector2 &p_pos) {
columns[0][0] = Math::cos(p_rot) * p_scale.x;
columns[1][1] = Math::cos(p_rot + p_skew) * p_scale.y;
columns[1][0] = -Math::sin(p_rot + p_skew) * p_scale.y;
@@ -136,7 +136,7 @@ void Transform2D::scale_basis(const Size2 &p_scale) {
columns[1][1] *= p_scale.y;
}
-void Transform2D::translate_local(const real_t p_tx, const real_t p_ty) {
+void Transform2D::translate_local(real_t p_tx, real_t p_ty) {
translate_local(Vector2(p_tx, p_ty));
}
@@ -261,12 +261,12 @@ Transform2D Transform2D::translated_local(const Vector2 &p_offset) const {
return Transform2D(columns[0], columns[1], columns[2] + basis_xform(p_offset));
}
-Transform2D Transform2D::rotated(const real_t p_angle) const {
+Transform2D Transform2D::rotated(real_t p_angle) const {
// Equivalent to left multiplication
return Transform2D(p_angle, Vector2()) * (*this);
}
-Transform2D Transform2D::rotated_local(const real_t p_angle) const {
+Transform2D Transform2D::rotated_local(real_t p_angle) const {
// Equivalent to right multiplication
return (*this) * Transform2D(p_angle, Vector2()); // Could be optimized, because origin transform can be skipped.
}
@@ -275,7 +275,7 @@ real_t Transform2D::determinant() const {
return columns[0].x * columns[1].y - columns[0].y * columns[1].x;
}
-Transform2D Transform2D::interpolate_with(const Transform2D &p_transform, const real_t p_weight) const {
+Transform2D Transform2D::interpolate_with(const Transform2D &p_transform, real_t p_weight) const {
return Transform2D(
Math::lerp_angle(get_rotation(), p_transform.get_rotation(), p_weight),
get_scale().lerp(p_transform.get_scale(), p_weight),
@@ -283,25 +283,25 @@ Transform2D Transform2D::interpolate_with(const Transform2D &p_transform, const
get_origin().lerp(p_transform.get_origin(), p_weight));
}
-void Transform2D::operator*=(const real_t p_val) {
+void Transform2D::operator*=(real_t p_val) {
columns[0] *= p_val;
columns[1] *= p_val;
columns[2] *= p_val;
}
-Transform2D Transform2D::operator*(const real_t p_val) const {
+Transform2D Transform2D::operator*(real_t p_val) const {
Transform2D ret(*this);
ret *= p_val;
return ret;
}
-void Transform2D::operator/=(const real_t p_val) {
+void Transform2D::operator/=(real_t p_val) {
columns[0] /= p_val;
columns[1] /= p_val;
columns[2] /= p_val;
}
-Transform2D Transform2D::operator/(const real_t p_val) const {
+Transform2D Transform2D::operator/(real_t p_val) const {
Transform2D ret(*this);
ret /= p_val;
return ret;
diff --git a/core/math/transform_2d.h b/core/math/transform_2d.h
index 9ff925f66f..4ec2dc119c 100644
--- a/core/math/transform_2d.h
+++ b/core/math/transform_2d.h
@@ -52,8 +52,8 @@ struct _NO_DISCARD_ Transform2D {
Vector2 columns[3];
- _FORCE_INLINE_ real_t tdotx(const Vector2 &v) const { return columns[0][0] * v.x + columns[1][0] * v.y; }
- _FORCE_INLINE_ real_t tdoty(const Vector2 &v) const { return columns[0][1] * v.x + columns[1][1] * v.y; }
+ _FORCE_INLINE_ real_t tdotx(const Vector2 &p_v) const { return columns[0][0] * p_v.x + columns[1][0] * p_v.y; }
+ _FORCE_INLINE_ real_t tdoty(const Vector2 &p_v) const { return columns[0][1] * p_v.x + columns[1][1] * p_v.y; }
const Vector2 &operator[](int p_idx) const { return columns[p_idx]; }
Vector2 &operator[](int p_idx) { return columns[p_idx]; }
@@ -64,17 +64,17 @@ struct _NO_DISCARD_ Transform2D {
void affine_invert();
Transform2D affine_inverse() const;
- void set_rotation(const real_t p_rot);
+ void set_rotation(real_t p_rot);
real_t get_rotation() const;
real_t get_skew() const;
- void set_skew(const real_t p_angle);
- _FORCE_INLINE_ void set_rotation_and_scale(const real_t p_rot, const Size2 &p_scale);
- _FORCE_INLINE_ void set_rotation_scale_and_skew(const real_t p_rot, const Size2 &p_scale, const real_t p_skew);
- void rotate(const real_t p_angle);
+ void set_skew(real_t p_angle);
+ _FORCE_INLINE_ void set_rotation_and_scale(real_t p_rot, const Size2 &p_scale);
+ _FORCE_INLINE_ void set_rotation_scale_and_skew(real_t p_rot, const Size2 &p_scale, real_t p_skew);
+ void rotate(real_t p_angle);
void scale(const Size2 &p_scale);
void scale_basis(const Size2 &p_scale);
- void translate_local(const real_t p_tx, const real_t p_ty);
+ void translate_local(real_t p_tx, real_t p_ty);
void translate_local(const Vector2 &p_translation);
real_t determinant() const;
@@ -89,8 +89,8 @@ struct _NO_DISCARD_ Transform2D {
Transform2D scaled_local(const Size2 &p_scale) const;
Transform2D translated(const Vector2 &p_offset) const;
Transform2D translated_local(const Vector2 &p_offset) const;
- Transform2D rotated(const real_t p_angle) const;
- Transform2D rotated_local(const real_t p_angle) const;
+ Transform2D rotated(real_t p_angle) const;
+ Transform2D rotated_local(real_t p_angle) const;
Transform2D untranslated() const;
@@ -107,12 +107,12 @@ struct _NO_DISCARD_ Transform2D {
void operator*=(const Transform2D &p_transform);
Transform2D operator*(const Transform2D &p_transform) const;
- void operator*=(const real_t p_val);
- Transform2D operator*(const real_t p_val) const;
- void operator/=(const real_t p_val);
- Transform2D operator/(const real_t p_val) const;
+ void operator*=(real_t p_val);
+ Transform2D operator*(real_t p_val) const;
+ void operator/=(real_t p_val);
+ Transform2D operator/(real_t p_val) const;
- Transform2D interpolate_with(const Transform2D &p_transform, const real_t p_c) const;
+ Transform2D interpolate_with(const Transform2D &p_transform, real_t p_c) const;
_FORCE_INLINE_ Vector2 basis_xform(const Vector2 &p_vec) const;
_FORCE_INLINE_ Vector2 basis_xform_inv(const Vector2 &p_vec) const;
@@ -125,13 +125,13 @@ struct _NO_DISCARD_ Transform2D {
operator String() const;
- Transform2D(const real_t xx, const real_t xy, const real_t yx, const real_t yy, const real_t ox, const real_t oy) {
- columns[0][0] = xx;
- columns[0][1] = xy;
- columns[1][0] = yx;
- columns[1][1] = yy;
- columns[2][0] = ox;
- columns[2][1] = oy;
+ Transform2D(real_t p_xx, real_t p_xy, real_t p_yx, real_t p_yy, real_t p_ox, real_t p_oy) {
+ columns[0][0] = p_xx;
+ columns[0][1] = p_xy;
+ columns[1][0] = p_yx;
+ columns[1][1] = p_yy;
+ columns[2][0] = p_ox;
+ columns[2][1] = p_oy;
}
Transform2D(const Vector2 &p_x, const Vector2 &p_y, const Vector2 &p_origin) {
@@ -140,9 +140,9 @@ struct _NO_DISCARD_ Transform2D {
columns[2] = p_origin;
}
- Transform2D(const real_t p_rot, const Vector2 &p_pos);
+ Transform2D(real_t p_rot, const Vector2 &p_pos);
- Transform2D(const real_t p_rot, const Size2 &p_scale, const real_t p_skew, const Vector2 &p_pos);
+ Transform2D(real_t p_rot, const Size2 &p_scale, real_t p_skew, const Vector2 &p_pos);
Transform2D() {
columns[0][0] = 1.0;
@@ -190,14 +190,14 @@ Rect2 Transform2D::xform(const Rect2 &p_rect) const {
return new_rect;
}
-void Transform2D::set_rotation_and_scale(const real_t p_rot, const Size2 &p_scale) {
+void Transform2D::set_rotation_and_scale(real_t p_rot, const Size2 &p_scale) {
columns[0][0] = Math::cos(p_rot) * p_scale.x;
columns[1][1] = Math::cos(p_rot) * p_scale.y;
columns[1][0] = -Math::sin(p_rot) * p_scale.y;
columns[0][1] = Math::sin(p_rot) * p_scale.x;
}
-void Transform2D::set_rotation_scale_and_skew(const real_t p_rot, const Size2 &p_scale, const real_t p_skew) {
+void Transform2D::set_rotation_scale_and_skew(real_t p_rot, const Size2 &p_scale, real_t p_skew) {
columns[0][0] = Math::cos(p_rot) * p_scale.x;
columns[1][1] = Math::cos(p_rot + p_skew) * p_scale.y;
columns[1][0] = -Math::sin(p_rot + p_skew) * p_scale.y;
diff --git a/core/math/transform_3d.cpp b/core/math/transform_3d.cpp
index 20713349d7..2c91a7604b 100644
--- a/core/math/transform_3d.cpp
+++ b/core/math/transform_3d.cpp
@@ -197,23 +197,23 @@ Transform3D Transform3D::operator*(const Transform3D &p_transform) const {
return t;
}
-void Transform3D::operator*=(const real_t p_val) {
+void Transform3D::operator*=(real_t p_val) {
origin *= p_val;
basis *= p_val;
}
-Transform3D Transform3D::operator*(const real_t p_val) const {
+Transform3D Transform3D::operator*(real_t p_val) const {
Transform3D ret(*this);
ret *= p_val;
return ret;
}
-void Transform3D::operator/=(const real_t p_val) {
+void Transform3D::operator/=(real_t p_val) {
basis /= p_val;
origin /= p_val;
}
-Transform3D Transform3D::operator/(const real_t p_val) const {
+Transform3D Transform3D::operator/(real_t p_val) const {
Transform3D ret(*this);
ret /= p_val;
return ret;
@@ -238,7 +238,7 @@ Transform3D::Transform3D(const Vector3 &p_x, const Vector3 &p_y, const Vector3 &
basis.set_column(2, p_z);
}
-Transform3D::Transform3D(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz, real_t ox, real_t oy, real_t oz) {
- basis = Basis(xx, xy, xz, yx, yy, yz, zx, zy, zz);
- origin = Vector3(ox, oy, oz);
+Transform3D::Transform3D(real_t p_xx, real_t p_xy, real_t p_xz, real_t p_yx, real_t p_yy, real_t p_yz, real_t p_zx, real_t p_zy, real_t p_zz, real_t p_ox, real_t p_oy, real_t p_oz) {
+ basis = Basis(p_xx, p_xy, p_xz, p_yx, p_yy, p_yz, p_zx, p_zy, p_zz);
+ origin = Vector3(p_ox, p_oy, p_oz);
}
diff --git a/core/math/transform_3d.h b/core/math/transform_3d.h
index d1ec34d53f..7d89b86c75 100644
--- a/core/math/transform_3d.h
+++ b/core/math/transform_3d.h
@@ -102,10 +102,10 @@ struct _NO_DISCARD_ Transform3D {
void operator*=(const Transform3D &p_transform);
Transform3D operator*(const Transform3D &p_transform) const;
- void operator*=(const real_t p_val);
- Transform3D operator*(const real_t p_val) const;
- void operator/=(const real_t p_val);
- Transform3D operator/(const real_t p_val) const;
+ void operator*=(real_t p_val);
+ Transform3D operator*(real_t p_val) const;
+ void operator/=(real_t p_val);
+ Transform3D operator/(real_t p_val) const;
Transform3D interpolate_with(const Transform3D &p_transform, real_t p_c) const;
@@ -115,11 +115,11 @@ struct _NO_DISCARD_ Transform3D {
basis.xform(v));
}
- void set(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz, real_t tx, real_t ty, real_t tz) {
- basis.set(xx, xy, xz, yx, yy, yz, zx, zy, zz);
- origin.x = tx;
- origin.y = ty;
- origin.z = tz;
+ void set(real_t p_xx, real_t p_xy, real_t p_xz, real_t p_yx, real_t p_yy, real_t p_yz, real_t p_zx, real_t p_zy, real_t p_zz, real_t p_tx, real_t p_ty, real_t p_tz) {
+ basis.set(p_xx, p_xy, p_xz, p_yx, p_yy, p_yz, p_zx, p_zy, p_zz);
+ origin.x = p_tx;
+ origin.y = p_ty;
+ origin.z = p_tz;
}
operator String() const;
@@ -127,7 +127,7 @@ struct _NO_DISCARD_ Transform3D {
Transform3D() {}
Transform3D(const Basis &p_basis, const Vector3 &p_origin = Vector3());
Transform3D(const Vector3 &p_x, const Vector3 &p_y, const Vector3 &p_z, const Vector3 &p_origin);
- Transform3D(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz, real_t ox, real_t oy, real_t oz);
+ Transform3D(real_t p_xx, real_t p_xy, real_t p_xz, real_t p_yx, real_t p_yy, real_t p_yz, real_t p_zx, real_t p_zy, real_t p_zz, real_t p_ox, real_t p_oy, real_t p_oz);
};
_FORCE_INLINE_ Vector3 Transform3D::xform(const Vector3 &p_vector) const {
diff --git a/core/math/vector2.cpp b/core/math/vector2.cpp
index 74631d3e29..198fd85d20 100644
--- a/core/math/vector2.cpp
+++ b/core/math/vector2.cpp
@@ -37,7 +37,7 @@ real_t Vector2::angle() const {
return Math::atan2(y, x);
}
-Vector2 Vector2::from_angle(const real_t p_angle) {
+Vector2 Vector2::from_angle(real_t p_angle) {
return Vector2(Math::cos(p_angle), Math::sin(p_angle));
}
@@ -109,7 +109,7 @@ Vector2 Vector2::round() const {
return Vector2(Math::round(x), Math::round(y));
}
-Vector2 Vector2::rotated(const real_t p_by) const {
+Vector2 Vector2::rotated(real_t p_by) const {
real_t sine = Math::sin(p_by);
real_t cosi = Math::cos(p_by);
return Vector2(
@@ -117,7 +117,7 @@ Vector2 Vector2::rotated(const real_t p_by) const {
x * sine + y * cosi);
}
-Vector2 Vector2::posmod(const real_t p_mod) const {
+Vector2 Vector2::posmod(real_t p_mod) const {
return Vector2(Math::fposmod(x, p_mod), Math::fposmod(y, p_mod));
}
@@ -141,7 +141,7 @@ Vector2 Vector2::snapped(const Vector2 &p_step) const {
Math::snapped(y, p_step.y));
}
-Vector2 Vector2::limit_length(const real_t p_len) const {
+Vector2 Vector2::limit_length(real_t p_len) const {
const real_t l = length();
Vector2 v = *this;
if (l > 0 && p_len < l) {
@@ -152,7 +152,7 @@ Vector2 Vector2::limit_length(const real_t p_len) const {
return v;
}
-Vector2 Vector2::move_toward(const Vector2 &p_to, const real_t p_delta) const {
+Vector2 Vector2::move_toward(const Vector2 &p_to, real_t p_delta) const {
Vector2 v = *this;
Vector2 vd = p_to - v;
real_t len = vd.length();
diff --git a/core/math/vector2.h b/core/math/vector2.h
index b9d7709acd..6ad003edd1 100644
--- a/core/math/vector2.h
+++ b/core/math/vector2.h
@@ -60,13 +60,13 @@ struct _NO_DISCARD_ Vector2 {
real_t coord[2] = { 0 };
};
- _FORCE_INLINE_ real_t &operator[](int p_idx) {
- DEV_ASSERT((unsigned int)p_idx < 2);
- return coord[p_idx];
+ _FORCE_INLINE_ real_t &operator[](int p_axis) {
+ DEV_ASSERT((unsigned int)p_axis < 2);
+ return coord[p_axis];
}
- _FORCE_INLINE_ const real_t &operator[](int p_idx) const {
- DEV_ASSERT((unsigned int)p_idx < 2);
- return coord[p_idx];
+ _FORCE_INLINE_ const real_t &operator[](int p_axis) const {
+ DEV_ASSERT((unsigned int)p_axis < 2);
+ return coord[p_axis];
}
_FORCE_INLINE_ Vector2::Axis min_axis_index() const {
@@ -83,7 +83,7 @@ struct _NO_DISCARD_ Vector2 {
real_t length() const;
real_t length_squared() const;
- Vector2 limit_length(const real_t p_len = 1.0) const;
+ Vector2 limit_length(real_t p_len = 1.0) const;
Vector2 min(const Vector2 &p_vector2) const {
return Vector2(MIN(x, p_vector2.x), MIN(y, p_vector2.y));
@@ -101,20 +101,20 @@ struct _NO_DISCARD_ Vector2 {
real_t dot(const Vector2 &p_other) const;
real_t cross(const Vector2 &p_other) const;
- Vector2 posmod(const real_t p_mod) const;
+ Vector2 posmod(real_t p_mod) const;
Vector2 posmodv(const Vector2 &p_modv) const;
Vector2 project(const Vector2 &p_to) const;
- Vector2 plane_project(const real_t p_d, const Vector2 &p_vec) const;
+ Vector2 plane_project(real_t p_d, const Vector2 &p_vec) const;
- _FORCE_INLINE_ Vector2 lerp(const Vector2 &p_to, const real_t p_weight) const;
- _FORCE_INLINE_ Vector2 slerp(const Vector2 &p_to, const real_t p_weight) const;
- _FORCE_INLINE_ Vector2 cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, const real_t p_weight) const;
- _FORCE_INLINE_ Vector2 cubic_interpolate_in_time(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const;
- _FORCE_INLINE_ Vector2 bezier_interpolate(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, const real_t p_t) const;
- _FORCE_INLINE_ Vector2 bezier_derivative(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, const real_t p_t) const;
+ _FORCE_INLINE_ Vector2 lerp(const Vector2 &p_to, real_t p_weight) const;
+ _FORCE_INLINE_ Vector2 slerp(const Vector2 &p_to, real_t p_weight) const;
+ _FORCE_INLINE_ Vector2 cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, real_t p_weight) const;
+ _FORCE_INLINE_ Vector2 cubic_interpolate_in_time(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const;
+ _FORCE_INLINE_ Vector2 bezier_interpolate(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, real_t p_t) const;
+ _FORCE_INLINE_ Vector2 bezier_derivative(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, real_t p_t) const;
- Vector2 move_toward(const Vector2 &p_to, const real_t p_delta) const;
+ Vector2 move_toward(const Vector2 &p_to, real_t p_delta) const;
Vector2 slide(const Vector2 &p_normal) const;
Vector2 bounce(const Vector2 &p_normal) const;
@@ -130,16 +130,16 @@ struct _NO_DISCARD_ Vector2 {
void operator-=(const Vector2 &p_v);
Vector2 operator*(const Vector2 &p_v1) const;
- Vector2 operator*(const real_t &rvalue) const;
- void operator*=(const real_t &rvalue);
- void operator*=(const Vector2 &rvalue) { *this = *this * rvalue; }
+ Vector2 operator*(real_t p_rvalue) const;
+ void operator*=(real_t p_rvalue);
+ void operator*=(const Vector2 &p_rvalue) { *this = *this * p_rvalue; }
Vector2 operator/(const Vector2 &p_v1) const;
- Vector2 operator/(const real_t &rvalue) const;
+ Vector2 operator/(real_t p_rvalue) const;
- void operator/=(const real_t &rvalue);
- void operator/=(const Vector2 &rvalue) { *this = *this / rvalue; }
+ void operator/=(real_t p_rvalue);
+ void operator/=(const Vector2 &p_rvalue) { *this = *this / p_rvalue; }
Vector2 operator-() const;
@@ -152,13 +152,13 @@ struct _NO_DISCARD_ Vector2 {
bool operator>=(const Vector2 &p_vec2) const { return x == p_vec2.x ? (y >= p_vec2.y) : (x > p_vec2.x); }
real_t angle() const;
- static Vector2 from_angle(const real_t p_angle);
+ static Vector2 from_angle(real_t p_angle);
_FORCE_INLINE_ Vector2 abs() const {
return Vector2(Math::abs(x), Math::abs(y));
}
- Vector2 rotated(const real_t p_by) const;
+ Vector2 rotated(real_t p_by) const;
Vector2 orthogonal() const {
return Vector2(y, -x);
}
@@ -175,13 +175,13 @@ struct _NO_DISCARD_ Vector2 {
operator Vector2i() const;
_FORCE_INLINE_ Vector2() {}
- _FORCE_INLINE_ Vector2(const real_t p_x, const real_t p_y) {
+ _FORCE_INLINE_ Vector2(real_t p_x, real_t p_y) {
x = p_x;
y = p_y;
}
};
-_FORCE_INLINE_ Vector2 Vector2::plane_project(const real_t p_d, const Vector2 &p_vec) const {
+_FORCE_INLINE_ Vector2 Vector2::plane_project(real_t p_d, const Vector2 &p_vec) const {
return p_vec - *this * (dot(p_vec) - p_d);
}
@@ -207,26 +207,26 @@ _FORCE_INLINE_ Vector2 Vector2::operator*(const Vector2 &p_v1) const {
return Vector2(x * p_v1.x, y * p_v1.y);
}
-_FORCE_INLINE_ Vector2 Vector2::operator*(const real_t &rvalue) const {
- return Vector2(x * rvalue, y * rvalue);
+_FORCE_INLINE_ Vector2 Vector2::operator*(real_t p_rvalue) const {
+ return Vector2(x * p_rvalue, y * p_rvalue);
}
-_FORCE_INLINE_ void Vector2::operator*=(const real_t &rvalue) {
- x *= rvalue;
- y *= rvalue;
+_FORCE_INLINE_ void Vector2::operator*=(real_t p_rvalue) {
+ x *= p_rvalue;
+ y *= p_rvalue;
}
_FORCE_INLINE_ Vector2 Vector2::operator/(const Vector2 &p_v1) const {
return Vector2(x / p_v1.x, y / p_v1.y);
}
-_FORCE_INLINE_ Vector2 Vector2::operator/(const real_t &rvalue) const {
- return Vector2(x / rvalue, y / rvalue);
+_FORCE_INLINE_ Vector2 Vector2::operator/(real_t p_rvalue) const {
+ return Vector2(x / p_rvalue, y / p_rvalue);
}
-_FORCE_INLINE_ void Vector2::operator/=(const real_t &rvalue) {
- x /= rvalue;
- y /= rvalue;
+_FORCE_INLINE_ void Vector2::operator/=(real_t p_rvalue) {
+ x /= p_rvalue;
+ y /= p_rvalue;
}
_FORCE_INLINE_ Vector2 Vector2::operator-() const {
@@ -241,14 +241,14 @@ _FORCE_INLINE_ bool Vector2::operator!=(const Vector2 &p_vec2) const {
return x != p_vec2.x || y != p_vec2.y;
}
-Vector2 Vector2::lerp(const Vector2 &p_to, const real_t p_weight) const {
+Vector2 Vector2::lerp(const Vector2 &p_to, real_t p_weight) const {
Vector2 res = *this;
res.x = Math::lerp(res.x, p_to.x, p_weight);
res.y = Math::lerp(res.y, p_to.y, p_weight);
return res;
}
-Vector2 Vector2::slerp(const Vector2 &p_to, const real_t p_weight) const {
+Vector2 Vector2::slerp(const Vector2 &p_to, real_t p_weight) const {
real_t start_length_sq = length_squared();
real_t end_length_sq = p_to.length_squared();
if (unlikely(start_length_sq == 0.0f || end_length_sq == 0.0f)) {
@@ -261,28 +261,28 @@ Vector2 Vector2::slerp(const Vector2 &p_to, const real_t p_weight) const {
return rotated(angle * p_weight) * (result_length / start_length);
}
-Vector2 Vector2::cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, const real_t p_weight) const {
+Vector2 Vector2::cubic_interpolate(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, real_t p_weight) const {
Vector2 res = *this;
res.x = Math::cubic_interpolate(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight);
res.y = Math::cubic_interpolate(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight);
return res;
}
-Vector2 Vector2::cubic_interpolate_in_time(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const {
+Vector2 Vector2::cubic_interpolate_in_time(const Vector2 &p_b, const Vector2 &p_pre_a, const Vector2 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const {
Vector2 res = *this;
res.x = Math::cubic_interpolate_in_time(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
res.y = Math::cubic_interpolate_in_time(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
return res;
}
-Vector2 Vector2::bezier_interpolate(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, const real_t p_t) const {
+Vector2 Vector2::bezier_interpolate(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, real_t p_t) const {
Vector2 res = *this;
res.x = Math::bezier_interpolate(res.x, p_control_1.x, p_control_2.x, p_end.x, p_t);
res.y = Math::bezier_interpolate(res.y, p_control_1.y, p_control_2.y, p_end.y, p_t);
return res;
}
-Vector2 Vector2::bezier_derivative(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, const real_t p_t) const {
+Vector2 Vector2::bezier_derivative(const Vector2 &p_control_1, const Vector2 &p_control_2, const Vector2 &p_end, real_t p_t) const {
Vector2 res = *this;
res.x = Math::bezier_derivative(res.x, p_control_1.x, p_control_2.x, p_end.x, p_t);
res.y = Math::bezier_derivative(res.y, p_control_1.y, p_control_2.y, p_end.y, p_t);
@@ -298,19 +298,19 @@ Vector2 Vector2::direction_to(const Vector2 &p_to) const {
// Multiplication operators required to workaround issues with LLVM using implicit conversion
// to Vector2i instead for integers where it should not.
-_FORCE_INLINE_ Vector2 operator*(const float p_scalar, const Vector2 &p_vec) {
+_FORCE_INLINE_ Vector2 operator*(float p_scalar, const Vector2 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector2 operator*(const double p_scalar, const Vector2 &p_vec) {
+_FORCE_INLINE_ Vector2 operator*(double p_scalar, const Vector2 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector2 operator*(const int32_t p_scalar, const Vector2 &p_vec) {
+_FORCE_INLINE_ Vector2 operator*(int32_t p_scalar, const Vector2 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector2 operator*(const int64_t p_scalar, const Vector2 &p_vec) {
+_FORCE_INLINE_ Vector2 operator*(int64_t p_scalar, const Vector2 &p_vec) {
return p_vec * p_scalar;
}
diff --git a/core/math/vector2i.cpp b/core/math/vector2i.cpp
index 9c7da668ff..ba79d439dd 100644
--- a/core/math/vector2i.cpp
+++ b/core/math/vector2i.cpp
@@ -75,39 +75,39 @@ Vector2i Vector2i::operator*(const Vector2i &p_v1) const {
return Vector2i(x * p_v1.x, y * p_v1.y);
}
-Vector2i Vector2i::operator*(const int32_t &rvalue) const {
- return Vector2i(x * rvalue, y * rvalue);
+Vector2i Vector2i::operator*(int32_t p_rvalue) const {
+ return Vector2i(x * p_rvalue, y * p_rvalue);
}
-void Vector2i::operator*=(const int32_t &rvalue) {
- x *= rvalue;
- y *= rvalue;
+void Vector2i::operator*=(int32_t p_rvalue) {
+ x *= p_rvalue;
+ y *= p_rvalue;
}
Vector2i Vector2i::operator/(const Vector2i &p_v1) const {
return Vector2i(x / p_v1.x, y / p_v1.y);
}
-Vector2i Vector2i::operator/(const int32_t &rvalue) const {
- return Vector2i(x / rvalue, y / rvalue);
+Vector2i Vector2i::operator/(int32_t p_rvalue) const {
+ return Vector2i(x / p_rvalue, y / p_rvalue);
}
-void Vector2i::operator/=(const int32_t &rvalue) {
- x /= rvalue;
- y /= rvalue;
+void Vector2i::operator/=(int32_t p_rvalue) {
+ x /= p_rvalue;
+ y /= p_rvalue;
}
Vector2i Vector2i::operator%(const Vector2i &p_v1) const {
return Vector2i(x % p_v1.x, y % p_v1.y);
}
-Vector2i Vector2i::operator%(const int32_t &rvalue) const {
- return Vector2i(x % rvalue, y % rvalue);
+Vector2i Vector2i::operator%(int32_t p_rvalue) const {
+ return Vector2i(x % p_rvalue, y % p_rvalue);
}
-void Vector2i::operator%=(const int32_t &rvalue) {
- x %= rvalue;
- y %= rvalue;
+void Vector2i::operator%=(int32_t p_rvalue) {
+ x %= p_rvalue;
+ y %= p_rvalue;
}
Vector2i Vector2i::operator-() const {
diff --git a/core/math/vector2i.h b/core/math/vector2i.h
index b2c75beb4d..aa29263a65 100644
--- a/core/math/vector2i.h
+++ b/core/math/vector2i.h
@@ -60,13 +60,13 @@ struct _NO_DISCARD_ Vector2i {
int32_t coord[2] = { 0 };
};
- _FORCE_INLINE_ int32_t &operator[](int p_idx) {
- DEV_ASSERT((unsigned int)p_idx < 2);
- return coord[p_idx];
+ _FORCE_INLINE_ int32_t &operator[](int p_axis) {
+ DEV_ASSERT((unsigned int)p_axis < 2);
+ return coord[p_axis];
}
- _FORCE_INLINE_ const int32_t &operator[](int p_idx) const {
- DEV_ASSERT((unsigned int)p_idx < 2);
- return coord[p_idx];
+ _FORCE_INLINE_ const int32_t &operator[](int p_axis) const {
+ DEV_ASSERT((unsigned int)p_axis < 2);
+ return coord[p_axis];
}
_FORCE_INLINE_ Vector2i::Axis min_axis_index() const {
@@ -99,16 +99,16 @@ struct _NO_DISCARD_ Vector2i {
void operator-=(const Vector2i &p_v);
Vector2i operator*(const Vector2i &p_v1) const;
- Vector2i operator*(const int32_t &rvalue) const;
- void operator*=(const int32_t &rvalue);
+ Vector2i operator*(int32_t p_rvalue) const;
+ void operator*=(int32_t p_rvalue);
Vector2i operator/(const Vector2i &p_v1) const;
- Vector2i operator/(const int32_t &rvalue) const;
- void operator/=(const int32_t &rvalue);
+ Vector2i operator/(int32_t p_rvalue) const;
+ void operator/=(int32_t p_rvalue);
Vector2i operator%(const Vector2i &p_v1) const;
- Vector2i operator%(const int32_t &rvalue) const;
- void operator%=(const int32_t &rvalue);
+ Vector2i operator%(int32_t p_rvalue) const;
+ void operator%=(int32_t p_rvalue);
Vector2i operator-() const;
bool operator<(const Vector2i &p_vec2) const { return (x == p_vec2.x) ? (y < p_vec2.y) : (x < p_vec2.x); }
@@ -133,7 +133,7 @@ struct _NO_DISCARD_ Vector2i {
operator Vector2() const;
inline Vector2i() {}
- inline Vector2i(const int32_t p_x, const int32_t p_y) {
+ inline Vector2i(int32_t p_x, int32_t p_y) {
x = p_x;
y = p_y;
}
@@ -141,19 +141,19 @@ struct _NO_DISCARD_ Vector2i {
// Multiplication operators required to workaround issues with LLVM using implicit conversion.
-_FORCE_INLINE_ Vector2i operator*(const int32_t p_scalar, const Vector2i &p_vector) {
+_FORCE_INLINE_ Vector2i operator*(int32_t p_scalar, const Vector2i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector2i operator*(const int64_t p_scalar, const Vector2i &p_vector) {
+_FORCE_INLINE_ Vector2i operator*(int64_t p_scalar, const Vector2i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector2i operator*(const float p_scalar, const Vector2i &p_vector) {
+_FORCE_INLINE_ Vector2i operator*(float p_scalar, const Vector2i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector2i operator*(const double p_scalar, const Vector2i &p_vector) {
+_FORCE_INLINE_ Vector2i operator*(double p_scalar, const Vector2i &p_vector) {
return p_vector * p_scalar;
}
diff --git a/core/math/vector3.cpp b/core/math/vector3.cpp
index c483d659a3..be494705ff 100644
--- a/core/math/vector3.cpp
+++ b/core/math/vector3.cpp
@@ -35,11 +35,11 @@
#include "core/math/vector3i.h"
#include "core/string/ustring.h"
-void Vector3::rotate(const Vector3 &p_axis, const real_t p_angle) {
+void Vector3::rotate(const Vector3 &p_axis, real_t p_angle) {
*this = Basis(p_axis, p_angle).xform(*this);
}
-Vector3 Vector3::rotated(const Vector3 &p_axis, const real_t p_angle) const {
+Vector3 Vector3::rotated(const Vector3 &p_axis, real_t p_angle) const {
Vector3 r = *this;
r.rotate(p_axis, p_angle);
return r;
@@ -52,19 +52,19 @@ Vector3 Vector3::clamp(const Vector3 &p_min, const Vector3 &p_max) const {
CLAMP(z, p_min.z, p_max.z));
}
-void Vector3::snap(const Vector3 p_step) {
+void Vector3::snap(const Vector3 &p_step) {
x = Math::snapped(x, p_step.x);
y = Math::snapped(y, p_step.y);
z = Math::snapped(z, p_step.z);
}
-Vector3 Vector3::snapped(const Vector3 p_step) const {
+Vector3 Vector3::snapped(const Vector3 &p_step) const {
Vector3 v = *this;
v.snap(p_step);
return v;
}
-Vector3 Vector3::limit_length(const real_t p_len) const {
+Vector3 Vector3::limit_length(real_t p_len) const {
const real_t l = length();
Vector3 v = *this;
if (l > 0 && p_len < l) {
@@ -75,7 +75,7 @@ Vector3 Vector3::limit_length(const real_t p_len) const {
return v;
}
-Vector3 Vector3::move_toward(const Vector3 &p_to, const real_t p_delta) const {
+Vector3 Vector3::move_toward(const Vector3 &p_to, real_t p_delta) const {
Vector3 v = *this;
Vector3 vd = p_to - v;
real_t len = vd.length();
@@ -107,19 +107,19 @@ Vector3 Vector3::octahedron_decode(const Vector2 &p_oct) {
return n.normalized();
}
-Vector2 Vector3::octahedron_tangent_encode(const float sign) const {
+Vector2 Vector3::octahedron_tangent_encode(float p_sign) const {
const float bias = 1.0f / 32767.0f;
Vector2 res = octahedron_encode();
res.y = MAX(res.y, bias);
res.y = res.y * 0.5f + 0.5f;
- res.y = sign >= 0.0f ? res.y : 1 - res.y;
+ res.y = p_sign >= 0.0f ? res.y : 1 - res.y;
return res;
}
-Vector3 Vector3::octahedron_tangent_decode(const Vector2 &p_oct, float *sign) {
+Vector3 Vector3::octahedron_tangent_decode(const Vector2 &p_oct, float *r_sign) {
Vector2 oct_compressed = p_oct;
oct_compressed.y = oct_compressed.y * 2 - 1;
- *sign = oct_compressed.y >= 0.0f ? 1.0f : -1.0f;
+ *r_sign = oct_compressed.y >= 0.0f ? 1.0f : -1.0f;
oct_compressed.y = Math::abs(oct_compressed.y);
Vector3 res = Vector3::octahedron_decode(oct_compressed);
return res;
diff --git a/core/math/vector3.h b/core/math/vector3.h
index 5d4e2c7d87..f5d16984d9 100644
--- a/core/math/vector3.h
+++ b/core/math/vector3.h
@@ -58,12 +58,12 @@ struct _NO_DISCARD_ Vector3 {
real_t coord[3] = { 0 };
};
- _FORCE_INLINE_ const real_t &operator[](const int p_axis) const {
+ _FORCE_INLINE_ const real_t &operator[](int p_axis) const {
DEV_ASSERT((unsigned int)p_axis < 3);
return coord[p_axis];
}
- _FORCE_INLINE_ real_t &operator[](const int p_axis) {
+ _FORCE_INLINE_ real_t &operator[](int p_axis) {
DEV_ASSERT((unsigned int)p_axis < 3);
return coord[p_axis];
}
@@ -91,31 +91,31 @@ struct _NO_DISCARD_ Vector3 {
_FORCE_INLINE_ Vector3 normalized() const;
_FORCE_INLINE_ bool is_normalized() const;
_FORCE_INLINE_ Vector3 inverse() const;
- Vector3 limit_length(const real_t p_len = 1.0) const;
+ Vector3 limit_length(real_t p_len = 1.0) const;
_FORCE_INLINE_ void zero();
- void snap(const Vector3 p_val);
- Vector3 snapped(const Vector3 p_val) const;
+ void snap(const Vector3 &p_step);
+ Vector3 snapped(const Vector3 &p_step) const;
- void rotate(const Vector3 &p_axis, const real_t p_angle);
- Vector3 rotated(const Vector3 &p_axis, const real_t p_angle) const;
+ void rotate(const Vector3 &p_axis, real_t p_angle);
+ Vector3 rotated(const Vector3 &p_axis, real_t p_angle) const;
/* Static Methods between 2 vector3s */
- _FORCE_INLINE_ Vector3 lerp(const Vector3 &p_to, const real_t p_weight) const;
- _FORCE_INLINE_ Vector3 slerp(const Vector3 &p_to, const real_t p_weight) const;
- _FORCE_INLINE_ Vector3 cubic_interpolate(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, const real_t p_weight) const;
- _FORCE_INLINE_ Vector3 cubic_interpolate_in_time(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const;
- _FORCE_INLINE_ Vector3 bezier_interpolate(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, const real_t p_t) const;
- _FORCE_INLINE_ Vector3 bezier_derivative(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, const real_t p_t) const;
+ _FORCE_INLINE_ Vector3 lerp(const Vector3 &p_to, real_t p_weight) const;
+ _FORCE_INLINE_ Vector3 slerp(const Vector3 &p_to, real_t p_weight) const;
+ _FORCE_INLINE_ Vector3 cubic_interpolate(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, real_t p_weight) const;
+ _FORCE_INLINE_ Vector3 cubic_interpolate_in_time(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const;
+ _FORCE_INLINE_ Vector3 bezier_interpolate(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, real_t p_t) const;
+ _FORCE_INLINE_ Vector3 bezier_derivative(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, real_t p_t) const;
- Vector3 move_toward(const Vector3 &p_to, const real_t p_delta) const;
+ Vector3 move_toward(const Vector3 &p_to, real_t p_delta) const;
Vector2 octahedron_encode() const;
static Vector3 octahedron_decode(const Vector2 &p_oct);
- Vector2 octahedron_tangent_encode(const float sign) const;
- static Vector3 octahedron_tangent_decode(const Vector2 &p_oct, float *sign);
+ Vector2 octahedron_tangent_encode(float p_sign) const;
+ static Vector3 octahedron_tangent_decode(const Vector2 &p_oct, float *r_sign);
_FORCE_INLINE_ Vector3 cross(const Vector3 &p_with) const;
_FORCE_INLINE_ real_t dot(const Vector3 &p_with) const;
@@ -131,7 +131,7 @@ struct _NO_DISCARD_ Vector3 {
_FORCE_INLINE_ real_t distance_to(const Vector3 &p_to) const;
_FORCE_INLINE_ real_t distance_squared_to(const Vector3 &p_to) const;
- _FORCE_INLINE_ Vector3 posmod(const real_t p_mod) const;
+ _FORCE_INLINE_ Vector3 posmod(real_t p_mod) const;
_FORCE_INLINE_ Vector3 posmodv(const Vector3 &p_modv) const;
_FORCE_INLINE_ Vector3 project(const Vector3 &p_to) const;
@@ -158,10 +158,10 @@ struct _NO_DISCARD_ Vector3 {
_FORCE_INLINE_ Vector3 &operator/=(const Vector3 &p_v);
_FORCE_INLINE_ Vector3 operator/(const Vector3 &p_v) const;
- _FORCE_INLINE_ Vector3 &operator*=(const real_t p_scalar);
- _FORCE_INLINE_ Vector3 operator*(const real_t p_scalar) const;
- _FORCE_INLINE_ Vector3 &operator/=(const real_t p_scalar);
- _FORCE_INLINE_ Vector3 operator/(const real_t p_scalar) const;
+ _FORCE_INLINE_ Vector3 &operator*=(real_t p_scalar);
+ _FORCE_INLINE_ Vector3 operator*(real_t p_scalar) const;
+ _FORCE_INLINE_ Vector3 &operator/=(real_t p_scalar);
+ _FORCE_INLINE_ Vector3 operator/(real_t p_scalar) const;
_FORCE_INLINE_ Vector3 operator-() const;
@@ -176,7 +176,7 @@ struct _NO_DISCARD_ Vector3 {
operator Vector3i() const;
_FORCE_INLINE_ Vector3() {}
- _FORCE_INLINE_ Vector3(const real_t p_x, const real_t p_y, const real_t p_z) {
+ _FORCE_INLINE_ Vector3(real_t p_x, real_t p_y, real_t p_z) {
x = p_x;
y = p_y;
z = p_z;
@@ -216,7 +216,7 @@ Vector3 Vector3::round() const {
return Vector3(Math::round(x), Math::round(y), Math::round(z));
}
-Vector3 Vector3::lerp(const Vector3 &p_to, const real_t p_weight) const {
+Vector3 Vector3::lerp(const Vector3 &p_to, real_t p_weight) const {
Vector3 res = *this;
res.x = Math::lerp(res.x, p_to.x, p_weight);
res.y = Math::lerp(res.y, p_to.y, p_weight);
@@ -224,7 +224,7 @@ Vector3 Vector3::lerp(const Vector3 &p_to, const real_t p_weight) const {
return res;
}
-Vector3 Vector3::slerp(const Vector3 &p_to, const real_t p_weight) const {
+Vector3 Vector3::slerp(const Vector3 &p_to, real_t p_weight) const {
// This method seems more complicated than it really is, since we write out
// the internals of some methods for efficiency (mainly, checking length).
real_t start_length_sq = length_squared();
@@ -246,7 +246,7 @@ Vector3 Vector3::slerp(const Vector3 &p_to, const real_t p_weight) const {
return rotated(axis, angle * p_weight) * (result_length / start_length);
}
-Vector3 Vector3::cubic_interpolate(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, const real_t p_weight) const {
+Vector3 Vector3::cubic_interpolate(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, real_t p_weight) const {
Vector3 res = *this;
res.x = Math::cubic_interpolate(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight);
res.y = Math::cubic_interpolate(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight);
@@ -254,7 +254,7 @@ Vector3 Vector3::cubic_interpolate(const Vector3 &p_b, const Vector3 &p_pre_a, c
return res;
}
-Vector3 Vector3::cubic_interpolate_in_time(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const {
+Vector3 Vector3::cubic_interpolate_in_time(const Vector3 &p_b, const Vector3 &p_pre_a, const Vector3 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const {
Vector3 res = *this;
res.x = Math::cubic_interpolate_in_time(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
res.y = Math::cubic_interpolate_in_time(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
@@ -262,7 +262,7 @@ Vector3 Vector3::cubic_interpolate_in_time(const Vector3 &p_b, const Vector3 &p_
return res;
}
-Vector3 Vector3::bezier_interpolate(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, const real_t p_t) const {
+Vector3 Vector3::bezier_interpolate(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, real_t p_t) const {
Vector3 res = *this;
res.x = Math::bezier_interpolate(res.x, p_control_1.x, p_control_2.x, p_end.x, p_t);
res.y = Math::bezier_interpolate(res.y, p_control_1.y, p_control_2.y, p_end.y, p_t);
@@ -270,7 +270,7 @@ Vector3 Vector3::bezier_interpolate(const Vector3 &p_control_1, const Vector3 &p
return res;
}
-Vector3 Vector3::bezier_derivative(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, const real_t p_t) const {
+Vector3 Vector3::bezier_derivative(const Vector3 &p_control_1, const Vector3 &p_control_2, const Vector3 &p_end, real_t p_t) const {
Vector3 res = *this;
res.x = Math::bezier_derivative(res.x, p_control_1.x, p_control_2.x, p_end.x, p_t);
res.y = Math::bezier_derivative(res.y, p_control_1.y, p_control_2.y, p_end.y, p_t);
@@ -286,7 +286,7 @@ real_t Vector3::distance_squared_to(const Vector3 &p_to) const {
return (p_to - *this).length_squared();
}
-Vector3 Vector3::posmod(const real_t p_mod) const {
+Vector3 Vector3::posmod(real_t p_mod) const {
return Vector3(Math::fposmod(x, p_mod), Math::fposmod(y, p_mod), Math::fposmod(z, p_mod));
}
@@ -361,7 +361,7 @@ Vector3 Vector3::operator/(const Vector3 &p_v) const {
return Vector3(x / p_v.x, y / p_v.y, z / p_v.z);
}
-Vector3 &Vector3::operator*=(const real_t p_scalar) {
+Vector3 &Vector3::operator*=(real_t p_scalar) {
x *= p_scalar;
y *= p_scalar;
z *= p_scalar;
@@ -371,34 +371,34 @@ Vector3 &Vector3::operator*=(const real_t p_scalar) {
// Multiplication operators required to workaround issues with LLVM using implicit conversion
// to Vector3i instead for integers where it should not.
-_FORCE_INLINE_ Vector3 operator*(const float p_scalar, const Vector3 &p_vec) {
+_FORCE_INLINE_ Vector3 operator*(float p_scalar, const Vector3 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector3 operator*(const double p_scalar, const Vector3 &p_vec) {
+_FORCE_INLINE_ Vector3 operator*(double p_scalar, const Vector3 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector3 operator*(const int32_t p_scalar, const Vector3 &p_vec) {
+_FORCE_INLINE_ Vector3 operator*(int32_t p_scalar, const Vector3 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector3 operator*(const int64_t p_scalar, const Vector3 &p_vec) {
+_FORCE_INLINE_ Vector3 operator*(int64_t p_scalar, const Vector3 &p_vec) {
return p_vec * p_scalar;
}
-Vector3 Vector3::operator*(const real_t p_scalar) const {
+Vector3 Vector3::operator*(real_t p_scalar) const {
return Vector3(x * p_scalar, y * p_scalar, z * p_scalar);
}
-Vector3 &Vector3::operator/=(const real_t p_scalar) {
+Vector3 &Vector3::operator/=(real_t p_scalar) {
x /= p_scalar;
y /= p_scalar;
z /= p_scalar;
return *this;
}
-Vector3 Vector3::operator/(const real_t p_scalar) const {
+Vector3 Vector3::operator/(real_t p_scalar) const {
return Vector3(x / p_scalar, y / p_scalar, z / p_scalar);
}
diff --git a/core/math/vector3i.h b/core/math/vector3i.h
index 5a5e9deda8..a9f298bff1 100644
--- a/core/math/vector3i.h
+++ b/core/math/vector3i.h
@@ -56,12 +56,12 @@ struct _NO_DISCARD_ Vector3i {
int32_t coord[3] = { 0 };
};
- _FORCE_INLINE_ const int32_t &operator[](const int p_axis) const {
+ _FORCE_INLINE_ const int32_t &operator[](int p_axis) const {
DEV_ASSERT((unsigned int)p_axis < 3);
return coord[p_axis];
}
- _FORCE_INLINE_ int32_t &operator[](const int p_axis) {
+ _FORCE_INLINE_ int32_t &operator[](int p_axis) {
DEV_ASSERT((unsigned int)p_axis < 3);
return coord[p_axis];
}
@@ -103,12 +103,12 @@ struct _NO_DISCARD_ Vector3i {
_FORCE_INLINE_ Vector3i &operator%=(const Vector3i &p_v);
_FORCE_INLINE_ Vector3i operator%(const Vector3i &p_v) const;
- _FORCE_INLINE_ Vector3i &operator*=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector3i operator*(const int32_t p_scalar) const;
- _FORCE_INLINE_ Vector3i &operator/=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector3i operator/(const int32_t p_scalar) const;
- _FORCE_INLINE_ Vector3i &operator%=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector3i operator%(const int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector3i &operator*=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector3i operator*(int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector3i &operator/=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector3i operator/(int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector3i &operator%=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector3i operator%(int32_t p_scalar) const;
_FORCE_INLINE_ Vector3i operator-() const;
@@ -123,7 +123,7 @@ struct _NO_DISCARD_ Vector3i {
operator Vector3() const;
_FORCE_INLINE_ Vector3i() {}
- _FORCE_INLINE_ Vector3i(const int32_t p_x, const int32_t p_y, const int32_t p_z) {
+ _FORCE_INLINE_ Vector3i(int32_t p_x, int32_t p_y, int32_t p_z) {
x = p_x;
y = p_y;
z = p_z;
@@ -211,54 +211,54 @@ Vector3i Vector3i::operator%(const Vector3i &p_v) const {
return Vector3i(x % p_v.x, y % p_v.y, z % p_v.z);
}
-Vector3i &Vector3i::operator*=(const int32_t p_scalar) {
+Vector3i &Vector3i::operator*=(int32_t p_scalar) {
x *= p_scalar;
y *= p_scalar;
z *= p_scalar;
return *this;
}
-Vector3i Vector3i::operator*(const int32_t p_scalar) const {
+Vector3i Vector3i::operator*(int32_t p_scalar) const {
return Vector3i(x * p_scalar, y * p_scalar, z * p_scalar);
}
// Multiplication operators required to workaround issues with LLVM using implicit conversion.
-_FORCE_INLINE_ Vector3i operator*(const int32_t p_scalar, const Vector3i &p_vector) {
+_FORCE_INLINE_ Vector3i operator*(int32_t p_scalar, const Vector3i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector3i operator*(const int64_t p_scalar, const Vector3i &p_vector) {
+_FORCE_INLINE_ Vector3i operator*(int64_t p_scalar, const Vector3i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector3i operator*(const float p_scalar, const Vector3i &p_vector) {
+_FORCE_INLINE_ Vector3i operator*(float p_scalar, const Vector3i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector3i operator*(const double p_scalar, const Vector3i &p_vector) {
+_FORCE_INLINE_ Vector3i operator*(double p_scalar, const Vector3i &p_vector) {
return p_vector * p_scalar;
}
-Vector3i &Vector3i::operator/=(const int32_t p_scalar) {
+Vector3i &Vector3i::operator/=(int32_t p_scalar) {
x /= p_scalar;
y /= p_scalar;
z /= p_scalar;
return *this;
}
-Vector3i Vector3i::operator/(const int32_t p_scalar) const {
+Vector3i Vector3i::operator/(int32_t p_scalar) const {
return Vector3i(x / p_scalar, y / p_scalar, z / p_scalar);
}
-Vector3i &Vector3i::operator%=(const int32_t p_scalar) {
+Vector3i &Vector3i::operator%=(int32_t p_scalar) {
x %= p_scalar;
y %= p_scalar;
z %= p_scalar;
return *this;
}
-Vector3i Vector3i::operator%(const int32_t p_scalar) const {
+Vector3i Vector3i::operator%(int32_t p_scalar) const {
return Vector3i(x % p_scalar, y % p_scalar, z % p_scalar);
}
diff --git a/core/math/vector4.cpp b/core/math/vector4.cpp
index 5566b63714..e6f6dee42c 100644
--- a/core/math/vector4.cpp
+++ b/core/math/vector4.cpp
@@ -129,7 +129,7 @@ Vector4 Vector4::round() const {
return Vector4(Math::round(x), Math::round(y), Math::round(z), Math::round(w));
}
-Vector4 Vector4::lerp(const Vector4 &p_to, const real_t p_weight) const {
+Vector4 Vector4::lerp(const Vector4 &p_to, real_t p_weight) const {
Vector4 res = *this;
res.x = Math::lerp(res.x, p_to.x, p_weight);
res.y = Math::lerp(res.y, p_to.y, p_weight);
@@ -138,7 +138,7 @@ Vector4 Vector4::lerp(const Vector4 &p_to, const real_t p_weight) const {
return res;
}
-Vector4 Vector4::cubic_interpolate(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, const real_t p_weight) const {
+Vector4 Vector4::cubic_interpolate(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, real_t p_weight) const {
Vector4 res = *this;
res.x = Math::cubic_interpolate(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight);
res.y = Math::cubic_interpolate(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight);
@@ -147,7 +147,7 @@ Vector4 Vector4::cubic_interpolate(const Vector4 &p_b, const Vector4 &p_pre_a, c
return res;
}
-Vector4 Vector4::cubic_interpolate_in_time(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const {
+Vector4 Vector4::cubic_interpolate_in_time(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const {
Vector4 res = *this;
res.x = Math::cubic_interpolate_in_time(res.x, p_b.x, p_pre_a.x, p_post_b.x, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
res.y = Math::cubic_interpolate_in_time(res.y, p_b.y, p_pre_a.y, p_post_b.y, p_weight, p_b_t, p_pre_a_t, p_post_b_t);
@@ -156,7 +156,7 @@ Vector4 Vector4::cubic_interpolate_in_time(const Vector4 &p_b, const Vector4 &p_
return res;
}
-Vector4 Vector4::posmod(const real_t p_mod) const {
+Vector4 Vector4::posmod(real_t p_mod) const {
return Vector4(Math::fposmod(x, p_mod), Math::fposmod(y, p_mod), Math::fposmod(z, p_mod), Math::fposmod(w, p_mod));
}
diff --git a/core/math/vector4.h b/core/math/vector4.h
index f16b040317..4dba3126cb 100644
--- a/core/math/vector4.h
+++ b/core/math/vector4.h
@@ -56,11 +56,11 @@ struct _NO_DISCARD_ Vector4 {
real_t components[4] = { 0, 0, 0, 0 };
};
- _FORCE_INLINE_ real_t &operator[](const int p_axis) {
+ _FORCE_INLINE_ real_t &operator[](int p_axis) {
DEV_ASSERT((unsigned int)p_axis < 4);
return components[p_axis];
}
- _FORCE_INLINE_ const real_t &operator[](const int p_axis) const {
+ _FORCE_INLINE_ const real_t &operator[](int p_axis) const {
DEV_ASSERT((unsigned int)p_axis < 4);
return components[p_axis];
}
@@ -94,11 +94,11 @@ struct _NO_DISCARD_ Vector4 {
Vector4 floor() const;
Vector4 ceil() const;
Vector4 round() const;
- Vector4 lerp(const Vector4 &p_to, const real_t p_weight) const;
- Vector4 cubic_interpolate(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, const real_t p_weight) const;
- Vector4 cubic_interpolate_in_time(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, const real_t p_weight, const real_t &p_b_t, const real_t &p_pre_a_t, const real_t &p_post_b_t) const;
+ Vector4 lerp(const Vector4 &p_to, real_t p_weight) const;
+ Vector4 cubic_interpolate(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, real_t p_weight) const;
+ Vector4 cubic_interpolate_in_time(const Vector4 &p_b, const Vector4 &p_pre_a, const Vector4 &p_post_b, real_t p_weight, real_t p_b_t, real_t p_pre_a_t, real_t p_post_b_t) const;
- Vector4 posmod(const real_t p_mod) const;
+ Vector4 posmod(real_t p_mod) const;
Vector4 posmodv(const Vector4 &p_modv) const;
void snap(const Vector4 &p_step);
Vector4 snapped(const Vector4 &p_step) const;
@@ -111,15 +111,15 @@ struct _NO_DISCARD_ Vector4 {
_FORCE_INLINE_ void operator-=(const Vector4 &p_vec4);
_FORCE_INLINE_ void operator*=(const Vector4 &p_vec4);
_FORCE_INLINE_ void operator/=(const Vector4 &p_vec4);
- _FORCE_INLINE_ void operator*=(const real_t &s);
- _FORCE_INLINE_ void operator/=(const real_t &s);
+ _FORCE_INLINE_ void operator*=(real_t p_s);
+ _FORCE_INLINE_ void operator/=(real_t p_s);
_FORCE_INLINE_ Vector4 operator+(const Vector4 &p_vec4) const;
_FORCE_INLINE_ Vector4 operator-(const Vector4 &p_vec4) const;
_FORCE_INLINE_ Vector4 operator*(const Vector4 &p_vec4) const;
_FORCE_INLINE_ Vector4 operator/(const Vector4 &p_vec4) const;
_FORCE_INLINE_ Vector4 operator-() const;
- _FORCE_INLINE_ Vector4 operator*(const real_t &s) const;
- _FORCE_INLINE_ Vector4 operator/(const real_t &s) const;
+ _FORCE_INLINE_ Vector4 operator*(real_t p_s) const;
+ _FORCE_INLINE_ Vector4 operator/(real_t p_s) const;
_FORCE_INLINE_ bool operator==(const Vector4 &p_vec4) const;
_FORCE_INLINE_ bool operator!=(const Vector4 &p_vec4) const;
@@ -189,15 +189,15 @@ void Vector4::operator/=(const Vector4 &p_vec4) {
z /= p_vec4.z;
w /= p_vec4.w;
}
-void Vector4::operator*=(const real_t &s) {
- x *= s;
- y *= s;
- z *= s;
- w *= s;
+void Vector4::operator*=(real_t p_s) {
+ x *= p_s;
+ y *= p_s;
+ z *= p_s;
+ w *= p_s;
}
-void Vector4::operator/=(const real_t &s) {
- *this *= 1.0f / s;
+void Vector4::operator/=(real_t p_s) {
+ *this *= 1.0f / p_s;
}
Vector4 Vector4::operator+(const Vector4 &p_vec4) const {
@@ -220,12 +220,12 @@ Vector4 Vector4::operator-() const {
return Vector4(-x, -y, -z, -w);
}
-Vector4 Vector4::operator*(const real_t &s) const {
- return Vector4(x * s, y * s, z * s, w * s);
+Vector4 Vector4::operator*(real_t p_s) const {
+ return Vector4(x * p_s, y * p_s, z * p_s, w * p_s);
}
-Vector4 Vector4::operator/(const real_t &s) const {
- return *this * (1.0f / s);
+Vector4 Vector4::operator/(real_t p_s) const {
+ return *this * (1.0f / p_s);
}
bool Vector4::operator==(const Vector4 &p_vec4) const {
@@ -288,19 +288,19 @@ bool Vector4::operator>=(const Vector4 &p_v) const {
return x > p_v.x;
}
-_FORCE_INLINE_ Vector4 operator*(const float p_scalar, const Vector4 &p_vec) {
+_FORCE_INLINE_ Vector4 operator*(float p_scalar, const Vector4 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector4 operator*(const double p_scalar, const Vector4 &p_vec) {
+_FORCE_INLINE_ Vector4 operator*(double p_scalar, const Vector4 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector4 operator*(const int32_t p_scalar, const Vector4 &p_vec) {
+_FORCE_INLINE_ Vector4 operator*(int32_t p_scalar, const Vector4 &p_vec) {
return p_vec * p_scalar;
}
-_FORCE_INLINE_ Vector4 operator*(const int64_t p_scalar, const Vector4 &p_vec) {
+_FORCE_INLINE_ Vector4 operator*(int64_t p_scalar, const Vector4 &p_vec) {
return p_vec * p_scalar;
}
diff --git a/core/math/vector4i.h b/core/math/vector4i.h
index 7d85d473d9..5a96d98d18 100644
--- a/core/math/vector4i.h
+++ b/core/math/vector4i.h
@@ -58,12 +58,12 @@ struct _NO_DISCARD_ Vector4i {
int32_t coord[4] = { 0 };
};
- _FORCE_INLINE_ const int32_t &operator[](const int p_axis) const {
+ _FORCE_INLINE_ const int32_t &operator[](int p_axis) const {
DEV_ASSERT((unsigned int)p_axis < 4);
return coord[p_axis];
}
- _FORCE_INLINE_ int32_t &operator[](const int p_axis) {
+ _FORCE_INLINE_ int32_t &operator[](int p_axis) {
DEV_ASSERT((unsigned int)p_axis < 4);
return coord[p_axis];
}
@@ -105,12 +105,12 @@ struct _NO_DISCARD_ Vector4i {
_FORCE_INLINE_ Vector4i &operator%=(const Vector4i &p_v);
_FORCE_INLINE_ Vector4i operator%(const Vector4i &p_v) const;
- _FORCE_INLINE_ Vector4i &operator*=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector4i operator*(const int32_t p_scalar) const;
- _FORCE_INLINE_ Vector4i &operator/=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector4i operator/(const int32_t p_scalar) const;
- _FORCE_INLINE_ Vector4i &operator%=(const int32_t p_scalar);
- _FORCE_INLINE_ Vector4i operator%(const int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector4i &operator*=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector4i operator*(int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector4i &operator/=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector4i operator/(int32_t p_scalar) const;
+ _FORCE_INLINE_ Vector4i &operator%=(int32_t p_scalar);
+ _FORCE_INLINE_ Vector4i operator%(int32_t p_scalar) const;
_FORCE_INLINE_ Vector4i operator-() const;
@@ -126,7 +126,7 @@ struct _NO_DISCARD_ Vector4i {
_FORCE_INLINE_ Vector4i() {}
Vector4i(const Vector4 &p_vec4);
- _FORCE_INLINE_ Vector4i(const int32_t p_x, const int32_t p_y, const int32_t p_z, const int32_t p_w) {
+ _FORCE_INLINE_ Vector4i(int32_t p_x, int32_t p_y, int32_t p_z, int32_t p_w) {
x = p_x;
y = p_y;
z = p_z;
@@ -220,7 +220,7 @@ Vector4i Vector4i::operator%(const Vector4i &p_v) const {
return Vector4i(x % p_v.x, y % p_v.y, z % p_v.z, w % p_v.w);
}
-Vector4i &Vector4i::operator*=(const int32_t p_scalar) {
+Vector4i &Vector4i::operator*=(int32_t p_scalar) {
x *= p_scalar;
y *= p_scalar;
z *= p_scalar;
@@ -228,29 +228,29 @@ Vector4i &Vector4i::operator*=(const int32_t p_scalar) {
return *this;
}
-Vector4i Vector4i::operator*(const int32_t p_scalar) const {
+Vector4i Vector4i::operator*(int32_t p_scalar) const {
return Vector4i(x * p_scalar, y * p_scalar, z * p_scalar, w * p_scalar);
}
// Multiplication operators required to workaround issues with LLVM using implicit conversion.
-_FORCE_INLINE_ Vector4i operator*(const int32_t p_scalar, const Vector4i &p_vector) {
+_FORCE_INLINE_ Vector4i operator*(int32_t p_scalar, const Vector4i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector4i operator*(const int64_t p_scalar, const Vector4i &p_vector) {
+_FORCE_INLINE_ Vector4i operator*(int64_t p_scalar, const Vector4i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector4i operator*(const float p_scalar, const Vector4i &p_vector) {
+_FORCE_INLINE_ Vector4i operator*(float p_scalar, const Vector4i &p_vector) {
return p_vector * p_scalar;
}
-_FORCE_INLINE_ Vector4i operator*(const double p_scalar, const Vector4i &p_vector) {
+_FORCE_INLINE_ Vector4i operator*(double p_scalar, const Vector4i &p_vector) {
return p_vector * p_scalar;
}
-Vector4i &Vector4i::operator/=(const int32_t p_scalar) {
+Vector4i &Vector4i::operator/=(int32_t p_scalar) {
x /= p_scalar;
y /= p_scalar;
z /= p_scalar;
@@ -258,11 +258,11 @@ Vector4i &Vector4i::operator/=(const int32_t p_scalar) {
return *this;
}
-Vector4i Vector4i::operator/(const int32_t p_scalar) const {
+Vector4i Vector4i::operator/(int32_t p_scalar) const {
return Vector4i(x / p_scalar, y / p_scalar, z / p_scalar, w / p_scalar);
}
-Vector4i &Vector4i::operator%=(const int32_t p_scalar) {
+Vector4i &Vector4i::operator%=(int32_t p_scalar) {
x %= p_scalar;
y %= p_scalar;
z %= p_scalar;
@@ -270,7 +270,7 @@ Vector4i &Vector4i::operator%=(const int32_t p_scalar) {
return *this;
}
-Vector4i Vector4i::operator%(const int32_t p_scalar) const {
+Vector4i Vector4i::operator%(int32_t p_scalar) const {
return Vector4i(x % p_scalar, y % p_scalar, z % p_scalar, w % p_scalar);
}
diff --git a/core/object/script_language_extension.h b/core/object/script_language_extension.h
index b7222a159a..aa0788b8bf 100644
--- a/core/object/script_language_extension.h
+++ b/core/object/script_language_extension.h
@@ -655,11 +655,17 @@ VARIANT_ENUM_CAST(ScriptLanguageExtension::CodeCompletionLocation)
class ScriptInstanceExtension : public ScriptInstance {
public:
- const GDExtensionScriptInstanceInfo2 *native_info;
+ const GDExtensionScriptInstanceInfo3 *native_info;
+
+#ifndef DISABLE_DEPRECATED
bool free_native_info = false;
- struct {
+ struct DeprecatedNativeInfo {
GDExtensionScriptInstanceNotification notification_func = nullptr;
- } deprecated_native_info;
+ GDExtensionScriptInstanceFreePropertyList free_property_list_func = nullptr;
+ GDExtensionScriptInstanceFreeMethodList free_method_list_func = nullptr;
+ };
+ DeprecatedNativeInfo *deprecated_native_info = nullptr;
+#endif // DISABLE_DEPRECATED
GDExtensionScriptInstanceDataPtr instance = nullptr;
@@ -706,7 +712,11 @@ public:
p_list->push_back(PropertyInfo(pinfo[i]));
}
if (native_info->free_property_list_func) {
- native_info->free_property_list_func(instance, pinfo);
+ native_info->free_property_list_func(instance, pinfo, pcount);
+#ifndef DISABLE_DEPRECATED
+ } else if (deprecated_native_info && deprecated_native_info->free_property_list_func) {
+ deprecated_native_info->free_property_list_func(instance, pinfo);
+#endif // DISABLE_DEPRECATED
}
}
}
@@ -781,7 +791,11 @@ public:
p_list->push_back(MethodInfo(minfo[i]));
}
if (native_info->free_method_list_func) {
- native_info->free_method_list_func(instance, minfo);
+ native_info->free_method_list_func(instance, minfo, mcount);
+#ifndef DISABLE_DEPRECATED
+ } else if (deprecated_native_info && deprecated_native_info->free_method_list_func) {
+ deprecated_native_info->free_method_list_func(instance, minfo);
+#endif // DISABLE_DEPRECATED
}
}
}
@@ -808,8 +822,8 @@ public:
if (native_info->notification_func) {
native_info->notification_func(instance, p_notification, p_reversed);
#ifndef DISABLE_DEPRECATED
- } else if (deprecated_native_info.notification_func) {
- deprecated_native_info.notification_func(instance, p_notification);
+ } else if (deprecated_native_info && deprecated_native_info->notification_func) {
+ deprecated_native_info->notification_func(instance, p_notification);
#endif // DISABLE_DEPRECATED
}
}
@@ -885,9 +899,14 @@ public:
if (native_info->free_func) {
native_info->free_func(instance);
}
+#ifndef DISABLE_DEPRECATED
if (free_native_info) {
- memfree(const_cast<GDExtensionScriptInstanceInfo2 *>(native_info));
+ memfree(const_cast<GDExtensionScriptInstanceInfo3 *>(native_info));
}
+ if (deprecated_native_info) {
+ memfree(deprecated_native_info);
+ }
+#endif // DISABLE_DEPRECATED
}
#if defined(__GNUC__) && !defined(__clang__)