diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 19 |
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(); |