From 1bad2e30eee2cb6b9751cfa49a92583881f54c7e Mon Sep 17 00:00:00 2001 From: Mikael Hermansson Date: Fri, 10 Mar 2023 09:37:21 +0100 Subject: [PATCH] Add `recovery_as_collision` to extension binding of `_body_test_motion` --- doc/classes/PhysicsServer3DExtension.xml | 3 ++- servers/extensions/physics_server_3d_extension.cpp | 2 +- servers/extensions/physics_server_3d_extension.h | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/classes/PhysicsServer3DExtension.xml b/doc/classes/PhysicsServer3DExtension.xml index 07c748b4a0e..e6cce535947 100644 --- a/doc/classes/PhysicsServer3DExtension.xml +++ b/doc/classes/PhysicsServer3DExtension.xml @@ -606,7 +606,8 @@ - + + diff --git a/servers/extensions/physics_server_3d_extension.cpp b/servers/extensions/physics_server_3d_extension.cpp index 0d8476fd681..1b14e02331e 100644 --- a/servers/extensions/physics_server_3d_extension.cpp +++ b/servers/extensions/physics_server_3d_extension.cpp @@ -298,7 +298,7 @@ void PhysicsServer3DExtension::_bind_methods() { GDVIRTUAL_BIND(_body_set_ray_pickable, "body", "enable"); - GDVIRTUAL_BIND(_body_test_motion, "body", "from", "motion", "margin", "max_collisions", "collide_separation_ray", "result"); + GDVIRTUAL_BIND(_body_test_motion, "body", "from", "motion", "margin", "max_collisions", "collide_separation_ray", "recovery_as_collision", "result"); GDVIRTUAL_BIND(_body_get_direct_state, "body"); diff --git a/servers/extensions/physics_server_3d_extension.h b/servers/extensions/physics_server_3d_extension.h index bec403c0eca..9bed39e95ee 100644 --- a/servers/extensions/physics_server_3d_extension.h +++ b/servers/extensions/physics_server_3d_extension.h @@ -382,7 +382,7 @@ public: EXBIND2(body_set_ray_pickable, RID, bool) - GDVIRTUAL7RC(bool, _body_test_motion, RID, const Transform3D &, const Vector3 &, real_t, int, bool, GDExtensionPtr) + GDVIRTUAL8RC(bool, _body_test_motion, RID, const Transform3D &, const Vector3 &, real_t, int, bool, bool, GDExtensionPtr) thread_local static const HashSet *exclude_bodies; thread_local static const HashSet *exclude_objects; @@ -394,7 +394,7 @@ public: bool ret = false; exclude_bodies = &p_parameters.exclude_bodies; exclude_objects = &p_parameters.exclude_objects; - GDVIRTUAL_REQUIRED_CALL(_body_test_motion, p_body, p_parameters.from, p_parameters.motion, p_parameters.margin, p_parameters.max_collisions, p_parameters.collide_separation_ray, r_result, ret); + GDVIRTUAL_REQUIRED_CALL(_body_test_motion, p_body, p_parameters.from, p_parameters.motion, p_parameters.margin, p_parameters.max_collisions, p_parameters.collide_separation_ray, p_parameters.recovery_as_collision, r_result, ret); exclude_bodies = nullptr; exclude_objects = nullptr; return ret;