Bug in Teleport fixed -- Appearance was missing from AgentCircuitData.
parent
7356860b48
commit
4de82891a9
|
@ -157,28 +157,34 @@ namespace OpenSim.Framework
|
||||||
args["start_pos"] = OSD.FromString(startpos.ToString());
|
args["start_pos"] = OSD.FromString(startpos.ToString());
|
||||||
args["appearance_serial"] = OSD.FromInteger(Appearance.Serial);
|
args["appearance_serial"] = OSD.FromInteger(Appearance.Serial);
|
||||||
|
|
||||||
// We might not pass this in all cases...
|
if (Appearance != null)
|
||||||
if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0))
|
|
||||||
{
|
{
|
||||||
OSDArray wears = new OSDArray(Appearance.Wearables.Length);
|
//System.Console.WriteLine("XXX Before packing Wearables");
|
||||||
foreach (AvatarWearable awear in Appearance.Wearables)
|
if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0))
|
||||||
{
|
{
|
||||||
wears.Add(OSD.FromUUID(awear.ItemID));
|
OSDArray wears = new OSDArray(Appearance.Wearables.Length * 2);
|
||||||
wears.Add(OSD.FromUUID(awear.AssetID));
|
foreach (AvatarWearable awear in Appearance.Wearables)
|
||||||
|
{
|
||||||
|
wears.Add(OSD.FromUUID(awear.ItemID));
|
||||||
|
wears.Add(OSD.FromUUID(awear.AssetID));
|
||||||
|
//System.Console.WriteLine("XXX ItemID=" + awear.ItemID + " assetID=" + awear.AssetID);
|
||||||
|
}
|
||||||
|
args["wearables"] = wears;
|
||||||
}
|
}
|
||||||
args["wearables"] = wears;
|
|
||||||
}
|
|
||||||
|
|
||||||
Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary();
|
//System.Console.WriteLine("XXX Before packing Attachments");
|
||||||
if ((attachments != null) && (attachments.Count > 0))
|
Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary();
|
||||||
{
|
if ((attachments != null) && (attachments.Count > 0))
|
||||||
OSDArray attachs = new OSDArray(attachments.Count);
|
|
||||||
foreach (KeyValuePair<int, UUID[]> kvp in attachments)
|
|
||||||
{
|
{
|
||||||
AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]);
|
OSDArray attachs = new OSDArray(attachments.Count);
|
||||||
attachs.Add(adata.PackUpdateMessage());
|
foreach (KeyValuePair<int, UUID[]> kvp in attachments)
|
||||||
|
{
|
||||||
|
AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]);
|
||||||
|
attachs.Add(adata.PackUpdateMessage());
|
||||||
|
//System.Console.WriteLine("XXX att.pt=" + kvp.Key + "; itemID=" + kvp.Value[0] + "; assetID=" + kvp.Value[1]);
|
||||||
|
}
|
||||||
|
args["attachments"] = attachs;
|
||||||
}
|
}
|
||||||
args["attachments"] = attachs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return args;
|
return args;
|
||||||
|
|
|
@ -189,6 +189,8 @@ namespace OpenSim.Region.Framework.Scenes.Hypergrid
|
||||||
agentCircuit.InventoryFolder = UUID.Zero;
|
agentCircuit.InventoryFolder = UUID.Zero;
|
||||||
agentCircuit.startpos = position;
|
agentCircuit.startpos = position;
|
||||||
agentCircuit.child = true;
|
agentCircuit.child = true;
|
||||||
|
agentCircuit.Appearance = avatar.Appearance;
|
||||||
|
|
||||||
if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
||||||
{
|
{
|
||||||
// brand new agent, let's create a new caps seed
|
// brand new agent, let's create a new caps seed
|
||||||
|
|
|
@ -803,6 +803,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
agentCircuit.InventoryFolder = UUID.Zero;
|
agentCircuit.InventoryFolder = UUID.Zero;
|
||||||
agentCircuit.startpos = position;
|
agentCircuit.startpos = position;
|
||||||
agentCircuit.child = true;
|
agentCircuit.child = true;
|
||||||
|
agentCircuit.Appearance = avatar.Appearance;
|
||||||
|
|
||||||
if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
if (Util.IsOutsideView(oldRegionX, newRegionX, oldRegionY, newRegionY))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue