diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 21 |
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 | ||