diff options
author | Melanie | 2010-01-26 14:53:14 +0000 |
---|---|---|
committer | Melanie | 2010-01-26 14:53:14 +0000 |
commit | b80ea002654bd0ab232aee2b0f842be18b8d4edc (patch) | |
tree | 35971637efd7ec9cbfaee88bc5ea56edffddfc1b /OpenSim/Region/Framework/Scenes/ScenePresence.cs | |
parent | Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into ... (diff) | |
parent | Replace dome tabs with spaces (diff) | |
download | opensim-SC-b80ea002654bd0ab232aee2b0f842be18b8d4edc.zip opensim-SC-b80ea002654bd0ab232aee2b0f842be18b8d4edc.tar.gz opensim-SC-b80ea002654bd0ab232aee2b0f842be18b8d4edc.tar.bz2 opensim-SC-b80ea002654bd0ab232aee2b0f842be18b8d4edc.tar.xz |
Merge branch 'master' into careminster
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 64bfaba..27df3b2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1319,6 +1319,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1319 | 1319 | ||
1320 | if (m_allowMovement) | 1320 | if (m_allowMovement) |
1321 | { | 1321 | { |
1322 | if (agentData.UseClientAgentPosition) | ||
1323 | { | ||
1324 | m_moveToPositionInProgress = (agentData.ClientAgentPosition - AbsolutePosition).Length() > 0.2f; | ||
1325 | m_moveToPositionTarget = agentData.ClientAgentPosition; | ||
1326 | } | ||
1327 | |||
1322 | int i = 0; | 1328 | int i = 0; |
1323 | 1329 | ||
1324 | bool update_rotation = false; | 1330 | bool update_rotation = false; |
@@ -1421,7 +1427,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1421 | if (bAllowUpdateMoveToPosition && (m_moveToPositionInProgress && !m_autopilotMoving)) | 1427 | if (bAllowUpdateMoveToPosition && (m_moveToPositionInProgress && !m_autopilotMoving)) |
1422 | { | 1428 | { |
1423 | //Check the error term of the current position in relation to the target position | 1429 | //Check the error term of the current position in relation to the target position |
1424 | if (Util.GetDistanceTo(AbsolutePosition, m_moveToPositionTarget) <= 1.5f) | 1430 | if (Util.GetDistanceTo(AbsolutePosition, m_moveToPositionTarget) <= 0.5f) |
1425 | { | 1431 | { |
1426 | // we are close enough to the target | 1432 | // we are close enough to the target |
1427 | m_moveToPositionTarget = Vector3.Zero; | 1433 | m_moveToPositionTarget = Vector3.Zero; |
@@ -2969,7 +2975,15 @@ namespace OpenSim.Region.Framework.Scenes | |||
2969 | protected void CrossToNewRegion() | 2975 | protected void CrossToNewRegion() |
2970 | { | 2976 | { |
2971 | InTransit(); | 2977 | InTransit(); |
2972 | m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); | 2978 | try |
2979 | { | ||
2980 | m_scene.CrossAgentToNewRegion(this, m_physicsActor.Flying); | ||
2981 | } | ||
2982 | catch(Exception ex) | ||
2983 | { | ||
2984 | m_scene.CrossAgentToNewRegion(this, false); | ||
2985 | } | ||
2986 | |||
2973 | } | 2987 | } |
2974 | 2988 | ||
2975 | public void InTransit() | 2989 | public void InTransit() |