diff options
Diffstat (limited to 'OpenSim/Region/Environment/Scenes')
4 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 1f4cdd5..041dc4e 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -545,6 +545,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
545 | new Quaternion(dupe.RootPart.RotationOffset.W, dupe.RootPart.RotationOffset.X, | 545 | new Quaternion(dupe.RootPart.RotationOffset.W, dupe.RootPart.RotationOffset.X, |
546 | dupe.RootPart.RotationOffset.Y, dupe.RootPart.RotationOffset.Z), | 546 | dupe.RootPart.RotationOffset.Y, dupe.RootPart.RotationOffset.Z), |
547 | dupe.RootPart.PhysActor.IsPhysical); | 547 | dupe.RootPart.PhysActor.IsPhysical); |
548 | |||
549 | dupe.RootPart.PhysActor.LocalID = dupe.RootPart.LocalId; | ||
550 | |||
548 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); | 551 | dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true); |
549 | } | 552 | } |
550 | // Now we've made a copy that replaces this one, we need to | 553 | // Now we've made a copy that replaces this one, we need to |
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index b708d04..ffb9d36 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -785,7 +785,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
785 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), | 785 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), |
786 | new Quaternion(RotationOffset.W, RotationOffset.X, | 786 | new Quaternion(RotationOffset.W, RotationOffset.X, |
787 | RotationOffset.Y, RotationOffset.Z), RigidBody); | 787 | RotationOffset.Y, RotationOffset.Z), RigidBody); |
788 | 788 | PhysActor.LocalID = LocalId; | |
789 | 789 | ||
790 | DoPhysicsPropertyUpdate(RigidBody, true); | 790 | DoPhysicsPropertyUpdate(RigidBody, true); |
791 | } | 791 | } |
@@ -1305,6 +1305,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1305 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), | 1305 | new PhysicsVector(Scale.X, Scale.Y, Scale.Z), |
1306 | new Quaternion(RotationOffset.W, RotationOffset.X, | 1306 | new Quaternion(RotationOffset.W, RotationOffset.X, |
1307 | RotationOffset.Y, RotationOffset.Z), usePhysics); | 1307 | RotationOffset.Y, RotationOffset.Z), usePhysics); |
1308 | PhysActor.LocalID = LocalId; | ||
1308 | DoPhysicsPropertyUpdate(usePhysics, true); | 1309 | DoPhysicsPropertyUpdate(usePhysics, true); |
1309 | } | 1310 | } |
1310 | else | 1311 | else |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 2f35fe3..1731cd9 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -1809,6 +1809,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1809 | } | 1809 | } |
1810 | //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; | 1810 | //m_physicsActor.OnRequestTerseUpdate += SendTerseUpdateToAllClients; |
1811 | m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; | 1811 | m_physicsActor.OnCollisionUpdate += PhysicsCollisionUpdate; |
1812 | m_physicsActor.LocalID = LocalId; | ||
1812 | } | 1813 | } |
1813 | 1814 | ||
1814 | // Event called by the physics plugin to tell the avatar about a collision. | 1815 | // Event called by the physics plugin to tell the avatar about a collision. |
diff --git a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs index 2b05bb6..8666862 100644 --- a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs +++ b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs | |||
@@ -90,6 +90,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
90 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 90 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
91 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 91 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
92 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); | 92 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
93 | rootPart.PhysActor.LocalID = rootPart.LocalId; | ||
93 | rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); | 94 | rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); |
94 | } | 95 | } |
95 | primCount++; | 96 | primCount++; |
@@ -192,6 +193,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
192 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), | 193 | new PhysicsVector(rootPart.Scale.X, rootPart.Scale.Y, rootPart.Scale.Z), |
193 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, | 194 | new Quaternion(rootPart.RotationOffset.W, rootPart.RotationOffset.X, |
194 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); | 195 | rootPart.RotationOffset.Y, rootPart.RotationOffset.Z), UsePhysics); |
196 | |||
197 | rootPart.PhysActor.LocalID = rootPart.LocalId; | ||
198 | |||
195 | rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); | 199 | rootPart.DoPhysicsPropertyUpdate(UsePhysics, true); |
196 | rootPart.Velocity = receivedVelocity; | 200 | rootPart.Velocity = receivedVelocity; |
197 | } | 201 | } |