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) {