From 1eb338404361dee9a5c987b23836758cbe264f3f Mon Sep 17 00:00:00 2001 From: scrawl Date: Sat, 4 Feb 2017 17:07:35 +0100 Subject: [PATCH] Avoid rotating by zero in CharacterController --- apps/openmw/mwmechanics/character.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwmechanics/character.cpp b/apps/openmw/mwmechanics/character.cpp index 297cb0804..9fd37cc8e 100644 --- a/apps/openmw/mwmechanics/character.cpp +++ b/apps/openmw/mwmechanics/character.cpp @@ -1872,10 +1872,14 @@ void CharacterController::update(float duration) { if(mHitState != CharState_KnockDown && mHitState != CharState_KnockOut) { - world->rotateObject(mPtr, rot.x(), rot.y(), rot.z(), true); + if (rot != osg::Vec3f()) + world->rotateObject(mPtr, rot.x(), rot.y(), rot.z(), true); } else //avoid z-rotating for knockdown - world->rotateObject(mPtr, rot.x(), rot.y(), 0.0f, true); + { + if (rot.x() != 0 && rot.y() != 0) + world->rotateObject(mPtr, rot.x(), rot.y(), 0.0f, true); + } if (!mMovementAnimationControlled) world->queueMovement(mPtr, vec);