From 97fec5b814a357d07dc8f065793e6697fe4b26f5 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 10 Nov 2015 15:09:53 -0800 Subject: [PATCH] adjust how EntityMotionState updates its idea of what the server knows about an entity --- libraries/physics/src/EntityMotionState.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/libraries/physics/src/EntityMotionState.cpp b/libraries/physics/src/EntityMotionState.cpp index c7b72968c9..7c054598ab 100644 --- a/libraries/physics/src/EntityMotionState.cpp +++ b/libraries/physics/src/EntityMotionState.cpp @@ -445,24 +445,25 @@ void EntityMotionState::sendUpdate(OctreeEditPacketSender* packetSender, const Q _sentInactive = false; } - // remember properties for local server prediction + EntityItemProperties properties; + + + // explicitly set the properties that changed so that they will be packed if (!_serverShouldSuppressLocationEdits) { + // remember properties for local server prediction _serverPosition = _entity->getPosition(); _serverRotation = _entity->getRotation(); _serverVelocity = _entity->getVelocity(); _serverAcceleration = _entity->getAcceleration(); _serverAngularVelocity = _entity->getAngularVelocity(); + + properties.setPosition(_serverPosition); + properties.setRotation(_serverRotation); + properties.setVelocity(_serverVelocity); + properties.setAcceleration(_serverAcceleration); + properties.setAngularVelocity(_serverAngularVelocity); } _serverShouldSuppressLocationEdits = _entity->shouldSuppressLocationEdits(); - - EntityItemProperties properties; - - // explicitly set the properties that changed so that they will be packed - properties.setPosition(_serverPosition); - properties.setRotation(_serverRotation); - properties.setVelocity(_serverVelocity); - properties.setAcceleration(_serverAcceleration); - properties.setAngularVelocity(_serverAngularVelocity); properties.setActionData(_serverActionData); // set the LastEdited of the properties but NOT the entity itself