diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 73d0984e6b..7c236e87b5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -2083,6 +2083,7 @@ namespace OpenSim.Region.Framework.Scenes { if (PhysActor != null) { + Vector3 newpos = new Vector3(PhysActor.Position.GetBytes(), 0); 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 m_parentGroup.AbsolutePosition = newpos; return; } + //m_parentGroup.RootPart.m_groupPosition = newpos; } ScheduleTerseUpdate(); @@ -2428,6 +2430,7 @@ namespace OpenSim.Region.Framework.Scenes ClearUpdateSchedule(); } } + ClearUpdateSchedule(); } /// diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index fa42023b35..16f2d5d65e 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs @@ -2643,7 +2643,7 @@ Console.WriteLine(" JointCreateFixed"); //outofBounds = true; } -// float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation)); + //float Adiff = 1.0f - Math.Abs(Quaternion.Dot(m_lastorientation, l_orientation)); //Console.WriteLine("Adiff " + m_primName + " = " + Adiff); if ((Math.Abs(m_lastposition.X - l_position.X) < 0.02) && (Math.Abs(m_lastposition.Y - l_position.Y) < 0.02) @@ -2659,6 +2659,8 @@ Console.WriteLine(" JointCreateFixed"); { //m_log.Debug(Math.Abs(m_lastposition.X - l_position.X).ToString()); _zeroFlag = false; + m_lastUpdateSent = false; + //m_throttleUpdates = false; } if (_zeroFlag) @@ -2685,7 +2687,9 @@ Console.WriteLine(" JointCreateFixed"); m_rotationalVelocity = pv; if (_parent == null) + { base.RequestPhysicsterseUpdate(); + } m_lastUpdateSent = true; } @@ -2695,7 +2699,9 @@ Console.WriteLine(" JointCreateFixed"); if (lastZeroFlag != _zeroFlag) { if (_parent == null) + { base.RequestPhysicsterseUpdate(); + } } m_lastVelocity = _velocity; @@ -2728,7 +2734,9 @@ Console.WriteLine(" JointCreateFixed"); if (!m_throttleUpdates || throttleCounter > _parent_scene.geomUpdatesPerThrottledUpdate) { if (_parent == null) + { base.RequestPhysicsterseUpdate(); + } } else {