From 7f9ce6bd03a29308b021a3b03ca4ef4c69908137 Mon Sep 17 00:00:00 2001 From: Obique PSWG Date: Thu, 24 Nov 2016 23:40:54 -0600 Subject: [PATCH] Added a data transform fix that was supposed to be in the last commit --- .../awareness/DataTransformHandler.java | 26 ++++++++++--------- src/services/objects/ObjectAwareness.java | 4 +-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/resources/objects/awareness/DataTransformHandler.java b/src/resources/objects/awareness/DataTransformHandler.java index d7c7a7314..e84fb3a4c 100644 --- a/src/resources/objects/awareness/DataTransformHandler.java +++ b/src/resources/objects/awareness/DataTransformHandler.java @@ -42,35 +42,37 @@ public class DataTransformHandler { } - public boolean handleMove(SWGObject obj, Location requestedLocation, double speed, int update) { - obj.sendObservers(createTransform(obj, requestedLocation, speed, update)); + public boolean handleMove(SWGObject obj, double speed, int update) { + obj.sendObservers(createTransform(obj, speed, update)); return true; } - public boolean handleMove(SWGObject obj, SWGObject parent, Location requestedLocation, double speed, int update) { - obj.sendObservers(createTransform(obj, parent.getObjectId(), requestedLocation, speed, update)); + public boolean handleMove(SWGObject obj, SWGObject parent, double speed, int update) { + obj.sendObservers(createTransform(obj, parent.getObjectId(), speed, update)); return true; } - private UpdateTransformMessage createTransform(SWGObject obj, Location requestedLocation, double speed, int update) { + private UpdateTransformMessage createTransform(SWGObject obj, double speed, int update) { + Location loc = obj.getBuildoutLocation(); UpdateTransformMessage transform = new UpdateTransformMessage(); transform.setObjectId(obj.getObjectId()); - transform.setX((short) (requestedLocation.getX() * 4 + 0.5)); - transform.setY((short) (requestedLocation.getY() * 4 + 0.5)); - transform.setZ((short) (requestedLocation.getZ() * 4 + 0.5)); + transform.setX((short) (loc.getX() * 4 + 0.5)); + transform.setY((short) (loc.getY() * 4 + 0.5)); + transform.setZ((short) (loc.getZ() * 4 + 0.5)); transform.setUpdateCounter(obj.getNextUpdateCount()); - transform.setDirection(getMovementAngle(requestedLocation)); + transform.setDirection(getMovementAngle(loc)); transform.setSpeed((byte) (speed+0.5)); transform.setLookAtYaw((byte) 0); transform.setUseLookAtYaw(false); return transform; } - private UpdateTransformWithParentMessage createTransform(SWGObject obj, long cellId, Location requestedLocation, double speed, int update) { + private UpdateTransformWithParentMessage createTransform(SWGObject obj, long cellId, double speed, int update) { + Location loc = obj.getLocation(); UpdateTransformWithParentMessage transform = new UpdateTransformWithParentMessage(cellId, obj.getObjectId()); - transform.setLocation(requestedLocation); + transform.setLocation(loc); transform.setUpdateCounter(obj.getNextUpdateCount()); - transform.setDirection(getMovementAngle(requestedLocation)); + transform.setDirection(getMovementAngle(loc)); transform.setSpeed((byte) (speed + 0.5)); transform.setLookDirection((byte) 0); // lookAtYaw * 16 transform.setUseLookDirection(false); diff --git a/src/services/objects/ObjectAwareness.java b/src/services/objects/ObjectAwareness.java index 1fca3c6aa..b5beb66c6 100644 --- a/src/services/objects/ObjectAwareness.java +++ b/src/services/objects/ObjectAwareness.java @@ -308,14 +308,14 @@ public class ObjectAwareness extends Service implements TerrainMapCallback { private void moveObjectWithTransform(SWGObject obj, Location requestedLocation, double speed, int update) { moveObject(obj, requestedLocation); - dataTransformHandler.handleMove(obj, requestedLocation, speed, update); + dataTransformHandler.handleMove(obj, speed, update); if (obj instanceof CreatureObject && ((CreatureObject) obj).isLoggedInPlayer()) new PlayerTransformedIntent((CreatureObject) obj, obj.getParent(), null, obj.getLocation(), requestedLocation).broadcast(); } private void moveObjectWithTransform(SWGObject obj, SWGObject parent, Location requestedLocation, double speed, int update) { moveObject(obj, parent, requestedLocation); - dataTransformHandler.handleMove(obj, parent, requestedLocation, speed, update); + dataTransformHandler.handleMove(obj, parent, speed, update); if (obj instanceof CreatureObject && ((CreatureObject) obj).isLoggedInPlayer()) new PlayerTransformedIntent((CreatureObject) obj, obj.getParent(), parent, obj.getLocation(), requestedLocation).broadcast(); }