aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs25
1 files changed, 24 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 7900900..4f5eefe 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -405,7 +405,19 @@ namespace OpenSim.Region.Environment.Scenes
405 405
406 return m_velocity; 406 return m_velocity;
407 } 407 }
408 set { m_velocity = value; } 408 set {
409
410 m_velocity = value;
411 if (PhysActor != null)
412 {
413 if (PhysActor.IsPhysical)
414 {
415 PhysActor.Velocity = new PhysicsVector(value.X, value.Y, value.Z);
416 m_parentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(PhysActor);
417 }
418 }
419
420 }
409 } 421 }
410 422
411 public LLVector3 RotationalVelocity 423 public LLVector3 RotationalVelocity
@@ -742,6 +754,7 @@ namespace OpenSim.Region.Environment.Scenes
742 { 754 {
743 XmlSerializer serializer = new XmlSerializer(typeof (SceneObjectPart)); 755 XmlSerializer serializer = new XmlSerializer(typeof (SceneObjectPart));
744 SceneObjectPart newobject = (SceneObjectPart) serializer.Deserialize(xmlReader); 756 SceneObjectPart newobject = (SceneObjectPart) serializer.Deserialize(xmlReader);
757
745 return newobject; 758 return newobject;
746 } 759 }
747 760
@@ -1776,6 +1789,16 @@ namespace OpenSim.Region.Environment.Scenes
1776 1789
1777 public void PhysicsRequestingTerseUpdate() 1790 public void PhysicsRequestingTerseUpdate()
1778 { 1791 {
1792 if (PhysActor != null)
1793 {
1794 LLVector3 newpos = new LLVector3(PhysActor.Position.GetBytes(), 0);
1795 if (newpos.X > 257f || newpos.X < -1f || newpos.Y > 257f || newpos.Y < -1f)
1796 {
1797 m_parentGroup.AbsolutePosition = newpos;
1798 return;
1799 }
1800
1801 }
1779 ScheduleTerseUpdate(); 1802 ScheduleTerseUpdate();
1780 1803
1781 //SendTerseUpdateToAllClients(); 1804 //SendTerseUpdateToAllClients();