diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs index be3069a..17d3bb9 100644 --- a/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs +++ b/OpenSim/Region/Framework/Scenes/ChildAgentDataUpdate.cs | |||
@@ -251,7 +251,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
251 | public UUID GranterID; | 251 | public UUID GranterID; |
252 | 252 | ||
253 | // Appearance | 253 | // Appearance |
254 | public UUID[] AgentTextures; | 254 | public byte[] AgentTextures; |
255 | public byte[] VisualParams; | 255 | public byte[] VisualParams; |
256 | public UUID[] Wearables; | 256 | public UUID[] Wearables; |
257 | 257 | ||
@@ -311,13 +311,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
311 | args["animations"] = anims; | 311 | args["animations"] = anims; |
312 | } | 312 | } |
313 | 313 | ||
314 | //if ((AgentTextures != null) && (AgentTextures.Length > 0)) | ||
315 | //{ | ||
316 | // OSDArray textures = new OSDArray(AgentTextures.Length); | ||
317 | // foreach (UUID uuid in AgentTextures) | ||
318 | // textures.Add(OSD.FromUUID(uuid)); | ||
319 | // args["agent_textures"] = textures; | ||
320 | //} | ||
321 | |||
314 | if ((AgentTextures != null) && (AgentTextures.Length > 0)) | 322 | if ((AgentTextures != null) && (AgentTextures.Length > 0)) |
315 | { | 323 | args["texture_entry"] = OSD.FromBinary(AgentTextures); |
316 | OSDArray textures = new OSDArray(AgentTextures.Length); | ||
317 | foreach (UUID uuid in AgentTextures) | ||
318 | textures.Add(OSD.FromUUID(uuid)); | ||
319 | args["agent_textures"] = textures; | ||
320 | } | ||
321 | 324 | ||
322 | if ((VisualParams != null) && (VisualParams.Length > 0)) | 325 | if ((VisualParams != null) && (VisualParams.Length > 0)) |
323 | args["visual_params"] = OSD.FromBinary(VisualParams); | 326 | args["visual_params"] = OSD.FromBinary(VisualParams); |
@@ -448,14 +451,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
448 | } | 451 | } |
449 | } | 452 | } |
450 | 453 | ||
451 | if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array) | 454 | //if ((args["agent_textures"] != null) && (args["agent_textures"]).Type == OSDType.Array) |
452 | { | 455 | //{ |
453 | OSDArray textures = (OSDArray)(args["agent_textures"]); | 456 | // OSDArray textures = (OSDArray)(args["agent_textures"]); |
454 | AgentTextures = new UUID[textures.Count]; | 457 | // AgentTextures = new UUID[textures.Count]; |
455 | int i = 0; | 458 | // int i = 0; |
456 | foreach (OSD o in textures) | 459 | // foreach (OSD o in textures) |
457 | AgentTextures[i++] = o.AsUUID(); | 460 | // AgentTextures[i++] = o.AsUUID(); |
458 | } | 461 | //} |
462 | |||
463 | if (args["texture_entry"] != null) | ||
464 | AgentTextures = args["texture_entry"].AsBinary(); | ||
459 | 465 | ||
460 | if (args["visual_params"] != null) | 466 | if (args["visual_params"] != null) |
461 | VisualParams = args["visual_params"].AsBinary(); | 467 | VisualParams = args["visual_params"].AsBinary(); |