aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs10
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs13
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);