aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
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.cs18
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 {