Merge branch 'justincc-master'

master-beforevarregion
Justin Clark-Casey (justincc) 2014-01-08 01:04:26 +00:00
commit 32e9c16957
2 changed files with 19 additions and 8 deletions

View File

@ -5098,11 +5098,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// excessive up and down movements of the camera when looking up and down. // excessive up and down movements of the camera when looking up and down.
// See http://opensimulator.org/mantis/view.php?id=3274 // See http://opensimulator.org/mantis/view.php?id=3274
// This does not affect head movement, since this is controlled entirely by camera movement rather than // This does not affect head movement, since this is controlled entirely by camera movement rather than
// body rotation. It does not affect sitting avatar since it's the sitting part rotation that takes // body rotation. We still need to transmit X and Y for sitting avatars but mouselook does not change
// effect, not the avatar rotation. // the rotation in this case.
rotation = presence.Rotation; rotation = presence.Rotation;
rotation.X = 0;
rotation.Y = 0; if (!presence.IsSatOnObject)
{
rotation.X = 0;
rotation.Y = 0;
}
if (sendTexture) if (sendTexture)
textureEntry = presence.Appearance.Texture.GetBytes(); textureEntry = presence.Appearance.Texture.GetBytes();
@ -5225,11 +5229,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// excessive up and down movements of the camera when looking up and down. // excessive up and down movements of the camera when looking up and down.
// See http://opensimulator.org/mantis/view.php?id=3274 // See http://opensimulator.org/mantis/view.php?id=3274
// This does not affect head movement, since this is controlled entirely by camera movement rather than // This does not affect head movement, since this is controlled entirely by camera movement rather than
// body rotation. It does not affect sitting avatar since it's the sitting part rotation that takes // body rotation. We still need to transmit X and Y for sitting avatars but mouselook does not change
// effect, not the avatar rotation. // the rotation in this case.
Quaternion rot = data.Rotation; Quaternion rot = data.Rotation;
rot.X = 0;
rot.Y = 0; if (!data.IsSatOnObject)
{
rot.X = 0;
rot.Y = 0;
}
rot.ToBytes(objectData, 52); rot.ToBytes(objectData, 52);
//data.AngularVelocity.ToBytes(objectData, 64); //data.AngularVelocity.ToBytes(objectData, 64);

View File

@ -1902,6 +1902,8 @@ namespace OpenSim.Region.Framework.Scenes
ControllingClient.SendAgentTerseUpdate(this); ControllingClient.SendAgentTerseUpdate(this);
PhysicsActor actor = PhysicsActor; PhysicsActor actor = PhysicsActor;
// This will be the case if the agent is sitting on the groudn or on an object.
if (actor == null) if (actor == null)
{ {
SendControlsToScripts(flagsForScripts); SendControlsToScripts(flagsForScripts);