Fix early-accepting area-area match when masks don't match
This commit is contained in:
parent
91bb4952e4
commit
fa1049b46b
|
@ -34,12 +34,12 @@
|
|||
|
||||
_FORCE_INLINE_ static bool _match_object_type_query(CollisionObjectSW *p_object, uint32_t p_collision_layer, uint32_t p_type_mask) {
|
||||
|
||||
if (p_object->get_type() == CollisionObjectSW::TYPE_AREA)
|
||||
return p_type_mask & PhysicsDirectSpaceState::TYPE_MASK_AREA;
|
||||
|
||||
if ((p_object->get_collision_layer() & p_collision_layer) == 0)
|
||||
return false;
|
||||
|
||||
if (p_object->get_type() == CollisionObjectSW::TYPE_AREA)
|
||||
return p_type_mask & PhysicsDirectSpaceState::TYPE_MASK_AREA;
|
||||
|
||||
BodySW *body = static_cast<BodySW *>(p_object);
|
||||
|
||||
return (1 << body->get_mode()) & p_type_mask;
|
||||
|
|
Loading…
Reference in New Issue