From f83a09b93e0ad2634c2c1bd4fb2171fdd0979235 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Tue, 16 Dec 2025 14:22:38 +0300 Subject: [PATCH] Use horizontal extent ratio to detect stretched bounding boxes (#8847) --- apps/openmw/mwphysics/actor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwphysics/actor.cpp b/apps/openmw/mwphysics/actor.cpp index 4e6fe13d64..31659275e3 100644 --- a/apps/openmw/mwphysics/actor.cpp +++ b/apps/openmw/mwphysics/actor.cpp @@ -63,8 +63,11 @@ namespace MWPhysics } const btVector3 halfExtents = Misc::Convert::toBullet(mOriginalHalfExtents); - if ((mMeshTranslation.x() == 0.0 && mMeshTranslation.y() == 0.0) - && std::fabs(mOriginalHalfExtents.x() - mOriginalHalfExtents.y()) < 2.2) + float extRatio = 0.f; + if (mOriginalHalfExtents.y() != 0.f) + extRatio = mOriginalHalfExtents.x() / mOriginalHalfExtents.y(); + + if (mMeshTranslation.x() == 0.0 && mMeshTranslation.y() == 0.0 && extRatio >= 1.f / 1.1f && extRatio <= 1.1f) { switch (collisionShapeType) {