aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs19
1 files changed, 15 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index d556fd1..a52c0d6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -346,9 +346,6 @@ namespace OpenSim.Region.Framework.Scenes
346 get { return RootPart.VolumeDetectActive; } 346 get { return RootPart.VolumeDetectActive; }
347 } 347 }
348 348
349 private Vector3 lastPhysGroupPos;
350 private Quaternion lastPhysGroupRot;
351
352 /// <summary> 349 /// <summary>
353 /// Is this entity set to be saved in persistent storage? 350 /// Is this entity set to be saved in persistent storage?
354 /// </summary> 351 /// </summary>
@@ -702,10 +699,23 @@ namespace OpenSim.Region.Framework.Scenes
702 699
703 foreach (ScenePresence av in sog.m_sittingAvatars) 700 foreach (ScenePresence av in sog.m_sittingAvatars)
704 { 701 {
702 byte cflags = 1;
703
705 avtocrossInfo avinfo = new avtocrossInfo(); 704 avtocrossInfo avinfo = new avtocrossInfo();
706 SceneObjectPart parentPart = sogScene.GetSceneObjectPart(av.ParentID); 705 SceneObjectPart parentPart = sogScene.GetSceneObjectPart(av.ParentID);
707 if (parentPart != null) 706 if (parentPart != null)
707 {
708 av.ParentUUID = parentPart.UUID; 708 av.ParentUUID = parentPart.UUID;
709 if(parentPart.SitTargetAvatar == av.UUID)
710 cflags = 7; // low 3 bits set
711 else
712 cflags = 3;
713 }
714
715 // 1 is crossing
716 // 2 is sitting
717 // 4 is sitting at sittarget
718 av.crossingFlags = cflags;
709 719
710 avinfo.av = av; 720 avinfo.av = av;
711 avinfo.ParentID = av.ParentID; 721 avinfo.ParentID = av.ParentID;
@@ -750,7 +760,7 @@ namespace OpenSim.Region.Framework.Scenes
750 av.ParentUUID = UUID.Zero; 760 av.ParentUUID = UUID.Zero;
751 // In any case 761 // In any case
752 av.IsInTransit = false; 762 av.IsInTransit = false;
753 763 av.crossingFlags = 0;
754 m_log.DebugFormat("[SCENE OBJECT]: Crossing agent {0} {1} completed.", av.Firstname, av.Lastname); 764 m_log.DebugFormat("[SCENE OBJECT]: Crossing agent {0} {1} completed.", av.Firstname, av.Lastname);
755 } 765 }
756 else 766 else
@@ -768,6 +778,7 @@ namespace OpenSim.Region.Framework.Scenes
768 ScenePresence av = avinfo.av; 778 ScenePresence av = avinfo.av;
769 av.ParentUUID = UUID.Zero; 779 av.ParentUUID = UUID.Zero;
770 av.ParentID = avinfo.ParentID; 780 av.ParentID = avinfo.ParentID;
781 av.crossingFlags = 0;
771 } 782 }
772 } 783 }
773 avsToCross.Clear(); 784 avsToCross.Clear();