diff options
author | Teravus Ovares (Dan Olivares) | 2009-11-21 04:33:34 -0500 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-11-21 04:33:34 -0500 |
commit | 0ffda7128e67a217bb494355d454ff0bd62e6bb5 (patch) | |
tree | 6d35889e7bdf484b6cdefd32a578ed7cb09b201e /OpenSim/Region | |
parent | Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for sta... (diff) | |
download | opensim-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.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 10 |
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 | { |