Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook
We now specify sits as offsets from the root prim, as the viewer expects.link-sitting
parent
c896b4179e
commit
ff4e7de776
|
@ -5218,7 +5218,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
update.NameValue = Utils.StringToBytes("FirstName STRING RW SV " + data.Firstname + "\nLastName STRING RW SV " +
|
||||
data.Lastname + "\nTitle STRING RW SV " + data.Grouptitle);
|
||||
update.ObjectData = objectData;
|
||||
update.ParentID = data.ParentID;
|
||||
|
||||
SceneObjectPart parentPart = data.ParentPart;
|
||||
if (parentPart != null)
|
||||
update.ParentID = parentPart.ParentGroup.LocalId;
|
||||
else
|
||||
update.ParentID = 0;
|
||||
|
||||
update.PathCurve = 16;
|
||||
update.PathScaleX = 100;
|
||||
update.PathScaleY = 100;
|
||||
|
|
|
@ -2312,8 +2312,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
cameraEyeOffset = part.GetCameraEyeOffset();
|
||||
forceMouselook = part.GetForceMouselook();
|
||||
|
||||
// An viewer expects to specify sit positions as offsets to the root prim, even if a child prim is
|
||||
// being sat upon.
|
||||
ControllingClient.SendSitResponse(
|
||||
part.UUID, offset, sitOrientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
||||
part.ParentGroup.UUID, offset, sitOrientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook);
|
||||
|
||||
m_requestedSitTargetUUID = part.UUID;
|
||||
|
||||
|
@ -2592,7 +2594,10 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
}
|
||||
else
|
||||
{
|
||||
m_pos -= part.AbsolutePosition;
|
||||
// An viewer expects to specify sit positions as offsets to the root prim, even if a child prim is
|
||||
// being sat upon.
|
||||
m_pos -= part.GroupPosition;
|
||||
|
||||
ParentPosition = part.AbsolutePosition;
|
||||
|
||||
// m_log.DebugFormat(
|
||||
|
|
Loading…
Reference in New Issue