Remove infinite inertia and ray shapes from CharacterBody
Infinite inertia: Not needed anymore, since it's now possible to set one-directional collision layers in order for characters to ignore rigid bodies, while rigid bodies still collide with characters. Ray shapes: They were introduced as a work around to allow constant speed on slopes, which is now possible with the new property in CharacterBody instead.
This commit is contained in:
@@ -45,9 +45,6 @@ RID PhysicsServer2DSW::_shape_create(ShapeType p_shape) {
|
||||
case SHAPE_LINE: {
|
||||
shape = memnew(LineShape2DSW);
|
||||
} break;
|
||||
case SHAPE_RAY: {
|
||||
shape = memnew(RayShape2DSW);
|
||||
} break;
|
||||
case SHAPE_SEGMENT: {
|
||||
shape = memnew(SegmentShape2DSW);
|
||||
} break;
|
||||
@@ -82,10 +79,6 @@ RID PhysicsServer2DSW::line_shape_create() {
|
||||
return _shape_create(SHAPE_LINE);
|
||||
}
|
||||
|
||||
RID PhysicsServer2DSW::ray_shape_create() {
|
||||
return _shape_create(SHAPE_RAY);
|
||||
}
|
||||
|
||||
RID PhysicsServer2DSW::segment_shape_create() {
|
||||
return _shape_create(SHAPE_SEGMENT);
|
||||
}
|
||||
@@ -946,7 +939,7 @@ void PhysicsServer2DSW::body_set_pickable(RID p_body, bool p_pickable) {
|
||||
body->set_pickable(p_pickable);
|
||||
}
|
||||
|
||||
bool PhysicsServer2DSW::body_test_motion(RID p_body, const Transform2D &p_from, const Vector2 &p_motion, bool p_infinite_inertia, real_t p_margin, MotionResult *r_result, bool p_exclude_raycast_shapes, const Set<RID> &p_exclude) {
|
||||
bool PhysicsServer2DSW::body_test_motion(RID p_body, const Transform2D &p_from, const Vector2 &p_motion, real_t p_margin, MotionResult *r_result, const Set<RID> &p_exclude) {
|
||||
Body2DSW *body = body_owner.getornull(p_body);
|
||||
ERR_FAIL_COND_V(!body, false);
|
||||
ERR_FAIL_COND_V(!body->get_space(), false);
|
||||
@@ -954,16 +947,7 @@ bool PhysicsServer2DSW::body_test_motion(RID p_body, const Transform2D &p_from,
|
||||
|
||||
_update_shapes();
|
||||
|
||||
return body->get_space()->test_body_motion(body, p_from, p_motion, p_infinite_inertia, p_margin, r_result, p_exclude_raycast_shapes, p_exclude);
|
||||
}
|
||||
|
||||
int PhysicsServer2DSW::body_test_ray_separation(RID p_body, const Transform2D &p_transform, bool p_infinite_inertia, Vector2 &r_recover_motion, SeparationResult *r_results, int p_result_max, real_t p_margin) {
|
||||
Body2DSW *body = body_owner.getornull(p_body);
|
||||
ERR_FAIL_COND_V(!body, false);
|
||||
ERR_FAIL_COND_V(!body->get_space(), false);
|
||||
ERR_FAIL_COND_V(body->get_space()->is_locked(), false);
|
||||
|
||||
return body->get_space()->test_body_ray_separation(body, p_transform, p_infinite_inertia, r_recover_motion, r_results, p_result_max, p_margin);
|
||||
return body->get_space()->test_body_motion(body, p_from, p_motion, p_margin, r_result, p_exclude);
|
||||
}
|
||||
|
||||
PhysicsDirectBodyState2D *PhysicsServer2DSW::body_get_direct_state(RID p_body) {
|
||||
|
||||
Reference in New Issue
Block a user