diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 51cc2bf..d94da34 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3842,7 +3842,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3842 | m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber); | 3842 | m_udpClient.NeedAcks.Remove(oPacket.SequenceNumber); |
3843 | 3843 | ||
3844 | // Count this as a resent packet since we are going to requeue all of the updates contained in it | 3844 | // Count this as a resent packet since we are going to requeue all of the updates contained in it |
3845 | Interlocked.Increment(ref m_udpClient.PacketsResent); | 3845 | Interlocked.Increment(ref m_udpClient.PacketsResent); |
3846 | |||
3847 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
3848 | // is 100% correct | ||
3849 | m_udpServer.PacketsResentCount++; | ||
3846 | 3850 | ||
3847 | foreach (EntityUpdate update in updates) | 3851 | foreach (EntityUpdate update in updates) |
3848 | ResendPrimUpdate(update); | 3852 | ResendPrimUpdate(update); |
@@ -4407,6 +4411,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4407 | // Count this as a resent packet since we are going to requeue all of the updates contained in it | 4411 | // Count this as a resent packet since we are going to requeue all of the updates contained in it |
4408 | Interlocked.Increment(ref m_udpClient.PacketsResent); | 4412 | Interlocked.Increment(ref m_udpClient.PacketsResent); |
4409 | 4413 | ||
4414 | // We're not going to worry about interlock yet since its not currently critical that this total count | ||
4415 | // is 100% correct | ||
4416 | m_udpServer.PacketsResentCount++; | ||
4417 | |||
4410 | foreach (ObjectPropertyUpdate update in updates) | 4418 | foreach (ObjectPropertyUpdate update in updates) |
4411 | ResendPropertyUpdate(update); | 4419 | ResendPropertyUpdate(update); |
4412 | } | 4420 | } |
@@ -4594,6 +4602,32 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4594 | SceneObjectPart root = sop.ParentGroup.RootPart; | 4602 | SceneObjectPart root = sop.ParentGroup.RootPart; |
4595 | 4603 | ||
4596 | block.TouchName = Util.StringToBytes256(root.TouchName); | 4604 | block.TouchName = Util.StringToBytes256(root.TouchName); |
4605 | |||
4606 | // SL 3.3.4, at least, appears to read this information as a concatenated byte[] stream of UUIDs but | ||
4607 | // it's not yet clear whether this is actually used. If this is done in the future then a pre-cached | ||
4608 | // copy is really needed since it's less efficient to be constantly recreating this byte array. | ||
4609 | // using (MemoryStream memStream = new MemoryStream()) | ||
4610 | // { | ||
4611 | // using (BinaryWriter binWriter = new BinaryWriter(memStream)) | ||
4612 | // { | ||
4613 | // for (int i = 0; i < sop.GetNumberOfSides(); i++) | ||
4614 | // { | ||
4615 | // Primitive.TextureEntryFace teFace = sop.Shape.Textures.FaceTextures[i]; | ||
4616 | // | ||
4617 | // UUID textureID; | ||
4618 | // | ||
4619 | // if (teFace != null) | ||
4620 | // textureID = teFace.TextureID; | ||
4621 | // else | ||
4622 | // textureID = sop.Shape.Textures.DefaultTexture.TextureID; | ||
4623 | // | ||
4624 | // binWriter.Write(textureID.GetBytes()); | ||
4625 | // } | ||
4626 | // | ||
4627 | // block.TextureID = memStream.ToArray(); | ||
4628 | // } | ||
4629 | // } | ||
4630 | |||
4597 | block.TextureID = new byte[0]; // TextureID ??? | 4631 | block.TextureID = new byte[0]; // TextureID ??? |
4598 | block.SitName = Util.StringToBytes256(root.SitName); | 4632 | block.SitName = Util.StringToBytes256(root.SitName); |
4599 | block.OwnerMask = root.OwnerMask; | 4633 | block.OwnerMask = root.OwnerMask; |