aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorKitto Flora2009-12-15 01:49:23 -0500
committerKitto Flora2009-12-15 01:49:23 -0500
commitb8b4517211d332f76c022075f81cfefd41877d14 (patch)
tree508f757695c2910fd67ee2a96c4e99cd5f48505b /OpenSim/Region/Framework
parentMerge branch 'master' into tests (diff)
downloadopensim-SC-b8b4517211d332f76c022075f81cfefd41877d14.zip
opensim-SC-b8b4517211d332f76c022075f81cfefd41877d14.tar.gz
opensim-SC-b8b4517211d332f76c022075f81cfefd41877d14.tar.bz2
opensim-SC-b8b4517211d332f76c022075f81cfefd41877d14.tar.xz
Removed excessive call to UpdateMovementAnimations which prevented GroundSit; Corrected cause of 'sit on roof'.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs48
1 files changed, 23 insertions, 25 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index d0c20ff..c67463a 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -670,8 +670,7 @@ namespace OpenSim.Region.Framework.Scenes
670 670
671 671
672 AdjustKnownSeeds(); 672 AdjustKnownSeeds();
673 673 Animator.TrySetMovementAnimation("STAND");
674 Animator.TrySetMovementAnimation("STAND");
675 // we created a new ScenePresence (a new child agent) in a fresh region. 674 // we created a new ScenePresence (a new child agent) in a fresh region.
676 // Request info about all the (root) agents in this region 675 // Request info about all the (root) agents in this region
677 // Note: This won't send data *to* other clients in that region (children don't send) 676 // Note: This won't send data *to* other clients in that region (children don't send)
@@ -1691,7 +1690,6 @@ namespace OpenSim.Region.Framework.Scenes
1691 SetHeight(m_avHeight); 1690 SetHeight(m_avHeight);
1692 } 1691 }
1693 } 1692 }
1694
1695 Animator.TrySetMovementAnimation("STAND"); 1693 Animator.TrySetMovementAnimation("STAND");
1696 } 1694 }
1697 1695
@@ -1858,15 +1856,15 @@ namespace OpenSim.Region.Framework.Scenes
1858 (offset * partRot); 1856 (offset * partRot);
1859 } 1857 }
1860 1858
1861Console.WriteLine(" "); 1859//Console.WriteLine(" ");
1862Console.WriteLine("link number ={0}", part.LinkNum); 1860//Console.WriteLine("link number ={0}", part.LinkNum);
1863Console.WriteLine("Prim offset ={0}", part.OffsetPosition ); 1861//Console.WriteLine("Prim offset ={0}", part.OffsetPosition );
1864Console.WriteLine("Root Rotate ={0}", part.ParentGroup.RootPart.RotationOffset); 1862//Console.WriteLine("Root Rotate ={0}", part.ParentGroup.RootPart.RotationOffset);
1865Console.WriteLine("Click offst ={0}", offset); 1863//Console.WriteLine("Click offst ={0}", offset);
1866Console.WriteLine("Prim Rotate ={0}", part.GetWorldRotation()); 1864//Console.WriteLine("Prim Rotate ={0}", part.GetWorldRotation());
1867Console.WriteLine("offsetr ={0}", offsetr); 1865//Console.WriteLine("offsetr ={0}", offsetr);
1868Console.WriteLine("Camera At ={0}", cameraAtOffset); 1866//Console.WriteLine("Camera At ={0}", cameraAtOffset);
1869Console.WriteLine("Camera Eye ={0}", cameraEyeOffset); 1867//Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
1870 1868
1871 ControllingClient.SendSitResponse(part.UUID, offsetr, sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook); 1869 ControllingClient.SendSitResponse(part.UUID, offsetr, sitOrientation, autopilot, cameraAtOffset, cameraEyeOffset, forceMouselook);
1872 m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target 1870 m_requestedSitTargetUUID = part.UUID; //KF: Correct autopilot target
@@ -2218,7 +2216,7 @@ Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
2218 m_avUnscriptedSitPos; // adds click offset, if any 2216 m_avUnscriptedSitPos; // adds click offset, if any
2219 //Set up raytrace to find top surface of prim 2217 //Set up raytrace to find top surface of prim
2220 Vector3 size = part.Scale; 2218 Vector3 size = part.Scale;
2221 float mag = 0.1f + (float)Math.Sqrt((size.X * size.X) + (size.Y * size.Y) + (size.Z * size.Z)); 2219 float mag = 2.0f; // 0.1f + (float)Math.Sqrt((size.X * size.X) + (size.Y * size.Y) + (size.Z * size.Z));
2222 Vector3 start = part.AbsolutePosition + new Vector3(0f, 0f, mag); 2220 Vector3 start = part.AbsolutePosition + new Vector3(0f, 0f, mag);
2223 Vector3 down = new Vector3(0f, 0f, -1f); 2221 Vector3 down = new Vector3(0f, 0f, -1f);
2224//Console.WriteLine("st={0} do={1} ma={2}", start, down, mag); 2222//Console.WriteLine("st={0} do={1} ma={2}", start, down, mag);
@@ -2267,7 +2265,7 @@ Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
2267 Vector3 offset = new Vector3(0.0f, 0.0f, offZ) * partIRot; // Altitude correction 2265 Vector3 offset = new Vector3(0.0f, 0.0f, offZ) * partIRot; // Altitude correction
2268//Console.WriteLine("sitPoint={0}, offset={1}", sitPoint, offset); 2266//Console.WriteLine("sitPoint={0}, offset={1}", sitPoint, offset);
2269 m_pos += offset; 2267 m_pos += offset;
2270 ControllingClient.SendClearFollowCamProperties(part.UUID); 2268// ControllingClient.SendClearFollowCamProperties(part.UUID);
2271 2269
2272 } 2270 }
2273 } // End SitAltitudeCallback KF. 2271 } // End SitAltitudeCallback KF.
@@ -3297,7 +3295,7 @@ Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
3297 m_updateflag = true; 3295 m_updateflag = true;
3298 Velocity = force; 3296 Velocity = force;
3299 m_isNudging = false; 3297 m_isNudging = false;
3300 m_updateCount = UPDATE_COUNT; //KF: Update anims to pickup "STAND" 3298 m_updateCount = UPDATE_COUNT; //KF: Update anims to pickup "STAND"
3301 } 3299 }
3302 } 3300 }
3303 } 3301 }
@@ -3349,19 +3347,19 @@ Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
3349 // Event called by the physics plugin to tell the avatar about a collision. 3347 // Event called by the physics plugin to tell the avatar about a collision.
3350 private void PhysicsCollisionUpdate(EventArgs e) 3348 private void PhysicsCollisionUpdate(EventArgs e)
3351 { 3349 {
3352 if (m_updateCount > 0) //KF: Update Anims for a short period. Many Anim
3353 { // changes are very asynchronous.
3354 Animator.UpdateMovementAnimations();
3355 m_updateCount--;
3356 }
3357
3358 if (e == null) 3350 if (e == null)
3359 return; 3351 return;
3360 3352
3361 // The Physics Scene will send updates every 500 ms grep: m_physicsActor.SubscribeEvents( 3353 // The Physics Scene will send (spam!) updates every 500 ms grep: m_physicsActor.SubscribeEvents(
3362 // as of this comment the interval is set in AddToPhysicalScene 3354 // as of this comment the interval is set in AddToPhysicalScene
3363 if (Animator!=null) 3355 if (Animator!=null)
3364 Animator.UpdateMovementAnimations(); 3356 {
3357 if (m_updateCount > 0) //KF: DO NOT call UpdateMovementAnimations outside of the m_updateCount wrapper,
3358 { // else its will lock out other animation changes, like ground sit.
3359 Animator.UpdateMovementAnimations();
3360 m_updateCount--;
3361 }
3362 }
3365 3363
3366 CollisionEventUpdate collisionData = (CollisionEventUpdate)e; 3364 CollisionEventUpdate collisionData = (CollisionEventUpdate)e;
3367 Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList; 3365 Dictionary<uint, ContactPoint> coldata = collisionData.m_objCollisionList;
@@ -3370,7 +3368,7 @@ Console.WriteLine("Camera Eye ={0}", cameraEyeOffset);
3370 3368
3371 if (m_lastColCount != coldata.Count) 3369 if (m_lastColCount != coldata.Count)
3372 { 3370 {
3373 m_updateCount = 10; 3371 m_updateCount = UPDATE_COUNT;
3374 m_lastColCount = coldata.Count; 3372 m_lastColCount = coldata.Count;
3375 } 3373 }
3376 3374