aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index c45fc0f..d7660fd 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -140,6 +140,7 @@ namespace OpenSim.Region.Framework.Scenes
140 private Vector3? m_forceToApply; 140 private Vector3? m_forceToApply;
141 private uint m_requestedSitTargetID; 141 private uint m_requestedSitTargetID;
142 private UUID m_requestedSitTargetUUID; 142 private UUID m_requestedSitTargetUUID;
143 public bool SitGround = false;
143 144
144 private SendCourseLocationsMethod m_sendCourseLocationsMethod; 145 private SendCourseLocationsMethod m_sendCourseLocationsMethod;
145 146
@@ -1393,6 +1394,12 @@ namespace OpenSim.Region.Framework.Scenes
1393 { 1394 {
1394 m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. 1395 m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.
1395 Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); 1396 Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
1397
1398 // TODO: This doesn't prevent the user from walking yet.
1399 // Setting parent ID would fix this, if we knew what value
1400 // to use. Or we could add a m_isSitting variable.
1401 //Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
1402 SitGround = true;
1396 } 1403 }
1397 1404
1398 // In the future, these values might need to go global. 1405 // In the future, these values might need to go global.
@@ -1409,7 +1416,7 @@ namespace OpenSim.Region.Framework.Scenes
1409 1416
1410 bool update_movementflag = false; 1417 bool update_movementflag = false;
1411 1418
1412 if (m_allowMovement) 1419 if (m_allowMovement && !SitGround)
1413 { 1420 {
1414 if (agentData.UseClientAgentPosition) 1421 if (agentData.UseClientAgentPosition)
1415 { 1422 {
@@ -1637,7 +1644,7 @@ namespace OpenSim.Region.Framework.Scenes
1637 } 1644 }
1638 } 1645 }
1639 1646
1640 if (update_movementflag) 1647 if (update_movementflag && !SitGround)
1641 Animator.UpdateMovementAnimations(); 1648 Animator.UpdateMovementAnimations();
1642 1649
1643 m_scene.EventManager.TriggerOnClientMovement(this); 1650 m_scene.EventManager.TriggerOnClientMovement(this);
@@ -1748,6 +1755,8 @@ namespace OpenSim.Region.Framework.Scenes
1748 /// </summary> 1755 /// </summary>
1749 public void StandUp() 1756 public void StandUp()
1750 { 1757 {
1758 SitGround = false;
1759
1751 if (m_parentID != 0) 1760 if (m_parentID != 0)
1752 { 1761 {
1753 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); 1762 SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);