diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Prioritizer.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 4 |
2 files changed, 15 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Prioritizer.cs b/OpenSim/Region/Framework/Scenes/Prioritizer.cs index 7b7677b..b95b5f2 100644 --- a/OpenSim/Region/Framework/Scenes/Prioritizer.cs +++ b/OpenSim/Region/Framework/Scenes/Prioritizer.cs | |||
@@ -208,12 +208,19 @@ namespace OpenSim.Region.Framework.Scenes | |||
208 | 208 | ||
209 | if (entity is SceneObjectPart) | 209 | if (entity is SceneObjectPart) |
210 | { | 210 | { |
211 | PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor; | ||
212 | if (physActor == null || !physActor.IsPhysical) | ||
213 | priority += 100; | ||
214 | |||
215 | if (((SceneObjectPart)entity).ParentGroup.RootPart.IsAttachment) | 211 | if (((SceneObjectPart)entity).ParentGroup.RootPart.IsAttachment) |
212 | { | ||
216 | priority = 1.0; | 213 | priority = 1.0; |
214 | } | ||
215 | else | ||
216 | { | ||
217 | PhysicsActor physActor = ((SceneObjectPart)entity).ParentGroup.RootPart.PhysActor; | ||
218 | if (physActor == null || !physActor.IsPhysical) | ||
219 | priority += 100; | ||
220 | } | ||
221 | |||
222 | if (((SceneObjectPart)entity).ParentGroup.RootPart != (SceneObjectPart)entity) | ||
223 | priority +=1; | ||
217 | } | 224 | } |
218 | return priority; | 225 | return priority; |
219 | } | 226 | } |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 78faa01..09c945b 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -1504,6 +1504,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1504 | DoPhysicsPropertyUpdate(RigidBody, true); | 1504 | DoPhysicsPropertyUpdate(RigidBody, true); |
1505 | PhysActor.SetVolumeDetect(VolumeDetectActive ? 1 : 0); | 1505 | PhysActor.SetVolumeDetect(VolumeDetectActive ? 1 : 0); |
1506 | } | 1506 | } |
1507 | else | ||
1508 | { | ||
1509 | m_log.DebugFormat("[SPEW]: physics actor is null for {0} with parent {1}", UUID, this.ParentGroup.UUID); | ||
1510 | } | ||
1507 | } | 1511 | } |
1508 | } | 1512 | } |
1509 | } | 1513 | } |