diff options
author | Teravus Ovares (Dan Olivares) | 2009-12-30 15:55:49 -0500 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-12-30 15:55:49 -0500 |
commit | e6c71d6df6ef0f2836323c8ae2e59da2d1104f74 (patch) | |
tree | 5521fd28ab1dc65ac77d2d27f8f9f811320559d7 /OpenSim | |
parent | * Makes forward and backward key reactions faster by responding to the NUDGE ... (diff) | |
download | opensim-SC-e6c71d6df6ef0f2836323c8ae2e59da2d1104f74.zip opensim-SC-e6c71d6df6ef0f2836323c8ae2e59da2d1104f74.tar.gz opensim-SC-e6c71d6df6ef0f2836323c8ae2e59da2d1104f74.tar.bz2 opensim-SC-e6c71d6df6ef0f2836323c8ae2e59da2d1104f74.tar.xz |
* Fixes Sitting on the ground.
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | 5 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 11 |
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 | { |