Merge branch 'ubitwork' of ssh://3dhosting.de/var/git/careminster into ubitwork

avinationmerge
ubit 2013-01-03 04:33:50 +01:00
commit 1fffdc3866
1 changed files with 18 additions and 3 deletions

View File

@ -1990,7 +1990,8 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.DebugFormat("[SCENE PRESENCE]: Resetting move to target for {0}", Name); // m_log.DebugFormat("[SCENE PRESENCE]: Resetting move to target for {0}", Name);
MovingToTarget = false; MovingToTarget = false;
MoveToPositionTarget = Vector3.Zero; // MoveToPositionTarget = Vector3.Zero;
m_forceToApply = null; // cancel possible last action
// We need to reset the control flag as the ScenePresenceAnimator uses this to determine the correct // We need to reset the control flag as the ScenePresenceAnimator uses this to determine the correct
// resting animation (e.g. hover or stand). NPCs don't have a client that will quickly reset this flag. // resting animation (e.g. hover or stand). NPCs don't have a client that will quickly reset this flag.
@ -2140,12 +2141,18 @@ namespace OpenSim.Region.Framework.Scenes
if (canSit) if (canSit)
{ {
if (PhysicsActor != null) if (PhysicsActor != null)
{ {
// We can remove the physicsActor until they stand up. // We can remove the physicsActor until they stand up.
RemoveFromPhysicalScene(); RemoveFromPhysicalScene();
} }
if (MovingToTarget)
ResetMoveToTarget();
Velocity = Vector3.Zero;
part.AddSittingAvatar(UUID); part.AddSittingAvatar(UUID);
cameraAtOffset = part.GetCameraAtOffset(); cameraAtOffset = part.GetCameraAtOffset();
@ -2230,6 +2237,7 @@ namespace OpenSim.Region.Framework.Scenes
return true; return true;
} }
// not doing autopilot // not doing autopilot
m_requestedSitTargetID = 0; m_requestedSitTargetID = 0;
@ -2259,8 +2267,16 @@ namespace OpenSim.Region.Framework.Scenes
// m_log.InfoFormat("physsit {0} {1}", offset.ToString(),Orientation.ToString()); // m_log.InfoFormat("physsit {0} {1}", offset.ToString(),Orientation.ToString());
RemoveFromPhysicalScene();
if (MovingToTarget)
ResetMoveToTarget();
Velocity = Vector3.Zero;
part.AddSittingAvatar(UUID); part.AddSittingAvatar(UUID);
Vector3 cameraAtOffset = part.GetCameraAtOffset(); Vector3 cameraAtOffset = part.GetCameraAtOffset();
Vector3 cameraEyeOffset = part.GetCameraEyeOffset(); Vector3 cameraEyeOffset = part.GetCameraEyeOffset();
bool forceMouselook = part.GetForceMouselook(); bool forceMouselook = part.GetForceMouselook();
@ -2269,8 +2285,6 @@ namespace OpenSim.Region.Framework.Scenes
part.UUID, offset, Orientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook); part.UUID, offset, Orientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook);
// not using autopilot // not using autopilot
Velocity = Vector3.Zero;
RemoveFromPhysicalScene();
Rotation = Orientation; Rotation = Orientation;
m_pos = offset; m_pos = offset;
@ -2317,6 +2331,7 @@ namespace OpenSim.Region.Framework.Scenes
return; return;
} }
if (part.SitTargetAvatar == UUID) if (part.SitTargetAvatar == UUID)
{ {
Vector3 sitTargetPos = part.SitTargetPosition; Vector3 sitTargetPos = part.SitTargetPosition;