aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-11-21 04:33:34 -0500
committerTeravus Ovares (Dan Olivares)2009-11-21 04:33:34 -0500
commit0ffda7128e67a217bb494355d454ff0bd62e6bb5 (patch)
tree6d35889e7bdf484b6cdefd32a578ed7cb09b201e
parentFix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for sta... (diff)
downloadopensim-SC-0ffda7128e67a217bb494355d454ff0bd62e6bb5.zip
opensim-SC-0ffda7128e67a217bb494355d454ff0bd62e6bb5.tar.gz
opensim-SC-0ffda7128e67a217bb494355d454ff0bd62e6bb5.tar.bz2
opensim-SC-0ffda7128e67a217bb494355d454ff0bd62e6bb5.tar.xz
* Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent.
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs3
-rw-r--r--OpenSim/Region/Physics/OdePlugin/ODEPrim.cs10
2 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 73d0984..7c236e8 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -2083,6 +2083,7 @@ namespace OpenSim.Region.Framework.Scenes
2083 { 2083 {
2084 if (PhysActor != null) 2084 if (PhysActor != null)
2085 { 2085 {
2086
2086 Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0); 2087 Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0);
2087 2088
2088 if (m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.N) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.S) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.E) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.W)) 2089 if (m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.N) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.S) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.E) | m_parentGroup.Scene.TestBorderCross(newpos, Cardinals.W))
@@ -2090,6 +2091,7 @@ namespace OpenSim.Region.Framework.Scenes
2090 m_parentGroup.AbsolutePosition = newpos; 2091 m_parentGroup.AbsolutePosition = newpos;
2091 return; 2092 return;
2092 } 2093 }
2094 //m_parentGroup.RootPart.m_groupPosition = newpos;
2093 } 2095 }
2094 ScheduleTerseUpdate(); 2096 ScheduleTerseUpdate();
2095 2097
@@ -2428,6 +2430,7 @@ namespace OpenSim.Region.Framework.Scenes
2428 ClearUpdateSchedule(); 2430 ClearUpdateSchedule();
2429 } 2431 }
2430 } 2432 }
2433 ClearUpdateSchedule();
2431 } 2434 }
2432 2435
2433 /// <summary> 2436 /// <summary>
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
index fa42023..16f2d5d 100644
--- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
+++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs
@@ -2643,7 +2643,7 @@ Console.WriteLine(" JointCreateFixed");
2643 //outofBounds = true; 2643 //outofBounds = true;
2644 } 2644 }
2645 2645
2646// float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation)); 2646 //float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation));
2647//Console.WriteLine("Adiff " + m_primName + " = " + Adiff); 2647//Console.WriteLine("Adiff " + m_primName + " = " + Adiff);
2648 if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02) 2648 if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02)
2649 && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02) 2649 && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02)
@@ -2659,6 +2659,8 @@ Console.WriteLine(" JointCreateFixed");
2659 { 2659 {
2660 //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString()); 2660 //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString());
2661 _zeroFlag = false; 2661 _zeroFlag = false;
2662 m_lastUpdateSent = false;
2663 //m_throttleUpdates = false;
2662 } 2664 }
2663 2665
2664 if (_zeroFlag) 2666 if (_zeroFlag)
@@ -2685,7 +2687,9 @@ Console.WriteLine(" JointCreateFixed");
2685 m_rotationalVelocity = pv; 2687 m_rotationalVelocity = pv;
2686 2688
2687 if (_parent == null) 2689 if (_parent == null)
2690 {
2688 base.RequestPhysicsterseUpdate(); 2691 base.RequestPhysicsterseUpdate();
2692 }
2689 2693
2690 m_lastUpdateSent = true; 2694 m_lastUpdateSent = true;
2691 } 2695 }
@@ -2695,7 +2699,9 @@ Console.WriteLine(" JointCreateFixed");
2695 if (lastZeroFlag != _zeroFlag) 2699 if (lastZeroFlag != _zeroFlag)
2696 { 2700 {
2697 if (_parent == null) 2701 if (_parent == null)
2702 {
2698 base.RequestPhysicsterseUpdate(); 2703 base.RequestPhysicsterseUpdate();
2704 }
2699 } 2705 }
2700 2706
2701 m_lastVelocity = _velocity; 2707 m_lastVelocity = _velocity;
@@ -2728,7 +2734,9 @@ Console.WriteLine(" JointCreateFixed");
2728 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate) 2734 if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate)
2729 { 2735 {
2730 if (_parent == null) 2736 if (_parent == null)
2737 {
2731 base.RequestPhysicsterseUpdate(); 2738 base.RequestPhysicsterseUpdate();
2739 }
2732 } 2740 }
2733 else 2741 else
2734 { 2742 {