diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index c38c829..3a0ddae 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3634,7 +3634,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3634 | 3634 | ||
3635 | AvatarAppearancePacket avp = (AvatarAppearancePacket)PacketPool.Instance.GetPacket(PacketType.AvatarAppearance); | 3635 | AvatarAppearancePacket avp = (AvatarAppearancePacket)PacketPool.Instance.GetPacket(PacketType.AvatarAppearance); |
3636 | // TODO: don't create new blocks if recycling an old packet | 3636 | // TODO: don't create new blocks if recycling an old packet |
3637 | avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[218]; | 3637 | avp.VisualParam = new AvatarAppearancePacket.VisualParamBlock[visualParams.Length]; |
3638 | avp.ObjectData.TextureEntry = textureEntry; | 3638 | avp.ObjectData.TextureEntry = textureEntry; |
3639 | 3639 | ||
3640 | AvatarAppearancePacket.VisualParamBlock avblock = null; | 3640 | AvatarAppearancePacket.VisualParamBlock avblock = null; |
@@ -6446,26 +6446,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
6446 | // Temporarily protect ourselves from the mantis #951 failure. | 6446 | // Temporarily protect ourselves from the mantis #951 failure. |
6447 | // However, we could do this for several other handlers where a failure isn't terminal | 6447 | // However, we could do this for several other handlers where a failure isn't terminal |
6448 | // for the client session anyway, in order to protect ourselves against bad code in plugins | 6448 | // for the client session anyway, in order to protect ourselves against bad code in plugins |
6449 | Vector3 avSize = appear.AgentData.Size; | ||
6449 | try | 6450 | try |
6450 | { | 6451 | { |
6451 | byte[] visualparams = new byte[appear.VisualParam.Length]; | 6452 | byte[] visualparams = new byte[appear.VisualParam.Length]; |
6452 | for (int i = 0; i < appear.VisualParam.Length; i++) | 6453 | for (int i = 0; i < appear.VisualParam.Length; i++) |
6453 | visualparams[i] = appear.VisualParam[i].ParamValue; | 6454 | visualparams[i] = appear.VisualParam[i].ParamValue; |
6455 | //var b = appear.WearableData[0]; | ||
6454 | 6456 | ||
6455 | Primitive.TextureEntry te = null; | 6457 | Primitive.TextureEntry te = null; |
6456 | if (appear.ObjectData.TextureEntry.Length > 1) | 6458 | if (appear.ObjectData.TextureEntry.Length > 1) |
6457 | te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length); | 6459 | te = new Primitive.TextureEntry(appear.ObjectData.TextureEntry, 0, appear.ObjectData.TextureEntry.Length); |
6458 | 6460 | ||
6459 | List<CachedTextureRequestArg> hashes = new List<CachedTextureRequestArg>(); | 6461 | WearableCacheItem[] cacheitems = new WearableCacheItem[appear.WearableData.Length]; |
6460 | for (int i = 0; i < appear.WearableData.Length; i++) | 6462 | for (int i=0; i<appear.WearableData.Length;i++) |
6461 | { | 6463 | cacheitems[i] = new WearableCacheItem(){CacheId = appear.WearableData[i].CacheID,TextureIndex=Convert.ToUInt32(appear.WearableData[i].TextureIndex)}; |
6462 | CachedTextureRequestArg arg = new CachedTextureRequestArg(); | 6464 | |
6463 | arg.BakedTextureIndex = appear.WearableData[i].TextureIndex; | 6465 | |
6464 | arg.WearableHashID = appear.WearableData[i].CacheID; | ||
6465 | hashes.Add(arg); | ||
6466 | } | ||
6467 | 6466 | ||
6468 | handlerSetAppearance(sender, te, visualparams, hashes); | 6467 | handlerSetAppearance(sender, te, visualparams,avSize, cacheitems); |
6469 | } | 6468 | } |
6470 | catch (Exception e) | 6469 | catch (Exception e) |
6471 | { | 6470 | { |