diff options
Diffstat (limited to '')
4 files changed, 153 insertions, 112 deletions
diff --git a/OpenSim/Services/AvatarService/AvatarService.cs b/OpenSim/Services/AvatarService/AvatarService.cs index a8ad413..53ca7c8 100644 --- a/OpenSim/Services/AvatarService/AvatarService.cs +++ b/OpenSim/Services/AvatarService/AvatarService.cs | |||
@@ -51,8 +51,6 @@ namespace OpenSim.Services.AvatarService | |||
51 | m_log.Debug("[AVATAR SERVICE]: Starting avatar service"); | 51 | m_log.Debug("[AVATAR SERVICE]: Starting avatar service"); |
52 | } | 52 | } |
53 | 53 | ||
54 | // Get|SetAppearance should preserve existing semantics | ||
55 | // until AvatarData can be removed completely | ||
56 | public AvatarAppearance GetAppearance(UUID principalID) | 54 | public AvatarAppearance GetAppearance(UUID principalID) |
57 | { | 55 | { |
58 | AvatarData avatar = GetAvatar(principalID); | 56 | AvatarData avatar = GetAvatar(principalID); |
@@ -68,12 +66,15 @@ namespace OpenSim.Services.AvatarService | |||
68 | public AvatarData GetAvatar(UUID principalID) | 66 | public AvatarData GetAvatar(UUID principalID) |
69 | { | 67 | { |
70 | AvatarBaseData[] av = m_Database.Get("PrincipalID", principalID.ToString()); | 68 | AvatarBaseData[] av = m_Database.Get("PrincipalID", principalID.ToString()); |
71 | if (av.Length == 0) | ||
72 | return null; | ||
73 | |||
74 | AvatarData ret = new AvatarData(); | 69 | AvatarData ret = new AvatarData(); |
75 | ret.Data = new Dictionary<string,string>(); | 70 | ret.Data = new Dictionary<string,string>(); |
76 | 71 | ||
72 | if (av.Length == 0) | ||
73 | { | ||
74 | ret.AvatarType = 1; // SL avatar | ||
75 | return ret; | ||
76 | } | ||
77 | |||
77 | foreach (AvatarBaseData b in av) | 78 | foreach (AvatarBaseData b in av) |
78 | { | 79 | { |
79 | if (b.Data["Name"] == "AvatarType") | 80 | if (b.Data["Name"] == "AvatarType") |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs index ea9b4b4..7a28c2b 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAvatarServiceConnector.cs | |||
@@ -265,32 +265,33 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
265 | 265 | ||
266 | map["Height"] = OSD.FromReal(appearance.AvatarHeight); | 266 | map["Height"] = OSD.FromReal(appearance.AvatarHeight); |
267 | 267 | ||
268 | map["ShapeItem"] = OSD.FromUUID(appearance.BodyItem); | 268 | map["BodyItem"] = appearance.Wearables[AvatarWearable.BODY][0].ItemID.ToString(); |
269 | map["ShapeAsset"] = OSD.FromUUID(appearance.BodyAsset); | 269 | map["EyesItem"] = appearance.Wearables[AvatarWearable.EYES][0].ItemID.ToString(); |
270 | map["SkinItem"] = OSD.FromUUID(appearance.SkinItem); | 270 | map["GlovesItem"] = appearance.Wearables[AvatarWearable.GLOVES][0].ItemID.ToString(); |
271 | map["SkinAsset"] = OSD.FromUUID(appearance.SkinAsset); | 271 | map["HairItem"] = appearance.Wearables[AvatarWearable.HAIR][0].ItemID.ToString(); |
272 | map["HairItem"] = OSD.FromUUID(appearance.HairItem); | 272 | map["JacketItem"] = appearance.Wearables[AvatarWearable.JACKET][0].ItemID.ToString(); |
273 | map["HairAsset"] = OSD.FromUUID(appearance.HairAsset); | 273 | map["PantsItem"] = appearance.Wearables[AvatarWearable.PANTS][0].ItemID.ToString(); |
274 | map["EyesItem"] = OSD.FromUUID(appearance.EyesItem); | 274 | map["ShirtItem"] = appearance.Wearables[AvatarWearable.SHIRT][0].ItemID.ToString(); |
275 | map["EyesAsset"] = OSD.FromUUID(appearance.EyesAsset); | 275 | map["ShoesItem"] = appearance.Wearables[AvatarWearable.SHOES][0].ItemID.ToString(); |
276 | map["ShirtItem"] = OSD.FromUUID(appearance.ShirtItem); | 276 | map["SkinItem"] = appearance.Wearables[AvatarWearable.SKIN][0].ItemID.ToString(); |
277 | map["ShirtAsset"] = OSD.FromUUID(appearance.ShirtAsset); | 277 | map["SkirtItem"] = appearance.Wearables[AvatarWearable.SKIRT][0].ItemID.ToString(); |
278 | map["PantsItem"] = OSD.FromUUID(appearance.PantsItem); | 278 | map["SocksItem"] = appearance.Wearables[AvatarWearable.SOCKS][0].ItemID.ToString(); |
279 | map["PantsAsset"] = OSD.FromUUID(appearance.PantsAsset); | 279 | map["UnderPantsItem"] = appearance.Wearables[AvatarWearable.UNDERPANTS][0].ItemID.ToString(); |
280 | map["ShoesItem"] = OSD.FromUUID(appearance.ShoesItem); | 280 | map["UnderShirtItem"] = appearance.Wearables[AvatarWearable.UNDERSHIRT][0].ItemID.ToString(); |
281 | map["ShoesAsset"] = OSD.FromUUID(appearance.ShoesAsset); | 281 | map["BodyAsset"] = appearance.Wearables[AvatarWearable.BODY][0].AssetID.ToString(); |
282 | map["SocksItem"] = OSD.FromUUID(appearance.SocksItem); | 282 | map["EyesAsset"] = appearance.Wearables[AvatarWearable.EYES][0].AssetID.ToString(); |
283 | map["SocksAsset"] = OSD.FromUUID(appearance.SocksAsset); | 283 | map["GlovesAsset"] = appearance.Wearables[AvatarWearable.GLOVES][0].AssetID.ToString(); |
284 | map["JacketItem"] = OSD.FromUUID(appearance.JacketItem); | 284 | map["HairAsset"] = appearance.Wearables[AvatarWearable.HAIR][0].AssetID.ToString(); |
285 | map["JacketAsset"] = OSD.FromUUID(appearance.JacketAsset); | 285 | map["JacketAsset"] = appearance.Wearables[AvatarWearable.JACKET][0].AssetID.ToString(); |
286 | map["GlovesItem"] = OSD.FromUUID(appearance.GlovesItem); | 286 | map["PantsAsset"] = appearance.Wearables[AvatarWearable.PANTS][0].AssetID.ToString(); |
287 | map["GlovesAsset"] = OSD.FromUUID(appearance.GlovesAsset); | 287 | map["ShirtAsset"] = appearance.Wearables[AvatarWearable.SHIRT][0].AssetID.ToString(); |
288 | map["UndershirtItem"] = OSD.FromUUID(appearance.UnderShirtItem); | 288 | map["ShoesAsset"] = appearance.Wearables[AvatarWearable.SHOES][0].AssetID.ToString(); |
289 | map["UndershirtAsset"] = OSD.FromUUID(appearance.UnderShirtAsset); | 289 | map["SkinAsset"] = appearance.Wearables[AvatarWearable.SKIN][0].AssetID.ToString(); |
290 | map["UnderpantsItem"] = OSD.FromUUID(appearance.UnderPantsItem); | 290 | map["SkirtAsset"] = appearance.Wearables[AvatarWearable.SKIRT][0].AssetID.ToString(); |
291 | map["UnderpantsAsset"] = OSD.FromUUID(appearance.UnderPantsAsset); | 291 | map["SocksAsset"] = appearance.Wearables[AvatarWearable.SOCKS][0].AssetID.ToString(); |
292 | map["SkirtItem"] = OSD.FromUUID(appearance.SkirtItem); | 292 | map["UnderPantsAsset"] = appearance.Wearables[AvatarWearable.UNDERPANTS][0].AssetID.ToString(); |
293 | map["SkirtAsset"] = OSD.FromUUID(appearance.SkirtAsset); | 293 | map["UnderShirtAsset"] = appearance.Wearables[AvatarWearable.UNDERSHIRT][0].AssetID.ToString(); |
294 | |||
294 | 295 | ||
295 | OSDMap items = new OSDMap(); | 296 | OSDMap items = new OSDMap(); |
296 | foreach (KeyValuePair<string, string> kvp in avatar.Data) | 297 | foreach (KeyValuePair<string, string> kvp in avatar.Data) |
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index c4284eb..7936cb8 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -139,13 +139,13 @@ namespace OpenSim.Services.Connectors.Simulation | |||
139 | AgentCreateRequest.ContentLength = buffer.Length; //Count bytes to send | 139 | AgentCreateRequest.ContentLength = buffer.Length; //Count bytes to send |
140 | os = AgentCreateRequest.GetRequestStream(); | 140 | os = AgentCreateRequest.GetRequestStream(); |
141 | os.Write(buffer, 0, strBuffer.Length); //Send it | 141 | os.Write(buffer, 0, strBuffer.Length); //Send it |
142 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Posted CreateAgent request to remote sim {0}, region {1}, x={2} y={3}", | 142 | m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: Posted CreateAgent request to remote sim {0}, region {1}, x={2} y={3}", |
143 | uri, destination.RegionName, destination.RegionLocX, destination.RegionLocY); | 143 | uri, destination.RegionName, destination.RegionLocX, destination.RegionLocY); |
144 | } | 144 | } |
145 | //catch (WebException ex) | 145 | //catch (WebException ex) |
146 | catch | 146 | catch |
147 | { | 147 | { |
148 | //m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on ChildAgentUpdate {0}", ex.Message); | 148 | //m_log.ErrorFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on ChildAgentUpdate {0}", ex.Message); |
149 | reason = "cannot contact remote region"; | 149 | reason = "cannot contact remote region"; |
150 | return false; | 150 | return false; |
151 | } | 151 | } |
@@ -172,19 +172,19 @@ namespace OpenSim.Services.Connectors.Simulation | |||
172 | webResponse = AgentCreateRequest.GetResponse(); | 172 | webResponse = AgentCreateRequest.GetResponse(); |
173 | if (webResponse == null) | 173 | if (webResponse == null) |
174 | { | 174 | { |
175 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on DoCreateChildAgentCall post"); | 175 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Null reply on DoCreateChildAgentCall post"); |
176 | } | 176 | } |
177 | else | 177 | else |
178 | { | 178 | { |
179 | 179 | ||
180 | sr = new StreamReader(webResponse.GetResponseStream()); | 180 | sr = new StreamReader(webResponse.GetResponseStream()); |
181 | response = sr.ReadToEnd().Trim(); | 181 | response = sr.ReadToEnd().Trim(); |
182 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: DoCreateChildAgentCall reply was {0} ", response); | 182 | m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: DoCreateChildAgentCall reply was {0} ", response); |
183 | } | 183 | } |
184 | } | 184 | } |
185 | catch (WebException ex) | 185 | catch (WebException ex) |
186 | { | 186 | { |
187 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", ex.Message); | 187 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", ex.Message); |
188 | reason = "Destination did not reply"; | 188 | reason = "Destination did not reply"; |
189 | return string.Empty; | 189 | return string.Empty; |
190 | } | 190 | } |
@@ -212,7 +212,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
212 | } | 212 | } |
213 | catch (NullReferenceException e) | 213 | catch (NullReferenceException e) |
214 | { | 214 | { |
215 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", e.Message); | 215 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of DoCreateChildAgentCall {0}", e.Message); |
216 | 216 | ||
217 | // check for old style response | 217 | // check for old style response |
218 | if (response.ToLower().StartsWith("true")) | 218 | if (response.ToLower().StartsWith("true")) |
@@ -232,7 +232,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
232 | } | 232 | } |
233 | catch (Exception e) | 233 | catch (Exception e) |
234 | { | 234 | { |
235 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: PackAgentCircuitData failed with exception: " + e.Message); | 235 | m_log.Warn("[REMOTE SIMULATION CONNECTOR]: PackAgentCircuitData failed with exception: " + e.Message); |
236 | return null; | 236 | return null; |
237 | } | 237 | } |
238 | // Add the input arguments | 238 | // Add the input arguments |
@@ -258,6 +258,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
258 | private bool UpdateAgent(GridRegion destination, IAgentData cAgentData) | 258 | private bool UpdateAgent(GridRegion destination, IAgentData cAgentData) |
259 | { | 259 | { |
260 | // Eventually, we want to use a caps url instead of the agentID | 260 | // Eventually, we want to use a caps url instead of the agentID |
261 | |||
261 | string uri = destination.ServerURI + AgentPath() + cAgentData.AgentID + "/"; | 262 | string uri = destination.ServerURI + AgentPath() + cAgentData.AgentID + "/"; |
262 | 263 | ||
263 | HttpWebRequest ChildUpdateRequest = (HttpWebRequest)WebRequest.Create(uri); | 264 | HttpWebRequest ChildUpdateRequest = (HttpWebRequest)WebRequest.Create(uri); |
@@ -274,7 +275,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
274 | } | 275 | } |
275 | catch (Exception e) | 276 | catch (Exception e) |
276 | { | 277 | { |
277 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: PackUpdateMessage failed with exception: " + e.Message); | 278 | m_log.Warn("[REMOTE SIMULATION CONNECTOR]: PackUpdateMessage failed with exception: " + e.Message); |
278 | } | 279 | } |
279 | // Add the input arguments | 280 | // Add the input arguments |
280 | args["destination_x"] = OSD.FromString(destination.RegionLocX.ToString()); | 281 | args["destination_x"] = OSD.FromString(destination.RegionLocX.ToString()); |
@@ -303,12 +304,12 @@ namespace OpenSim.Services.Connectors.Simulation | |||
303 | ChildUpdateRequest.ContentLength = buffer.Length; //Count bytes to send | 304 | ChildUpdateRequest.ContentLength = buffer.Length; //Count bytes to send |
304 | os = ChildUpdateRequest.GetRequestStream(); | 305 | os = ChildUpdateRequest.GetRequestStream(); |
305 | os.Write(buffer, 0, strBuffer.Length); //Send it | 306 | os.Write(buffer, 0, strBuffer.Length); //Send it |
306 | //m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Posted AgentUpdate request to remote sim {0}", uri); | 307 | //m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: Posted AgentUpdate request to remote sim {0}", uri); |
307 | } | 308 | } |
308 | catch (WebException ex) | 309 | catch (WebException ex) |
309 | //catch | 310 | //catch |
310 | { | 311 | { |
311 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on AgentUpdate {0}", ex.Message); | 312 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on AgentUpdate {0}", ex.Message); |
312 | 313 | ||
313 | return false; | 314 | return false; |
314 | } | 315 | } |
@@ -319,7 +320,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
319 | } | 320 | } |
320 | 321 | ||
321 | // Let's wait for the response | 322 | // Let's wait for the response |
322 | //m_log.Info("[REMOTE SIMULATION CONNECTOR]: Waiting for a reply after ChildAgentUpdate"); | 323 | //m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Waiting for a reply after ChildAgentUpdate"); |
323 | 324 | ||
324 | WebResponse webResponse = null; | 325 | WebResponse webResponse = null; |
325 | StreamReader sr = null; | 326 | StreamReader sr = null; |
@@ -328,19 +329,19 @@ namespace OpenSim.Services.Connectors.Simulation | |||
328 | webResponse = ChildUpdateRequest.GetResponse(); | 329 | webResponse = ChildUpdateRequest.GetResponse(); |
329 | if (webResponse == null) | 330 | if (webResponse == null) |
330 | { | 331 | { |
331 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on ChilAgentUpdate post"); | 332 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Null reply on ChilAgentUpdate post"); |
332 | } | 333 | } |
333 | 334 | ||
334 | sr = new StreamReader(webResponse.GetResponseStream()); | 335 | sr = new StreamReader(webResponse.GetResponseStream()); |
335 | //reply = sr.ReadToEnd().Trim(); | 336 | //reply = sr.ReadToEnd().Trim(); |
336 | sr.ReadToEnd().Trim(); | 337 | sr.ReadToEnd().Trim(); |
337 | sr.Close(); | 338 | sr.Close(); |
338 | //m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: ChilAgentUpdate reply was {0} ", reply); | 339 | //m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: ChilAgentUpdate reply was {0} ", reply); |
339 | 340 | ||
340 | } | 341 | } |
341 | catch (WebException ex) | 342 | catch (WebException ex) |
342 | { | 343 | { |
343 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of ChilAgentUpdate from {0}: {1}", uri, ex.Message); | 344 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of ChilAgentUpdate from {0}: {1}", uri, ex.Message); |
344 | // ignore, really | 345 | // ignore, really |
345 | } | 346 | } |
346 | finally | 347 | finally |
@@ -371,7 +372,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
371 | webResponse = (HttpWebResponse)request.GetResponse(); | 372 | webResponse = (HttpWebResponse)request.GetResponse(); |
372 | if (webResponse == null) | 373 | if (webResponse == null) |
373 | { | 374 | { |
374 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on agent get "); | 375 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Null reply on agent get "); |
375 | } | 376 | } |
376 | 377 | ||
377 | sr = new StreamReader(webResponse.GetResponseStream()); | 378 | sr = new StreamReader(webResponse.GetResponseStream()); |
@@ -381,7 +382,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
381 | } | 382 | } |
382 | catch (WebException ex) | 383 | catch (WebException ex) |
383 | { | 384 | { |
384 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent get {0}", ex.Message); | 385 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent get {0}", ex.Message); |
385 | // ignore, really | 386 | // ignore, really |
386 | return false; | 387 | return false; |
387 | } | 388 | } |
@@ -420,7 +421,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
420 | WebResponse webResponse = request.GetResponse(); | 421 | WebResponse webResponse = request.GetResponse(); |
421 | if (webResponse == null) | 422 | if (webResponse == null) |
422 | { | 423 | { |
423 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on ReleaseAgent"); | 424 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Null reply on ReleaseAgent"); |
424 | } | 425 | } |
425 | 426 | ||
426 | sr = new StreamReader(webResponse.GetResponseStream()); | 427 | sr = new StreamReader(webResponse.GetResponseStream()); |
@@ -432,7 +433,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
432 | } | 433 | } |
433 | catch (WebException ex) | 434 | catch (WebException ex) |
434 | { | 435 | { |
435 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of ReleaseAgent {0}", ex.Message); | 436 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of ReleaseAgent {0}", ex.Message); |
436 | return false; | 437 | return false; |
437 | } | 438 | } |
438 | finally | 439 | finally |
@@ -448,7 +449,6 @@ namespace OpenSim.Services.Connectors.Simulation | |||
448 | { | 449 | { |
449 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; | 450 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; |
450 | 451 | ||
451 | |||
452 | WebRequest request = WebRequest.Create(uri); | 452 | WebRequest request = WebRequest.Create(uri); |
453 | request.Method = "DELETE"; | 453 | request.Method = "DELETE"; |
454 | request.Timeout = 10000; | 454 | request.Timeout = 10000; |
@@ -459,7 +459,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
459 | WebResponse webResponse = request.GetResponse(); | 459 | WebResponse webResponse = request.GetResponse(); |
460 | if (webResponse == null) | 460 | if (webResponse == null) |
461 | { | 461 | { |
462 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on agent delete "); | 462 | m_log.Debug("[REMOTE SIMULATION CONNECTOR]: Null reply on agent delete "); |
463 | } | 463 | } |
464 | 464 | ||
465 | sr = new StreamReader(webResponse.GetResponseStream()); | 465 | sr = new StreamReader(webResponse.GetResponseStream()); |
@@ -471,7 +471,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
471 | } | 471 | } |
472 | catch (WebException ex) | 472 | catch (WebException ex) |
473 | { | 473 | { |
474 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent delete from {0}: {1}", destination.RegionName, ex.Message); | 474 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of agent delete from {0}: {1}", destination.RegionName, ex.Message); |
475 | return false; | 475 | return false; |
476 | } | 476 | } |
477 | finally | 477 | finally |
@@ -536,11 +536,11 @@ namespace OpenSim.Services.Connectors.Simulation | |||
536 | ObjectCreateRequest.ContentLength = buffer.Length; //Count bytes to send | 536 | ObjectCreateRequest.ContentLength = buffer.Length; //Count bytes to send |
537 | os = ObjectCreateRequest.GetRequestStream(); | 537 | os = ObjectCreateRequest.GetRequestStream(); |
538 | os.Write(buffer, 0, strBuffer.Length); //Send it | 538 | os.Write(buffer, 0, strBuffer.Length); //Send it |
539 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Posted CreateObject request to remote sim {0}", uri); | 539 | m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: Posted CreateObject request to remote sim {0}", uri); |
540 | } | 540 | } |
541 | catch (WebException ex) | 541 | catch (WebException ex) |
542 | { | 542 | { |
543 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on CreateObject {0}", ex.Message); | 543 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: Bad send on CreateObject {0}", ex.Message); |
544 | return false; | 544 | return false; |
545 | } | 545 | } |
546 | finally | 546 | finally |
@@ -558,7 +558,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
558 | WebResponse webResponse = ObjectCreateRequest.GetResponse(); | 558 | WebResponse webResponse = ObjectCreateRequest.GetResponse(); |
559 | if (webResponse == null) | 559 | if (webResponse == null) |
560 | { | 560 | { |
561 | m_log.Info("[REMOTE SIMULATION CONNECTOR]: Null reply on CreateObject post"); | 561 | m_log.Warn("[REMOTE SIMULATION CONNECTOR]: Null reply on CreateObject post"); |
562 | return false; | 562 | return false; |
563 | } | 563 | } |
564 | 564 | ||
@@ -570,7 +570,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
570 | } | 570 | } |
571 | catch (WebException ex) | 571 | catch (WebException ex) |
572 | { | 572 | { |
573 | m_log.InfoFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of CreateObject {0}", ex.Message); | 573 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR]: exception on reply of CreateObject {0}", ex.Message); |
574 | return false; | 574 | return false; |
575 | } | 575 | } |
576 | finally | 576 | finally |
diff --git a/OpenSim/Services/Interfaces/IAvatarService.cs b/OpenSim/Services/Interfaces/IAvatarService.cs index eaa6534..186871a 100644 --- a/OpenSim/Services/Interfaces/IAvatarService.cs +++ b/OpenSim/Services/Interfaces/IAvatarService.cs | |||
@@ -149,33 +149,33 @@ namespace OpenSim.Services.Interfaces | |||
149 | Data["Serial"] = appearance.Serial.ToString(); | 149 | Data["Serial"] = appearance.Serial.ToString(); |
150 | // Wearables | 150 | // Wearables |
151 | Data["AvatarHeight"] = appearance.AvatarHeight.ToString(); | 151 | Data["AvatarHeight"] = appearance.AvatarHeight.ToString(); |
152 | Data["BodyItem"] = appearance.BodyItem.ToString(); | 152 | Data["BodyItem"] = appearance.Wearables[AvatarWearable.BODY][0].ItemID.ToString(); |
153 | Data["EyesItem"] = appearance.EyesItem.ToString(); | 153 | Data["EyesItem"] = appearance.Wearables[AvatarWearable.EYES][0].ItemID.ToString(); |
154 | Data["GlovesItem"] = appearance.GlovesItem.ToString(); | 154 | Data["GlovesItem"] = appearance.Wearables[AvatarWearable.GLOVES][0].ItemID.ToString(); |
155 | Data["HairItem"] = appearance.HairItem.ToString(); | 155 | Data["HairItem"] = appearance.Wearables[AvatarWearable.HAIR][0].ItemID.ToString(); |
156 | Data["JacketItem"] = appearance.JacketItem.ToString(); | 156 | Data["JacketItem"] = appearance.Wearables[AvatarWearable.JACKET][0].ItemID.ToString(); |
157 | Data["PantsItem"] = appearance.PantsItem.ToString(); | 157 | Data["PantsItem"] = appearance.Wearables[AvatarWearable.PANTS][0].ItemID.ToString(); |
158 | Data["ShirtItem"] = appearance.ShirtItem.ToString(); | 158 | Data["ShirtItem"] = appearance.Wearables[AvatarWearable.SHIRT][0].ItemID.ToString(); |
159 | Data["ShoesItem"] = appearance.ShoesItem.ToString(); | 159 | Data["ShoesItem"] = appearance.Wearables[AvatarWearable.SHOES][0].ItemID.ToString(); |
160 | Data["SkinItem"] = appearance.SkinItem.ToString(); | 160 | Data["SkinItem"] = appearance.Wearables[AvatarWearable.SKIN][0].ItemID.ToString(); |
161 | Data["SkirtItem"] = appearance.SkirtItem.ToString(); | 161 | Data["SkirtItem"] = appearance.Wearables[AvatarWearable.SKIRT][0].ItemID.ToString(); |
162 | Data["SocksItem"] = appearance.SocksItem.ToString(); | 162 | Data["SocksItem"] = appearance.Wearables[AvatarWearable.SOCKS][0].ItemID.ToString(); |
163 | Data["UnderPantsItem"] = appearance.UnderPantsItem.ToString(); | 163 | Data["UnderPantsItem"] = appearance.Wearables[AvatarWearable.UNDERPANTS][0].ItemID.ToString(); |
164 | Data["UnderShirtItem"] = appearance.UnderShirtItem.ToString(); | 164 | Data["UnderShirtItem"] = appearance.Wearables[AvatarWearable.UNDERSHIRT][0].ItemID.ToString(); |
165 | 165 | ||
166 | Data["BodyAsset"] = appearance.BodyAsset.ToString(); | 166 | Data["BodyAsset"] = appearance.Wearables[AvatarWearable.BODY][0].AssetID.ToString(); |
167 | Data["EyesAsset"] = appearance.EyesAsset.ToString(); | 167 | Data["EyesAsset"] = appearance.Wearables[AvatarWearable.EYES][0].AssetID.ToString(); |
168 | Data["GlovesAsset"] = appearance.GlovesAsset.ToString(); | 168 | Data["GlovesAsset"] = appearance.Wearables[AvatarWearable.GLOVES][0].AssetID.ToString(); |
169 | Data["HairAsset"] = appearance.HairAsset.ToString(); | 169 | Data["HairAsset"] = appearance.Wearables[AvatarWearable.HAIR][0].AssetID.ToString(); |
170 | Data["JacketAsset"] = appearance.JacketAsset.ToString(); | 170 | Data["JacketAsset"] = appearance.Wearables[AvatarWearable.JACKET][0].AssetID.ToString(); |
171 | Data["PantsAsset"] = appearance.PantsAsset.ToString(); | 171 | Data["PantsAsset"] = appearance.Wearables[AvatarWearable.PANTS][0].AssetID.ToString(); |
172 | Data["ShirtAsset"] = appearance.ShirtAsset.ToString(); | 172 | Data["ShirtAsset"] = appearance.Wearables[AvatarWearable.SHIRT][0].AssetID.ToString(); |
173 | Data["ShoesAsset"] = appearance.ShoesAsset.ToString(); | 173 | Data["ShoesAsset"] = appearance.Wearables[AvatarWearable.SHOES][0].AssetID.ToString(); |
174 | Data["SkinAsset"] = appearance.SkinAsset.ToString(); | 174 | Data["SkinAsset"] = appearance.Wearables[AvatarWearable.SKIN][0].AssetID.ToString(); |
175 | Data["SkirtAsset"] = appearance.SkirtAsset.ToString(); | 175 | Data["SkirtAsset"] = appearance.Wearables[AvatarWearable.SKIRT][0].AssetID.ToString(); |
176 | Data["SocksAsset"] = appearance.SocksAsset.ToString(); | 176 | Data["SocksAsset"] = appearance.Wearables[AvatarWearable.SOCKS][0].AssetID.ToString(); |
177 | Data["UnderPantsAsset"] = appearance.UnderPantsAsset.ToString(); | 177 | Data["UnderPantsAsset"] = appearance.Wearables[AvatarWearable.UNDERPANTS][0].AssetID.ToString(); |
178 | Data["UnderShirtAsset"] = appearance.UnderShirtAsset.ToString(); | 178 | Data["UnderShirtAsset"] = appearance.Wearables[AvatarWearable.UNDERSHIRT][0].AssetID.ToString(); |
179 | 179 | ||
180 | // Attachments | 180 | // Attachments |
181 | List<AvatarAttachment> attachments = appearance.GetAttachments(); | 181 | List<AvatarAttachment> attachments = appearance.GetAttachments(); |
@@ -190,36 +190,75 @@ namespace OpenSim.Services.Interfaces | |||
190 | AvatarAppearance appearance = new AvatarAppearance(owner); | 190 | AvatarAppearance appearance = new AvatarAppearance(owner); |
191 | try | 191 | try |
192 | { | 192 | { |
193 | appearance.Serial = Int32.Parse(Data["Serial"]); | 193 | if (Data.ContainsKey("Serial")) |
194 | appearance.Serial = Int32.Parse(Data["Serial"]); | ||
194 | 195 | ||
195 | // Wearables | 196 | // Wearables |
196 | appearance.BodyItem = UUID.Parse(Data["BodyItem"]); | 197 | if (Data.ContainsKey("BodyItem")) |
197 | appearance.EyesItem = UUID.Parse(Data["EyesItem"]); | 198 | appearance.Wearables[AvatarWearable.BODY].Wear( |
198 | appearance.GlovesItem = UUID.Parse(Data["GlovesItem"]); | 199 | UUID.Parse(Data["BodyItem"]), |
199 | appearance.HairItem = UUID.Parse(Data["HairItem"]); | 200 | UUID.Parse(Data["BodyAsset"])); |
200 | appearance.JacketItem = UUID.Parse(Data["JacketItem"]); | 201 | |
201 | appearance.PantsItem = UUID.Parse(Data["PantsItem"]); | 202 | if (Data.ContainsKey("SkinItem")) |
202 | appearance.ShirtItem = UUID.Parse(Data["ShirtItem"]); | 203 | appearance.Wearables[AvatarWearable.SKIN].Wear( |
203 | appearance.ShoesItem = UUID.Parse(Data["ShoesItem"]); | 204 | UUID.Parse(Data["SkinItem"]), |
204 | appearance.SkinItem = UUID.Parse(Data["SkinItem"]); | 205 | UUID.Parse(Data["SkinAsset"])); |
205 | appearance.SkirtItem = UUID.Parse(Data["SkirtItem"]); | 206 | |
206 | appearance.SocksItem = UUID.Parse(Data["SocksItem"]); | 207 | if (Data.ContainsKey("HairItem")) |
207 | appearance.UnderPantsItem = UUID.Parse(Data["UnderPantsItem"]); | 208 | appearance.Wearables[AvatarWearable.HAIR].Wear( |
208 | appearance.UnderShirtItem = UUID.Parse(Data["UnderShirtItem"]); | 209 | UUID.Parse(Data["HairItem"]), |
209 | 210 | UUID.Parse(Data["HairAsset"])); | |
210 | appearance.BodyAsset = UUID.Parse(Data["BodyAsset"]); | 211 | |
211 | appearance.EyesAsset = UUID.Parse(Data["EyesAsset"]); | 212 | if (Data.ContainsKey("EyesItem")) |
212 | appearance.GlovesAsset = UUID.Parse(Data["GlovesAsset"]); | 213 | appearance.Wearables[AvatarWearable.EYES].Wear( |
213 | appearance.HairAsset = UUID.Parse(Data["HairAsset"]); | 214 | UUID.Parse(Data["EyesItem"]), |
214 | appearance.JacketAsset = UUID.Parse(Data["JacketAsset"]); | 215 | UUID.Parse(Data["EyesAsset"])); |
215 | appearance.PantsAsset = UUID.Parse(Data["PantsAsset"]); | 216 | |
216 | appearance.ShirtAsset = UUID.Parse(Data["ShirtAsset"]); | 217 | if (Data.ContainsKey("ShirtItem")) |
217 | appearance.ShoesAsset = UUID.Parse(Data["ShoesAsset"]); | 218 | appearance.Wearables[AvatarWearable.SHIRT].Wear( |
218 | appearance.SkinAsset = UUID.Parse(Data["SkinAsset"]); | 219 | UUID.Parse(Data["ShirtItem"]), |
219 | appearance.SkirtAsset = UUID.Parse(Data["SkirtAsset"]); | 220 | UUID.Parse(Data["ShirtAsset"])); |
220 | appearance.SocksAsset = UUID.Parse(Data["SocksAsset"]); | 221 | |
221 | appearance.UnderPantsAsset = UUID.Parse(Data["UnderPantsAsset"]); | 222 | if (Data.ContainsKey("PantsItem")) |
222 | appearance.UnderShirtAsset = UUID.Parse(Data["UnderShirtAsset"]); | 223 | appearance.Wearables[AvatarWearable.PANTS].Wear( |
224 | UUID.Parse(Data["PantsItem"]), | ||
225 | UUID.Parse(Data["PantsAsset"])); | ||
226 | |||
227 | if (Data.ContainsKey("ShoesItem")) | ||
228 | appearance.Wearables[AvatarWearable.SHOES].Wear( | ||
229 | UUID.Parse(Data["ShoesItem"]), | ||
230 | UUID.Parse(Data["ShoesAsset"])); | ||
231 | |||
232 | if (Data.ContainsKey("SocksItem")) | ||
233 | appearance.Wearables[AvatarWearable.SOCKS].Wear( | ||
234 | UUID.Parse(Data["SocksItem"]), | ||
235 | UUID.Parse(Data["SocksAsset"])); | ||
236 | |||
237 | if (Data.ContainsKey("JacketItem")) | ||
238 | appearance.Wearables[AvatarWearable.JACKET].Wear( | ||
239 | UUID.Parse(Data["JacketItem"]), | ||
240 | UUID.Parse(Data["JacketAsset"])); | ||
241 | |||
242 | if (Data.ContainsKey("GlovesItem")) | ||
243 | appearance.Wearables[AvatarWearable.GLOVES].Wear( | ||
244 | UUID.Parse(Data["GlovesItem"]), | ||
245 | UUID.Parse(Data["GlovesAsset"])); | ||
246 | |||
247 | if (Data.ContainsKey("UnderShirtItem")) | ||
248 | appearance.Wearables[AvatarWearable.UNDERSHIRT].Wear( | ||
249 | UUID.Parse(Data["UnderShirtItem"]), | ||
250 | UUID.Parse(Data["UnderShirtAsset"])); | ||
251 | |||
252 | if (Data.ContainsKey("UnderPantsItem")) | ||
253 | appearance.Wearables[AvatarWearable.UNDERPANTS].Wear( | ||
254 | UUID.Parse(Data["UnderPantsItem"]), | ||
255 | UUID.Parse(Data["UnderPantsAsset"])); | ||
256 | |||
257 | if (Data.ContainsKey("SkirtItem")) | ||
258 | appearance.Wearables[AvatarWearable.SKIRT].Wear( | ||
259 | UUID.Parse(Data["SkirtItem"]), | ||
260 | UUID.Parse(Data["SkirtAsset"])); | ||
261 | |||
223 | 262 | ||
224 | // Attachments | 263 | // Attachments |
225 | Dictionary<string, string> attchs = new Dictionary<string, string>(); | 264 | Dictionary<string, string> attchs = new Dictionary<string, string>(); |