aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/AgentCircuitData.cs38
1 files changed, 22 insertions, 16 deletions
diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs
index ad29950..e655aa4 100644
--- a/OpenSim/Framework/AgentCircuitData.cs
+++ b/OpenSim/Framework/AgentCircuitData.cs
@@ -157,28 +157,34 @@ namespace OpenSim.Framework
157 args["start_pos"] = OSD.FromString(startpos.ToString()); 157 args["start_pos"] = OSD.FromString(startpos.ToString());
158 args["appearance_serial"] = OSD.FromInteger(Appearance.Serial); 158 args["appearance_serial"] = OSD.FromInteger(Appearance.Serial);
159 159
160 // We might not pass this in all cases... 160 if (Appearance != null)
161 if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0))
162 { 161 {
163 OSDArray wears = new OSDArray(Appearance.Wearables.Length); 162 //System.Console.WriteLine("XXX Before packing Wearables");
164 foreach (AvatarWearable awear in Appearance.Wearables) 163 if ((Appearance.Wearables != null) && (Appearance.Wearables.Length > 0))
165 { 164 {
166 wears.Add(OSD.FromUUID(awear.ItemID)); 165 OSDArray wears = new OSDArray(Appearance.Wearables.Length * 2);
167 wears.Add(OSD.FromUUID(awear.AssetID)); 166 foreach (AvatarWearable awear in Appearance.Wearables)
167 {
168 wears.Add(OSD.FromUUID(awear.ItemID));
169 wears.Add(OSD.FromUUID(awear.AssetID));
170 //System.Console.WriteLine("XXX ItemID=" + awear.ItemID + " assetID=" + awear.AssetID);
171 }
172 args["wearables"] = wears;
168 } 173 }
169 args["wearables"] = wears;
170 }
171 174
172 Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary(); 175 //System.Console.WriteLine("XXX Before packing Attachments");
173 if ((attachments != null) && (attachments.Count > 0)) 176 Dictionary<int, UUID[]> attachments = Appearance.GetAttachmentDictionary();
174 { 177 if ((attachments != null) && (attachments.Count > 0))
175 OSDArray attachs = new OSDArray(attachments.Count);
176 foreach (KeyValuePair<int, UUID[]> kvp in attachments)
177 { 178 {
178 AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]); 179 OSDArray attachs = new OSDArray(attachments.Count);
179 attachs.Add(adata.PackUpdateMessage()); 180 foreach (KeyValuePair<int, UUID[]> kvp in attachments)
181 {
182 AttachmentData adata = new AttachmentData(kvp.Key, kvp.Value[0], kvp.Value[1]);
183 attachs.Add(adata.PackUpdateMessage());
184 //System.Console.WriteLine("XXX att.pt=" + kvp.Key + "; itemID=" + kvp.Value[0] + "; assetID=" + kvp.Value[1]);
185 }
186 args["attachments"] = attachs;
180 } 187 }
181 args["attachments"] = attachs;
182 } 188 }
183 189
184 return args; 190 return args;