aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs5
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs11
2 files changed, 13 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index 8b1d705..fd526eb 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -146,7 +146,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
146 const float PREJUMP_DELAY = 0.25f; 146 const float PREJUMP_DELAY = 0.25f;
147 147
148 #region Inputs 148 #region Inputs
149 149 if (m_scenePresence.SitGround)
150 {
151 return "SIT_GROUND_CONSTRAINED";
152 }
150 AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags; 153 AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags;
151 PhysicsActor actor = m_scenePresence.PhysicsActor; 154 PhysicsActor actor = m_scenePresence.PhysicsActor;
152 155
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 4c2de27..277081a 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -124,6 +124,7 @@ namespace OpenSim.Region.Framework.Scenes
124 private Vector3? m_forceToApply; 124 private Vector3? m_forceToApply;
125 private uint m_requestedSitTargetID; 125 private uint m_requestedSitTargetID;
126 private UUID m_requestedSitTargetUUID; 126 private UUID m_requestedSitTargetUUID;
127 public bool SitGround = false;
127 128
128 private SendCourseLocationsMethod m_sendCourseLocationsMethod; 129 private SendCourseLocationsMethod m_sendCourseLocationsMethod;
129 130
@@ -1254,7 +1255,9 @@ namespace OpenSim.Region.Framework.Scenes
1254 // TODO: This doesn't prevent the user from walking yet. 1255 // TODO: This doesn't prevent the user from walking yet.
1255 // Setting parent ID would fix this, if we knew what value 1256 // Setting parent ID would fix this, if we knew what value
1256 // to use. Or we could add a m_isSitting variable. 1257 // to use. Or we could add a m_isSitting variable.
1257 Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); 1258 //Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
1259 SitGround = true;
1260
1258 } 1261 }
1259 1262
1260 // In the future, these values might need to go global. 1263 // In the future, these values might need to go global.
@@ -1495,7 +1498,7 @@ namespace OpenSim.Region.Framework.Scenes
1495 } 1498 }
1496 } 1499 }
1497 1500
1498 if (update_movementflag && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) == 0) && (m_parentID == 0)) 1501 if (update_movementflag && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) == 0) && (m_parentID == 0) && !SitGround)
1499 Animator.UpdateMovementAnimations(); 1502 Animator.UpdateMovementAnimations();
1500 1503
1501 m_scene.EventManager.TriggerOnClientMovement(this); 1504 m_scene.EventManager.TriggerOnClientMovement(this);
@@ -1607,8 +1610,12 @@ namespace OpenSim.Region.Framework.Scenes
1607 /// </summary> 1610 /// </summary>
1608 public void StandUp() 1611 public void StandUp()
1609 { 1612 {
1613 if (SitGround)
1614 SitGround = false;
1615
1610 if (m_parentID != 0) 1616 if (m_parentID != 0)
1611 { 1617 {
1618 m_log.Debug("StandupCode Executed");
1612 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); 1619 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
1613 if (part != null) 1620 if (part != null)
1614 { 1621 {