aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs')
-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 09da97a..a142f26 100644
--- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
+++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs
@@ -712,33 +712,16 @@ namespace OpenSim.Region.RegionCombinerModule
712 712
713 List<Vector3> CoarseLocations = new List<Vector3>(); 713 List<Vector3> CoarseLocations = new List<Vector3>();
714 List<UUID> AvatarUUIDs = new List<UUID>(); 714 List<UUID> AvatarUUIDs = new List<UUID>();
715
715 connectiondata.RegionScene.ForEachRootScenePresence(delegate(ScenePresence sp) 716 connectiondata.RegionScene.ForEachRootScenePresence(delegate(ScenePresence sp)
716 { 717 {
717 if (sp.UUID != presence.UUID) 718 if (sp.UUID != presence.UUID)
718 { 719 {
719 if (sp.ParentID != 0) 720 CoarseLocations.Add(sp.AbsolutePosition);
720 { 721 AvatarUUIDs.Add(sp.UUID);
721 // sitting avatar
722 SceneObjectPart sop = connectiondata.RegionScene.GetSceneObjectPart(sp.ParentID);
723 if (sop != null)
724 {
725 CoarseLocations.Add(sop.AbsolutePosition + sp.AbsolutePosition);
726 AvatarUUIDs.Add(sp.UUID);
727 }
728 else
729 {
730 // we can't find the parent.. ! arg!
731 CoarseLocations.Add(sp.AbsolutePosition);
732 AvatarUUIDs.Add(sp.UUID);
733 }
734 }
735 else
736 {
737 CoarseLocations.Add(sp.AbsolutePosition);
738 AvatarUUIDs.Add(sp.UUID);
739 }
740 } 722 }
741 }); 723 });
724
742 DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence); 725 DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence);
743 } 726 }
744 727