diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 18 |
2 files changed, 22 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index e98f0e7..6c64484 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | |||
@@ -151,7 +151,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
151 | const float PREJUMP_DELAY = 0.25f; | 151 | const float PREJUMP_DELAY = 0.25f; |
152 | 152 | ||
153 | #region Inputs | 153 | #region Inputs |
154 | 154 | if (m_scenePresence.SitGround) | |
155 | { | ||
156 | return "SIT_GROUND_CONSTRAINED"; | ||
157 | } | ||
155 | AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags; | 158 | AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags; |
156 | PhysicsActor actor = m_scenePresence.PhysicsActor; | 159 | PhysicsActor actor = m_scenePresence.PhysicsActor; |
157 | 160 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index c3bc96a..ee76cb6 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -129,6 +129,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
129 | private Vector3? m_forceToApply; | 129 | private Vector3? m_forceToApply; |
130 | private uint m_requestedSitTargetID; | 130 | private uint m_requestedSitTargetID; |
131 | private UUID m_requestedSitTargetUUID; | 131 | private UUID m_requestedSitTargetUUID; |
132 | public bool SitGround = false; | ||
132 | 133 | ||
133 | private SendCourseLocationsMethod m_sendCourseLocationsMethod; | 134 | private SendCourseLocationsMethod m_sendCourseLocationsMethod; |
134 | 135 | ||
@@ -1299,8 +1300,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
1299 | 1300 | ||
1300 | if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) != 0) | 1301 | if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) != 0) |
1301 | { | 1302 | { |
1303 | <<<<<<< HEAD:OpenSim/Region/Framework/Scenes/ScenePresence.cs | ||
1302 | m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. | 1304 | m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. |
1303 | Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); | 1305 | Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); |
1306 | ======= | ||
1307 | // TODO: This doesn't prevent the user from walking yet. | ||
1308 | // Setting parent ID would fix this, if we knew what value | ||
1309 | // to use. Or we could add a m_isSitting variable. | ||
1310 | //Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); | ||
1311 | SitGround = true; | ||
1312 | |||
1313 | >>>>>>> master:OpenSim/Region/Framework/Scenes/ScenePresence.cs | ||
1304 | } | 1314 | } |
1305 | 1315 | ||
1306 | // In the future, these values might need to go global. | 1316 | // In the future, these values might need to go global. |
@@ -1540,7 +1550,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1540 | } | 1550 | } |
1541 | } | 1551 | } |
1542 | 1552 | ||
1553 | <<<<<<< HEAD:OpenSim/Region/Framework/Scenes/ScenePresence.cs | ||
1543 | if (update_movementflag) | 1554 | if (update_movementflag) |
1555 | ======= | ||
1556 | if (update_movementflag && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) == 0) && (m_parentID == 0) && !SitGround) | ||
1557 | >>>>>>> master:OpenSim/Region/Framework/Scenes/ScenePresence.cs | ||
1544 | Animator.UpdateMovementAnimations(); | 1558 | Animator.UpdateMovementAnimations(); |
1545 | 1559 | ||
1546 | m_scene.EventManager.TriggerOnClientMovement(this); | 1560 | m_scene.EventManager.TriggerOnClientMovement(this); |
@@ -1651,8 +1665,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1651 | /// </summary> | 1665 | /// </summary> |
1652 | public void StandUp() | 1666 | public void StandUp() |
1653 | { | 1667 | { |
1668 | if (SitGround) | ||
1669 | SitGround = false; | ||
1670 | |||
1654 | if (m_parentID != 0) | 1671 | if (m_parentID != 0) |
1655 | { | 1672 | { |
1673 | m_log.Debug("StandupCode Executed"); | ||
1656 | SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); | 1674 | SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); |
1657 | if (part != null) | 1675 | if (part != null) |
1658 | { | 1676 | { |