Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
avinationmerge
Melanie 2009-12-30 20:25:57 +00:00
commit d49d44923d
2 changed files with 22 additions and 1 deletions

View File

@ -151,7 +151,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation
const float PREJUMP_DELAY = 0.25f; const float PREJUMP_DELAY = 0.25f;
#region Inputs #region Inputs
if (m_scenePresence.SitGround)
{
return "SIT_GROUND_CONSTRAINED";
}
AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags; AgentManager.ControlFlags controlFlags = (AgentManager.ControlFlags)m_scenePresence.AgentControlFlags;
PhysicsActor actor = m_scenePresence.PhysicsActor; PhysicsActor actor = m_scenePresence.PhysicsActor;

View File

@ -129,6 +129,7 @@ namespace OpenSim.Region.Framework.Scenes
private Vector3? m_forceToApply; private Vector3? m_forceToApply;
private uint m_requestedSitTargetID; private uint m_requestedSitTargetID;
private UUID m_requestedSitTargetUUID; private UUID m_requestedSitTargetUUID;
public bool SitGround = false;
private SendCourseLocationsMethod m_sendCourseLocationsMethod; private SendCourseLocationsMethod m_sendCourseLocationsMethod;
@ -1299,8 +1300,17 @@ namespace OpenSim.Region.Framework.Scenes
if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) != 0) if ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) != 0)
{ {
<<<<<<< HEAD:OpenSim/Region/Framework/Scenes/ScenePresence.cs
m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick. m_updateCount = 0; // Kill animation update burst so that the SIT_G.. will stick.
Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED"); Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
=======
// TODO: This doesn't prevent the user from walking yet.
// Setting parent ID would fix this, if we knew what value
// to use. Or we could add a m_isSitting variable.
//Animator.TrySetMovementAnimation("SIT_GROUND_CONSTRAINED");
SitGround = true;
>>>>>>> master:OpenSim/Region/Framework/Scenes/ScenePresence.cs
} }
// In the future, these values might need to go global. // In the future, these values might need to go global.
@ -1540,7 +1550,11 @@ namespace OpenSim.Region.Framework.Scenes
} }
} }
<<<<<<< HEAD:OpenSim/Region/Framework/Scenes/ScenePresence.cs
if (update_movementflag) if (update_movementflag)
=======
if (update_movementflag && ((flags & AgentManager.ControlFlags.AGENT_CONTROL_SIT_ON_GROUND) == 0) && (m_parentID == 0) && !SitGround)
>>>>>>> master:OpenSim/Region/Framework/Scenes/ScenePresence.cs
Animator.UpdateMovementAnimations(); Animator.UpdateMovementAnimations();
m_scene.EventManager.TriggerOnClientMovement(this); m_scene.EventManager.TriggerOnClientMovement(this);
@ -1651,8 +1665,12 @@ namespace OpenSim.Region.Framework.Scenes
/// </summary> /// </summary>
public void StandUp() public void StandUp()
{ {
if (SitGround)
SitGround = false;
if (m_parentID != 0) if (m_parentID != 0)
{ {
m_log.Debug("StandupCode Executed");
SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID); SceneObjectPart part = m_scene.GetSceneObjectPart(m_parentID);
if (part != null) if (part != null)
{ {