From e61f42ad3a4a315d4eb56107bb6ead7092035bff Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 21 Jan 2010 23:59:04 -0800 Subject: add a target position to agent updates to ScenePresence to support alternative client protocols --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 39a2c65..1c183f3 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -1276,6 +1276,12 @@ namespace OpenSim.Region.Framework.Scenes if (m_allowMovement) { + if (agentData.UseClientAgentPosition) + { + m_moveToPositionInProgress = (agentData.ClientAgentPosition - AbsolutePosition).Length() > 0.2f; + m_moveToPositionTarget = agentData.ClientAgentPosition; + } + int i = 0; bool update_rotation = false; @@ -1382,7 +1388,7 @@ namespace OpenSim.Region.Framework.Scenes if (bAllowUpdateMoveToPosition && (m_moveToPositionInProgress && !m_autopilotMoving)) { //Check the error term of the current position in relation to the target position - if (Util.GetDistanceTo(AbsolutePosition, m_moveToPositionTarget) <= 1.5f) + if (Util.GetDistanceTo(AbsolutePosition, m_moveToPositionTarget) <= 0.5f) { // we are close enough to the target m_moveToPositionTarget = Vector3.Zero; -- cgit v1.1 From fe06f0dd05fa783a6d3d7e7aa2b5614c9825e8fe Mon Sep 17 00:00:00 2001 From: Revolution Date: Sat, 23 Jan 2010 20:29:02 -0600 Subject: Fixes Region Crossings on a prim. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 1c183f3..5562e51 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2779,7 +2779,15 @@ namespace OpenSim.Region.Framework.Scenes protected void CrossToNewRegion() { InTransit(); - m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); + try + { + m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); + } + catch(Exception ex) + { + m_scene.CrossAgentToNewRegion(this, false); + } + } public void InTransit() -- cgit v1.1 From 72dd680dd3808f0222bb4cba0c9989c5bbb00287 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 26 Jan 2010 14:46:53 +0000 Subject: Replace dome tabs with spaces --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 5562e51..e26283d 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2781,11 +2781,11 @@ namespace OpenSim.Region.Framework.Scenes InTransit(); try { - m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); + m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); } catch(Exception ex) { - m_scene.CrossAgentToNewRegion(this, false); + m_scene.CrossAgentToNewRegion(this, false); } } @@ -3860,4 +3860,4 @@ namespace OpenSim.Region.Framework.Scenes } } } -} \ No newline at end of file +} -- cgit v1.1