diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index c8ecc9bf90..2ff3fb7f63 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -797,7 +797,14 @@ namespace OpenSim.Region.Framework.Scenes
m_rotationOffset = actor.Orientation;
}
}
-
+
+// float roll, pitch, yaw = 0;
+// m_rotationOffset.GetEulerAngles(out roll, out pitch, out yaw);
+//
+// m_log.DebugFormat(
+// "[SCENE OBJECT PART]: Got euler {0} for RotationOffset on {1} {2}",
+// new Vector3(roll, pitch, yaw), Name, LocalId);
+
return m_rotationOffset;
}
@@ -834,6 +841,13 @@ namespace OpenSim.Region.Framework.Scenes
m_log.Error("[SCENEOBJECTPART]: ROTATIONOFFSET" + ex.Message);
}
}
+
+// float roll, pitch, yaw = 0;
+// m_rotationOffset.GetEulerAngles(out roll, out pitch, out yaw);
+//
+// m_log.DebugFormat(
+// "[SCENE OBJECT PART]: Set euler {0} for RotationOffset on {1} {2}",
+// new Vector3(roll, pitch, yaw), Name, LocalId);
}
}
@@ -4495,12 +4509,13 @@ namespace OpenSim.Region.Framework.Scenes
PhysActor = null;
}
+ ///
+ /// This updates the part's rotation and sends out an update to clients if necessary.
+ ///
+ ///
public void UpdateRotation(Quaternion rot)
{
- if ((rot.X != RotationOffset.X) ||
- (rot.Y != RotationOffset.Y) ||
- (rot.Z != RotationOffset.Z) ||
- (rot.W != RotationOffset.W))
+ if (rot != RotationOffset)
{
RotationOffset = rot;
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index ee6c708d3f..38cdd77e5c 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1769,7 +1769,7 @@ namespace OpenSim.Region.Framework.Scenes
Rotation = Quaternion.CreateFromEulers(angle);
// m_log.DebugFormat("[SCENE PRESENCE]: Body rot for {0} set to {1}", Name, Rotation);
-
+
Vector3 agent_control_v3 = new Vector3();
HandleMoveToTargetUpdate(ref agent_control_v3);
AddNewMovement(agent_control_v3);