Bug in Teleport fixed -- Appearance was missing from AgentCircuitData.

slimupdates
Diva Canto 2010-01-13 09:34:08 -08:00
parent 7356860b48
commit 4de82891a9
3 changed files with 25 additions and 16 deletions

View File

@ -157,18 +157,22 @@ 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)
{
//System.Console.WriteLine("XXX Before packing Wearables");
if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0)) if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0))
{ {
OSDArray wears = new OSDArray(Appearance.Wearables.Length); OSDArray wears = new OSDArray(Appearance.Wearables.Length * 2);
foreach (AvatarWearable awear in Appearance.Wearables) foreach (AvatarWearable awear in Appearance.Wearables)
{ {
wears.Add(OSD.FromUUID(awear.ItemID)); wears.Add(OSD.FromUUID(awear.ItemID));
wears.Add(OSD.FromUUID(awear.AssetID)); wears.Add(OSD.FromUUID(awear.AssetID));
//System.Console.WriteLine("XXX ItemID=" + awear.ItemID + " assetID=" + awear.AssetID);
} }
args["wearables"] = wears; args["wearables"] = wears;
} }
//System.Console.WriteLine("XXX Before packing Attachments");
Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary(); Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary();
if ((attachments != null) && (attachments.Count > 0)) if ((attachments != null) && (attachments.Count > 0))
{ {
@ -177,9 +181,11 @@ namespace OpenSim.Framework
{ {
AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]); AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]);
attachs.Add(adata.PackUpdateMessage()); 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;
} }

View File

@ -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

View File

@ -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))
{ {