* Fixes prim crossing. See bug 1050.

* Causes the internal handling of attachments to put the prim group conceptually at the position of the avatar instead of 0,0,0
This commit is contained in:
Teravus Ovares
2008-04-25 21:41:55 +00:00
parent 6fec9c789b
commit a534257b0e
5 changed files with 65 additions and 5 deletions

View File

@@ -1077,7 +1077,14 @@ namespace OpenSim.Region.Environment.Scenes
{
if (m_rootPart.UUID == part.UUID)
{
part.SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags);
if (m_rootPart.m_IsAttachment)
{
part.SendFullUpdateToClient(remoteClient, m_rootPart.m_attachedPos, clientFlags);
}
else
{
part.SendFullUpdateToClient(remoteClient, AbsolutePosition, clientFlags);
}
}
else
{
@@ -1094,7 +1101,14 @@ namespace OpenSim.Region.Environment.Scenes
{
if (m_rootPart.UUID == part.UUID)
{
part.SendTerseUpdateToClient(remoteClient, AbsolutePosition);
if (m_rootPart.m_IsAttachment)
{
part.SendTerseUpdateToClient(remoteClient, m_rootPart.m_attachedPos);
}
else
{
part.SendTerseUpdateToClient(remoteClient, AbsolutePosition);
}
}
else
{
@@ -2143,6 +2157,11 @@ namespace OpenSim.Region.Environment.Scenes
{
if (m_scene.EventManager.TriggerGroupMove(UUID, pos))
{
if (m_rootPart.m_IsAttachment)
{
m_rootPart.m_attachedPos = pos;
}
AbsolutePosition = pos;
}
//we need to do a terse update even if the move wasn't allowed