aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/RegionCombinerModule
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/RegionCombinerModule')
-rw-r--r--OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs25
1 files changed, 4 insertions, 21 deletions
diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
index 3c36943..9d52a8f 100644
--- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
+++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
@@ -630,33 +630,16 @@ namespace OpenSim.Region.RegionCombinerModule
630 630
631 List<Vector3> CoarseLocations = new List<Vector3>(); 631 List<Vector3> CoarseLocations = new List<Vector3>();
632 List<UUID> AvatarUUIDs = new List<UUID>(); 632 List<UUID> AvatarUUIDs = new List<UUID>();
633
633 connectiondata.RegionScene.ForEachRootScenePresence(delegate(ScenePresence sp) 634 connectiondata.RegionScene.ForEachRootScenePresence(delegate(ScenePresence sp)
634 { 635 {
635 if (sp.UUID != presence.UUID) 636 if (sp.UUID != presence.UUID)
636 { 637 {
637 if (sp.ParentID != 0) 638 CoarseLocations.Add(sp.AbsolutePosition);
638 { 639 AvatarUUIDs.Add(sp.UUID);
639 // sitting avatar
640 SceneObjectPart sop = connectiondata.RegionScene.GetSceneObjectPart(sp.ParentID);
641 if (sop != null)
642 {
643 CoarseLocations.Add(sop.AbsolutePosition + sp.AbsolutePosition);
644 AvatarUUIDs.Add(sp.UUID);
645 }
646 else
647 {
648 // we can't find the parent.. ! arg!
649 CoarseLocations.Add(sp.AbsolutePosition);
650 AvatarUUIDs.Add(sp.UUID);
651 }
652 }
653 else
654 {
655 CoarseLocations.Add(sp.AbsolutePosition);
656 AvatarUUIDs.Add(sp.UUID);
657 }
658 } 640 }
659 }); 641 });
642
660 DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence); 643 DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence);
661 } 644 }
662 645