From 3433f3814acbed69b60f177576602a6cb6a3677c Mon Sep 17 00:00:00 2001 From: Dalien Talbot Date: Sat, 8 Sep 2007 16:30:39 +0000 Subject: Partial fix for the "avatars permanently facing east" - now the rotation is set correctly, but only with the movement of the avatar. The in-place rotation updates need a little bit of more thought, and will be in a separate commit. --- OpenSim/Region/Environment/Scenes/ScenePresence.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes') diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 1f8e5bb..c96d575 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs @@ -372,7 +372,7 @@ namespace OpenSim.Region.Environment.Scenes { this.bodyRot = q; update_rotation = true; - } + } foreach (Dir_ControlFlags DCF in Enum.GetValues(typeof(Dir_ControlFlags))) { if ((flags & (uint)DCF) != 0) @@ -495,7 +495,12 @@ namespace OpenSim.Region.Environment.Scenes { LLVector3 pos = this.AbsolutePosition; LLVector3 vel = this.Velocity; - RemoteClient.SendAvatarTerseUpdate(this.m_regionHandle, 64096, this.LocalId, new LLVector3(pos.X, pos.Y, pos.Z), new LLVector3(vel.X, vel.Y, vel.Z)); + LLQuaternion rot; + rot.X = this.bodyRot.x; + rot.Y = this.bodyRot.y; + rot.Z = this.bodyRot.z; + rot.W = this.bodyRot.w; + RemoteClient.SendAvatarTerseUpdate(this.m_regionHandle, 64096, this.LocalId, new LLVector3(pos.X, pos.Y, pos.Z), new LLVector3(vel.X, vel.Y, vel.Z), rot); } /// -- cgit v1.1