Thank you, Melanie for solving: When receiving an ObjectAdd packet, the Rotation member is silently ignored and the prim is created with 0,0,0,1 rotation. The patch introduces a fix that passes the Rotation parameter from the packet to the object and uses it in the actual object creation.

This commit is contained in:
Charles Krinke
2007-11-01 03:56:54 +00:00
parent 41e71e5548
commit 8af272b3ab
5 changed files with 24 additions and 11 deletions

View File

@@ -568,12 +568,12 @@ namespace OpenSim.Region.Environment.Scenes
/// </summary>
/// <param name="addPacket"></param>
/// <param name="ownerID"></param>
public void AddNewPrim(LLUUID ownerID, LLVector3 pos, PrimitiveBaseShape shape)
public void AddNewPrim(LLUUID ownerID, LLVector3 pos, LLQuaternion rot, PrimitiveBaseShape shape)
{
if (PermissionsMngr.CanRezObject(ownerID, pos))
{
SceneObjectGroup sceneOb =
new SceneObjectGroup(this, m_regionHandle, ownerID, PrimIDAllocate(), pos, shape);
new SceneObjectGroup(this, m_regionHandle, ownerID, PrimIDAllocate(), pos, rot, shape);
AddEntity(sceneOb);
SceneObjectPart rootPart = sceneOb.GetChildPart(sceneOb.UUID);
// if grass or tree, make phantom
@@ -1565,4 +1565,4 @@ namespace OpenSim.Region.Environment.Scenes
}
}
}
}
}