aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/ScenePresence.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs27
1 files changed, 27 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 398d394..17f54c2 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2754,7 +2754,34 @@ namespace OpenSim.Region.Framework.Scenes
2754 part.AddSittingAvatar(this); 2754 part.AddSittingAvatar(this);
2755 2755
2756 cameraAtOffset = part.GetCameraAtOffset(); 2756 cameraAtOffset = part.GetCameraAtOffset();
2757
2758 if (!part.IsRoot && cameraAtOffset == Vector3.Zero)
2759 cameraAtOffset = part.ParentGroup.RootPart.GetCameraAtOffset();
2760
2761 bool cameraEyeOffsetFromRootForChild = false;
2757 cameraEyeOffset = part.GetCameraEyeOffset(); 2762 cameraEyeOffset = part.GetCameraEyeOffset();
2763
2764 if (!part.IsRoot && cameraEyeOffset == Vector3.Zero)
2765 {
2766 cameraEyeOffset = part.ParentGroup.RootPart.GetCameraEyeOffset();
2767 cameraEyeOffsetFromRootForChild = true;
2768 }
2769
2770 if ((cameraEyeOffset != Vector3.Zero && !cameraEyeOffsetFromRootForChild) || cameraAtOffset != Vector3.Zero)
2771 {
2772 if (!part.IsRoot)
2773 {
2774 cameraEyeOffset = cameraEyeOffset * part.RotationOffset;
2775 cameraAtOffset += part.OffsetPosition;
2776 }
2777
2778 cameraEyeOffset += part.OffsetPosition;
2779 }
2780
2781// m_log.DebugFormat(
2782// "[SCENE PRESENCE]: Using cameraAtOffset {0}, cameraEyeOffset {1} for sit on {2} by {3} in {4}",
2783// cameraAtOffset, cameraEyeOffset, part.Name, Name, Scene.Name);
2784
2758 forceMouselook = part.GetForceMouselook(); 2785 forceMouselook = part.GetForceMouselook();
2759 2786
2760 // An viewer expects to specify sit positions as offsets to the root prim, even if a child prim is 2787 // An viewer expects to specify sit positions as offsets to the root prim, even if a child prim is