From ba8e4c22aa51efa5f689dfecfe0673b96c56a57a Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 21 Aug 2015 20:17:42 +0200 Subject: [PATCH] Avoid using loops to wrap angle values (Fixes #2882) --- apps/openmw/mwworld/worldimp.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 1eed841bd..aa444cb14 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -1213,7 +1213,6 @@ namespace MWWorld void World::rotateObjectImp (const Ptr& ptr, const osg::Vec3f& rot, bool adjust) { const float pi = static_cast(osg::PI); - const float two_pi = pi*2.f; ESM::Position pos = ptr.getRefData().getPosition(); float *objRot = pos.rot; @@ -1243,15 +1242,11 @@ namespace MWWorld } else { - while(objRot[0] < -pi) objRot[0] += two_pi; - while(objRot[0] > pi) objRot[0] -= two_pi; + wrap(objRot[0]); } - while(objRot[1] < -pi) objRot[1] += two_pi; - while(objRot[1] > pi) objRot[1] -= two_pi; - - while(objRot[2] < -pi) objRot[2] += two_pi; - while(objRot[2] > pi) objRot[2] -= two_pi; + wrap(objRot[1]); + wrap(objRot[2]); ptr.getRefData().setPosition(pos);