mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
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:
@@ -322,7 +322,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
///
|
||||
/// </summary>
|
||||
public SceneObjectGroup(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos,
|
||||
PrimitiveBaseShape shape)
|
||||
LLQuaternion rot, PrimitiveBaseShape shape)
|
||||
{
|
||||
m_regionHandle = regionHandle;
|
||||
m_scene = scene;
|
||||
@@ -330,13 +330,21 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
// this.Pos = pos;
|
||||
LLVector3 rootOffset = new LLVector3(0, 0, 0);
|
||||
SceneObjectPart newPart =
|
||||
new SceneObjectPart(m_regionHandle, this, ownerID, localID, shape, pos, rootOffset);
|
||||
new SceneObjectPart(m_regionHandle, this, ownerID, localID, shape, pos, rot, rootOffset);
|
||||
m_parts.Add(newPart.UUID, newPart);
|
||||
SetPartAsRoot(newPart);
|
||||
|
||||
AttachToBackup();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public SceneObjectGroup(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos,
|
||||
PrimitiveBaseShape shape):this(scene, regionHandle, ownerID, localID, pos, LLQuaternion.Identity, shape)
|
||||
{
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public string ToXmlString()
|
||||
@@ -1386,4 +1394,4 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
Text = text;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user