From cfd15d47e448f2ae581380784fd1cab6cef38361 Mon Sep 17 00:00:00 2001 From: Areloch Date: Tue, 24 May 2016 20:09:24 -0500 Subject: [PATCH] Correction to interpolation/warp issue caused by using the wrong variable. --- Engine/source/T3D/Entity.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Engine/source/T3D/Entity.cpp b/Engine/source/T3D/Entity.cpp index e80f4e8b8..680f098d9 100644 --- a/Engine/source/T3D/Entity.cpp +++ b/Engine/source/T3D/Entity.cpp @@ -404,8 +404,7 @@ U32 Entity::packUpdate(NetConnection *con, U32 mask, BitStream *stream) //mathWrite(*stream, getPosition()); mathWrite(*stream, mPos); - //mathWrite(*stream, getRotation()); - mathWrite(*stream, getRotation().asEulerF()); + mathWrite(*stream, getRotation()); mDelta.move.pack(stream); @@ -502,10 +501,7 @@ void Entity::unpackUpdate(NetConnection *con, BitStream *stream) RotationF rot; - EulerF eRot; - mathRead(*stream, &eRot); - - rot = RotationF(eRot); + mathRead(*stream, &rot); mDelta.move.unpack(stream); @@ -602,7 +598,8 @@ void Entity::unpackUpdate(NetConnection *con, BitStream *stream) mDelta.posVec = (cp - mDelta.pos) / mDelta.dt; QuatF cr; cr.interpolate(mDelta.rot[1], mDelta.rot[0], mDelta.dt); - mDelta.rot[1].interpolate(cr, pos, mDelta.dt / dt); + + mDelta.rot[1].interpolate(cr, rot.asQuatF(), mDelta.dt / dt); mDelta.rot[0].extrapolate(mDelta.rot[1], cr, mDelta.dt); }