diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 10 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 |
2 files changed, 2 insertions, 21 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index dcbb509..ea9d0d8 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -789,16 +789,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
789 | m_log.ErrorFormat("[SCENEOBJECTPART]: GROUP POSITION. {0}", e); | 789 | m_log.ErrorFormat("[SCENEOBJECTPART]: GROUP POSITION. {0}", e); |
790 | } | 790 | } |
791 | } | 791 | } |
792 | |||
793 | // TODO if we decide to do sitting in a more SL compatible way (multiple avatars per prim), this has to be fixed, too | ||
794 | if (SitTargetAvatar != UUID.Zero) | ||
795 | { | ||
796 | ScenePresence avatar; | ||
797 | if (ParentGroup.Scene.TryGetScenePresence(SitTargetAvatar, out avatar)) | ||
798 | { | ||
799 | avatar.ParentPosition = GetWorldPosition(); | ||
800 | } | ||
801 | } | ||
802 | } | 792 | } |
803 | } | 793 | } |
804 | 794 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index a74069d..9cb9303 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -480,8 +480,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
480 | get { return (IClientCore)ControllingClient; } | 480 | get { return (IClientCore)ControllingClient; } |
481 | } | 481 | } |
482 | 482 | ||
483 | public Vector3 ParentPosition { get; set; } | ||
484 | |||
485 | /// <summary> | 483 | /// <summary> |
486 | /// Position of this avatar relative to the region the avatar is in | 484 | /// Position of this avatar relative to the region the avatar is in |
487 | /// </summary> | 485 | /// </summary> |
@@ -540,10 +538,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
540 | 538 | ||
541 | // Don't update while sitting. The PhysicsActor above is null whilst sitting. | 539 | // Don't update while sitting. The PhysicsActor above is null whilst sitting. |
542 | if (ParentID == 0) | 540 | if (ParentID == 0) |
543 | { | ||
544 | m_pos = value; | 541 | m_pos = value; |
545 | ParentPosition = Vector3.Zero; | ||
546 | } | ||
547 | 542 | ||
548 | //m_log.DebugFormat( | 543 | //m_log.DebugFormat( |
549 | // "[ENTITY BASE]: In {0} set AbsolutePosition of {1} to {2}", | 544 | // "[ENTITY BASE]: In {0} set AbsolutePosition of {1} to {2}", |
@@ -2195,7 +2190,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2195 | } | 2190 | } |
2196 | } | 2191 | } |
2197 | 2192 | ||
2198 | ParentPosition = part.GetWorldPosition(); | 2193 | Vector3 sitPartWorldPosition = part.GetWorldPosition(); |
2199 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); | 2194 | ControllingClient.SendClearFollowCamProperties(part.ParentUUID); |
2200 | 2195 | ||
2201 | ParentID = 0; | 2196 | ParentID = 0; |
@@ -2230,7 +2225,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2230 | // hardcoding here. | 2225 | // hardcoding here. |
2231 | Vector3 adjustmentForSitPose = new Vector3(0.74f, 0f, 0f) * standRotation; | 2226 | Vector3 adjustmentForSitPose = new Vector3(0.74f, 0f, 0f) * standRotation; |
2232 | 2227 | ||
2233 | Vector3 standPos = ParentPosition + adjustmentForSitPosition + adjustmentForSitPose; | 2228 | Vector3 standPos = sitPartWorldPosition + adjustmentForSitPosition + adjustmentForSitPose; |
2234 | 2229 | ||
2235 | // m_log.DebugFormat( | 2230 | // m_log.DebugFormat( |
2236 | // "[SCENE PRESENCE]: Setting stand to pos {0}, (adjustmentForSitPosition {1}, adjustmentForSitPose {2}) rotation {3} for {4} in {5}", | 2231 | // "[SCENE PRESENCE]: Setting stand to pos {0}, (adjustmentForSitPosition {1}, adjustmentForSitPose {2}) rotation {3} for {4} in {5}", |
@@ -2238,7 +2233,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2238 | 2233 | ||
2239 | Rotation = standRotation; | 2234 | Rotation = standRotation; |
2240 | AbsolutePosition = standPos; | 2235 | AbsolutePosition = standPos; |
2241 | ParentPosition = Vector3.Zero; | ||
2242 | } | 2236 | } |
2243 | 2237 | ||
2244 | // We need to wait until we have calculated proper stand positions before sitting up the physical | 2238 | // We need to wait until we have calculated proper stand positions before sitting up the physical |
@@ -2663,7 +2657,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2663 | 2657 | ||
2664 | m_pos = newPos; | 2658 | m_pos = newPos; |
2665 | Rotation = newRot; | 2659 | Rotation = newRot; |
2666 | ParentPosition = part.AbsolutePosition; | ||
2667 | } | 2660 | } |
2668 | else | 2661 | else |
2669 | { | 2662 | { |
@@ -2671,8 +2664,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2671 | // being sat upon. | 2664 | // being sat upon. |
2672 | m_pos -= part.GroupPosition; | 2665 | m_pos -= part.GroupPosition; |
2673 | 2666 | ||
2674 | ParentPosition = part.AbsolutePosition; | ||
2675 | |||
2676 | // m_log.DebugFormat( | 2667 | // m_log.DebugFormat( |
2677 | // "[SCENE PRESENCE]: Sitting {0} at position {1} ({2} + {3}) on part {4} {5} without sit target", | 2668 | // "[SCENE PRESENCE]: Sitting {0} at position {1} ({2} + {3}) on part {4} {5} without sit target", |
2678 | // Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId); | 2669 | // Name, part.AbsolutePosition, m_pos, ParentPosition, part.Name, part.LocalId); |