aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs21
1 files changed, 9 insertions, 12 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 47af3b8..7e3adb9 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2280,18 +2280,13 @@ namespace OpenSim.Region.Framework.Scenes
2280 m_lastChildAgentUpdateDrawDistance = DrawDistance; 2280 m_lastChildAgentUpdateDrawDistance = DrawDistance;
2281 m_lastChildAgentUpdatePosition = AbsolutePosition; 2281 m_lastChildAgentUpdatePosition = AbsolutePosition;
2282 m_childUpdatesBusy = false; // allow them 2282 m_childUpdatesBusy = false; // allow them
2283
2284
2285 } 2283 }
2286 2284
2287 m_log.DebugFormat("[CompleteMovement] openChildAgents: {0}ms", Util.EnvironmentTickCountSubtract(ts)); 2285 m_log.DebugFormat("[CompleteMovement] openChildAgents: {0}ms", Util.EnvironmentTickCountSubtract(ts));
2288 2286
2289
2290
2291 // send the rest of the world 2287 // send the rest of the world
2292 if (m_teleportFlags > 0 && !IsNPC || m_currentParcelHide) 2288 if (m_teleportFlags > 0 && !IsNPC || m_currentParcelHide)
2293 SendInitialDataToMe(); 2289 SendInitialDataToMe();
2294
2295 2290
2296 // priority uses avatar position only 2291 // priority uses avatar position only
2297// m_reprioritizationLastPosition = AbsolutePosition; 2292// m_reprioritizationLastPosition = AbsolutePosition;
@@ -2958,31 +2953,32 @@ namespace OpenSim.Region.Framework.Scenes
2958 Dir_ControlFlags.DIR_CONTROL_FLAG_DOWN)); 2953 Dir_ControlFlags.DIR_CONTROL_FLAG_DOWN));
2959 2954
2960 MovementFlag &= noMovFlagsMask; 2955 MovementFlag &= noMovFlagsMask;
2961 AgentControlFlags &= noMovFlagsMask; 2956 uint tmpAgentControlFlags = (uint)m_AgentControlFlags;
2957 tmpAgentControlFlags &= noMovFlagsMask;
2962 2958
2963 if (LocalVectorToTarget3D.X < 0) //MoveBack 2959 if (LocalVectorToTarget3D.X < 0) //MoveBack
2964 { 2960 {
2965 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_BACK; 2961 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_BACK;
2966 AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_BACK; 2962 tmpAgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_BACK;
2967 updated = true; 2963 updated = true;
2968 } 2964 }
2969 else if (LocalVectorToTarget3D.X > 0) //Move Forward 2965 else if (LocalVectorToTarget3D.X > 0) //Move Forward
2970 { 2966 {
2971 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_FORWARD; 2967 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_FORWARD;
2972 AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_FORWARD; 2968 tmpAgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_FORWARD;
2973 updated = true; 2969 updated = true;
2974 } 2970 }
2975 2971
2976 if (LocalVectorToTarget3D.Y > 0) //MoveLeft 2972 if (LocalVectorToTarget3D.Y > 0) //MoveLeft
2977 { 2973 {
2978 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_LEFT; 2974 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_LEFT;
2979 AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_LEFT; 2975 tmpAgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_LEFT;
2980 updated = true; 2976 updated = true;
2981 } 2977 }
2982 else if (LocalVectorToTarget3D.Y < 0) //MoveRight 2978 else if (LocalVectorToTarget3D.Y < 0) //MoveRight
2983 { 2979 {
2984 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_RIGHT; 2980 MovementFlag |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_RIGHT;
2985 AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_RIGHT; 2981 tmpAgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_RIGHT;
2986 updated = true; 2982 updated = true;
2987 } 2983 }
2988 2984
@@ -3006,6 +3002,7 @@ namespace OpenSim.Region.Framework.Scenes
3006// "[SCENE PRESENCE]: HandleMoveToTargetUpdate adding {0} to move vector {1} for {2}", 3002// "[SCENE PRESENCE]: HandleMoveToTargetUpdate adding {0} to move vector {1} for {2}",
3007// LocalVectorToTarget3D, agent_control_v3, Name); 3003// LocalVectorToTarget3D, agent_control_v3, Name);
3008 3004
3005 m_AgentControlFlags = (AgentManager.ControlFlags) tmpAgentControlFlags;
3009 agent_control_v3 += LocalVectorToTarget3D; 3006 agent_control_v3 += LocalVectorToTarget3D;
3010 } 3007 }
3011 catch (Exception e) 3008 catch (Exception e)
@@ -4970,8 +4967,8 @@ namespace OpenSim.Region.Framework.Scenes
4970 4967
4971// if (m_updateCount > 0) 4968// if (m_updateCount > 0)
4972// { 4969// {
4973 if (Animator != null && Animator.UpdateMovementAnimations()) 4970// if (Animator != null && Animator.UpdateMovementAnimations())
4974 TriggerScenePresenceUpdated(); 4971// TriggerScenePresenceUpdated();
4975// m_updateCount--; 4972// m_updateCount--;
4976// } 4973// }
4977 4974