diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 46 | ||||
-rw-r--r-- | OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | 6 |
3 files changed, 15 insertions, 39 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 1370afc..57baa99 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1650,7 +1650,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1650 | ScenePresence avatar = m_scene.GetScenePresence(rootpart.AttachedAvatar); | 1650 | ScenePresence avatar = m_scene.GetScenePresence(rootpart.AttachedAvatar); |
1651 | if (avatar != null) | 1651 | if (avatar != null) |
1652 | { | 1652 | { |
1653 | avatar.DoMoveToPosition(target); | 1653 | avatar.MoveToTarget(target); |
1654 | } | 1654 | } |
1655 | } | 1655 | } |
1656 | else | 1656 | else |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 19b7f19..f482974 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -780,7 +780,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
780 | m_controllingClient.OnStartAnim += HandleStartAnim; | 780 | m_controllingClient.OnStartAnim += HandleStartAnim; |
781 | m_controllingClient.OnStopAnim += HandleStopAnim; | 781 | m_controllingClient.OnStopAnim += HandleStopAnim; |
782 | m_controllingClient.OnForceReleaseControls += HandleForceReleaseControls; | 782 | m_controllingClient.OnForceReleaseControls += HandleForceReleaseControls; |
783 | m_controllingClient.OnAutoPilotGo += DoMoveToPosition; | 783 | m_controllingClient.OnAutoPilotGo += MoveToTarget; |
784 | 784 | ||
785 | // ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange); | 785 | // ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange); |
786 | // ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement); | 786 | // ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement); |
@@ -1484,7 +1484,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1484 | i++; | 1484 | i++; |
1485 | } | 1485 | } |
1486 | 1486 | ||
1487 | if (DoMoveToPositionUpdate(ref agent_control_v3, bodyRotation, bResetMoveToPosition, bAllowUpdateMoveToPosition)) | 1487 | if (HandleMoveToPositionUpdate(ref agent_control_v3, bodyRotation, bResetMoveToPosition, bAllowUpdateMoveToPosition)) |
1488 | update_movementflag = true; | 1488 | update_movementflag = true; |
1489 | } | 1489 | } |
1490 | 1490 | ||
@@ -1547,7 +1547,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1547 | /// <param value="reset">If true, clear the move to position</param> | 1547 | /// <param value="reset">If true, clear the move to position</param> |
1548 | /// <param value="allowUpdate">If true, allow the update in principle.</param> | 1548 | /// <param value="allowUpdate">If true, allow the update in principle.</param> |
1549 | /// <returns>True if movement has been updated in some way. False otherwise.</returns> | 1549 | /// <returns>True if movement has been updated in some way. False otherwise.</returns> |
1550 | public bool DoMoveToPositionUpdate( | 1550 | public bool HandleMoveToPositionUpdate( |
1551 | ref Vector3 agent_control_v3, Quaternion bodyRotation, bool reset, bool allowUpdate) | 1551 | ref Vector3 agent_control_v3, Quaternion bodyRotation, bool reset, bool allowUpdate) |
1552 | { | 1552 | { |
1553 | // m_log.DebugFormat("[SCENE PRESENCE]: Called DoMoveToPositionUpdate() for {0}", Name); | 1553 | // m_log.DebugFormat("[SCENE PRESENCE]: Called DoMoveToPositionUpdate() for {0}", Name); |
@@ -1557,7 +1557,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1557 | //Paupaw:Do Proper PID for Autopilot here | 1557 | //Paupaw:Do Proper PID for Autopilot here |
1558 | if (reset) | 1558 | if (reset) |
1559 | { | 1559 | { |
1560 | ResetMoveToPosition(); | 1560 | ResetMoveToTarget(); |
1561 | updated = true; | 1561 | updated = true; |
1562 | } | 1562 | } |
1563 | 1563 | ||
@@ -1646,6 +1646,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1646 | 1646 | ||
1647 | if (LocalVectorToTarget3D.Z > 0) //Up | 1647 | if (LocalVectorToTarget3D.Z > 0) //Up |
1648 | { | 1648 | { |
1649 | // Don't set these flags for up or down - doing so will make the avatar crouch or | ||
1650 | // keep trying to jump even if walking along level ground | ||
1649 | //m_movementflag += (byte)(uint)Dir_ControlFlags.DIR_CONTROL_FLAG_UP; | 1651 | //m_movementflag += (byte)(uint)Dir_ControlFlags.DIR_CONTROL_FLAG_UP; |
1650 | //AgentControlFlags | 1652 | //AgentControlFlags |
1651 | //AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_UP; | 1653 | //AgentControlFlags |= (uint)Dir_ControlFlags.DIR_CONTROL_FLAG_UP; |
@@ -1671,37 +1673,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1671 | return updated; | 1673 | return updated; |
1672 | } | 1674 | } |
1673 | 1675 | ||
1674 | // public void DoAutoPilot(uint not_used, Vector3 Pos, IClientAPI remote_client) | ||
1675 | // { | ||
1676 | // m_autopilotMoving = true; | ||
1677 | // m_autoPilotTarget = Pos; | ||
1678 | // m_sitAtAutoTarget = false; | ||
1679 | // PrimitiveBaseShape proxy = PrimitiveBaseShape.Default; | ||
1680 | // //proxy.PCode = (byte)PCode.ParticleSystem; | ||
1681 | // | ||
1682 | // proxyObjectGroup = new SceneObjectGroup(UUID, Pos, Rotation, proxy); | ||
1683 | // proxyObjectGroup.AttachToScene(m_scene); | ||
1684 | // | ||
1685 | // // Commented out this code since it could never have executed, but might still be informative. | ||
1686 | //// if (proxyObjectGroup != null) | ||
1687 | //// { | ||
1688 | // proxyObjectGroup.SendGroupFullUpdate(); | ||
1689 | // remote_client.SendSitResponse(proxyObjectGroup.UUID, Vector3.Zero, Quaternion.Identity, true, Vector3.Zero, Vector3.Zero, false); | ||
1690 | // m_scene.DeleteSceneObject(proxyObjectGroup, false); | ||
1691 | //// } | ||
1692 | //// else | ||
1693 | //// { | ||
1694 | //// m_autopilotMoving = false; | ||
1695 | //// m_autoPilotTarget = Vector3.Zero; | ||
1696 | //// ControllingClient.SendAlertMessage("Autopilot cancelled"); | ||
1697 | //// } | ||
1698 | // } | ||
1699 | |||
1700 | /// <summary> | 1676 | /// <summary> |
1701 | /// Move this presence to the given position over time. | 1677 | /// Move to the given target over time. |
1702 | /// </summary> | 1678 | /// </summary> |
1703 | /// <param name="pos"></param> | 1679 | /// <param name="pos"></param> |
1704 | public void DoMoveToPosition(Vector3 pos) | 1680 | public void MoveToTarget(Vector3 pos) |
1705 | { | 1681 | { |
1706 | // m_log.DebugFormat( | 1682 | // m_log.DebugFormat( |
1707 | // "[SCENE PRESENCE]: Avatar {0} received request to move to position {1} in {2}", | 1683 | // "[SCENE PRESENCE]: Avatar {0} received request to move to position {1} in {2}", |
@@ -1726,14 +1702,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
1726 | MoveToPositionTarget = pos; | 1702 | MoveToPositionTarget = pos; |
1727 | 1703 | ||
1728 | Vector3 agent_control_v3 = new Vector3(); | 1704 | Vector3 agent_control_v3 = new Vector3(); |
1729 | DoMoveToPositionUpdate(ref agent_control_v3, Rotation, false, true); | 1705 | HandleMoveToPositionUpdate(ref agent_control_v3, Rotation, false, true); |
1730 | AddNewMovement(agent_control_v3, Rotation); | 1706 | AddNewMovement(agent_control_v3, Rotation); |
1731 | } | 1707 | } |
1732 | 1708 | ||
1733 | /// <summary> | 1709 | /// <summary> |
1734 | /// Reset the move to position. | 1710 | /// Reset the move to target. |
1735 | /// </summary> | 1711 | /// </summary> |
1736 | public void ResetMoveToPosition() | 1712 | public void ResetMoveToTarget() |
1737 | { | 1713 | { |
1738 | MoveToPositionTarget = Vector3.Zero; | 1714 | MoveToPositionTarget = Vector3.Zero; |
1739 | m_moveToPositionInProgress = false; | 1715 | m_moveToPositionInProgress = false; |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index a78ad0c..1d88e43 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs | |||
@@ -74,7 +74,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
74 | { | 74 | { |
75 | // m_log.DebugFormat("[NPC MODULE]: Stopping movement of npc {0} {1}", presence.Name, presence.UUID); | 75 | // m_log.DebugFormat("[NPC MODULE]: Stopping movement of npc {0} {1}", presence.Name, presence.UUID); |
76 | // We are close enough to the target for now | 76 | // We are close enough to the target for now |
77 | presence.ResetMoveToPosition(); | 77 | presence.ResetMoveToTarget(); |
78 | presence.Velocity = Vector3.Zero; | 78 | presence.Velocity = Vector3.Zero; |
79 | 79 | ||
80 | // FIXME: This doesn't work | 80 | // FIXME: This doesn't work |
@@ -86,7 +86,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
86 | else | 86 | else |
87 | { | 87 | { |
88 | Vector3 agent_control_v3 = new Vector3(); | 88 | Vector3 agent_control_v3 = new Vector3(); |
89 | presence.DoMoveToPositionUpdate(ref agent_control_v3, presence.Rotation, false, true); | 89 | presence.HandleMoveToPositionUpdate(ref agent_control_v3, presence.Rotation, false, true); |
90 | presence.AddNewMovement(agent_control_v3, presence.Rotation); | 90 | presence.AddNewMovement(agent_control_v3, presence.Rotation); |
91 | } | 91 | } |
92 | // | 92 | // |
@@ -189,7 +189,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
189 | m_log.DebugFormat( | 189 | m_log.DebugFormat( |
190 | "[NPC MODULE]: Moving {0} to {1} in {2}", sp.Name, pos, scene.RegionInfo.RegionName); | 190 | "[NPC MODULE]: Moving {0} to {1} in {2}", sp.Name, pos, scene.RegionInfo.RegionName); |
191 | 191 | ||
192 | sp.DoMoveToPosition(pos); | 192 | sp.MoveToTarget(pos); |
193 | } | 193 | } |
194 | } | 194 | } |
195 | } | 195 | } |