aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs36
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;