aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Physics/OdePlugin/OdePlugin.cs14
1 files changed, 3 insertions, 11 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
index a782e2d..382b721 100644
--- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
+++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs
@@ -769,9 +769,7 @@ namespace OpenSim.Region.Physics.OdePlugin
769 { 769 {
770 // Use the movement terrain contact 770 // Use the movement terrain contact
771 AvatarMovementTerrainContact.geom = contacts[i]; 771 AvatarMovementTerrainContact.geom = contacts[i];
772
773 _perloopContact.Add(contacts[i]); 772 _perloopContact.Add(contacts[i]);
774
775 joint = d.JointCreateContact(world, contactgroup, ref AvatarMovementTerrainContact); 773 joint = d.JointCreateContact(world, contactgroup, ref AvatarMovementTerrainContact);
776 } 774 }
777 else 775 else
@@ -800,17 +798,13 @@ namespace OpenSim.Region.Physics.OdePlugin
800 //contacts[i].pos = new d.Vector3(0, 0, contacts[i].pos.Z - 5f); 798 //contacts[i].pos = new d.Vector3(0, 0, contacts[i].pos.Z - 5f);
801 } 799 }
802 WaterContact.geom = contacts[i]; 800 WaterContact.geom = contacts[i];
803
804 _perloopContact.Add(contacts[i]); 801 _perloopContact.Add(contacts[i]);
805
806 joint = d.JointCreateContact(world, contactgroup, ref WaterContact); 802 joint = d.JointCreateContact(world, contactgroup, ref WaterContact);
807 803
808 //m_log.Info("[PHYSICS]: Prim Water Contact" + contacts[i].depth); 804 //m_log.Info("[PHYSICS]: Prim Water Contact" + contacts[i].depth);
809 } 805 }
810 else 806 else
811 { 807 { // we're colliding with prim or avatar
812 // we're colliding with prim or avatar
813
814 // check if we're moving 808 // check if we're moving
815 if ((p2.PhysicsActorType == (int)ActorTypes.Agent) && 809 if ((p2.PhysicsActorType == (int)ActorTypes.Agent) &&
816 (Math.Abs(p2.Velocity.X) > 0.01f || Math.Abs(p2.Velocity.Y) > 0.01f)) 810 (Math.Abs(p2.Velocity.X) > 0.01f || Math.Abs(p2.Velocity.Y) > 0.01f))
@@ -821,8 +815,7 @@ namespace OpenSim.Region.Physics.OdePlugin
821 joint = d.JointCreateContact(world, contactgroup, ref AvatarMovementprimContact); 815 joint = d.JointCreateContact(world, contactgroup, ref AvatarMovementprimContact);
822 } 816 }
823 else 817 else
824 { 818 { // Use the non movement contact
825 // Use the non movement contact
826 contact.geom = contacts[i]; 819 contact.geom = contacts[i];
827 _perloopContact.Add(contacts[i]); 820 _perloopContact.Add(contacts[i]);
828 joint = d.JointCreateContact(world, contactgroup, ref contact); 821 joint = d.JointCreateContact(world, contactgroup, ref contact);
@@ -834,8 +827,7 @@ namespace OpenSim.Region.Physics.OdePlugin
834 if (count > geomContactPointsStartthrottle) 827 if (count > geomContactPointsStartthrottle)
835 { 828 {
836 // If there are more then 3 contact points, it's likely 829 // If there are more then 3 contact points, it's likely
837 // that we've got a pile of objects 830 // that we've got a pile of objects, so ...
838 //
839 // We don't want to send out hundreds of terse updates over and over again 831 // We don't want to send out hundreds of terse updates over and over again
840 // so lets throttle them and send them again after it's somewhat sorted out. 832 // so lets throttle them and send them again after it's somewhat sorted out.
841 p2.ThrottleUpdates = true; 833 p2.ThrottleUpdates = true;