You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 19:11:41 +00:00
Fix early-accepting area-area match when masks don't match
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user