diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 2efaa79..ea3c6a4 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -331,6 +331,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
331 | private Prioritizer m_prioritizer; | 331 | private Prioritizer m_prioritizer; |
332 | private bool m_disableFacelights = false; | 332 | private bool m_disableFacelights = false; |
333 | 333 | ||
334 | private bool m_VelocityInterpolate = false; | ||
334 | private const uint MaxTransferBytesPerPacket = 600; | 335 | private const uint MaxTransferBytesPerPacket = 600; |
335 | 336 | ||
336 | 337 | ||
@@ -3991,6 +3992,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3991 | 3992 | ||
3992 | const float TIME_DILATION = 1.0f; | 3993 | const float TIME_DILATION = 1.0f; |
3993 | ushort timeDilation = Utils.FloatToUInt16(avgTimeDilation, 0.0f, 1.0f); | 3994 | ushort timeDilation = Utils.FloatToUInt16(avgTimeDilation, 0.0f, 1.0f); |
3995 | |||
3994 | 3996 | ||
3995 | if (terseAgentUpdateBlocks.IsValueCreated) | 3997 | if (terseAgentUpdateBlocks.IsValueCreated) |
3996 | { | 3998 | { |
@@ -4971,7 +4973,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4971 | // in that direction, even though we don't model this on the server. Implementing this in the future | 4973 | // in that direction, even though we don't model this on the server. Implementing this in the future |
4972 | // may improve movement smoothness. | 4974 | // may improve movement smoothness. |
4973 | // acceleration = new Vector3(1, 0, 0); | 4975 | // acceleration = new Vector3(1, 0, 0); |
4974 | 4976 | ||
4975 | angularVelocity = Vector3.Zero; | 4977 | angularVelocity = Vector3.Zero; |
4976 | 4978 | ||
4977 | if (sendTexture) | 4979 | if (sendTexture) |
@@ -5309,8 +5311,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5309 | // If AgentUpdate is ever handled asynchronously, then we will also need to construct a new AgentUpdateArgs | 5311 | // If AgentUpdate is ever handled asynchronously, then we will also need to construct a new AgentUpdateArgs |
5310 | // for each AgentUpdate packet. | 5312 | // for each AgentUpdate packet. |
5311 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false); | 5313 | AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false); |
5312 | 5314 | ||
5313 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false); | 5315 | AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false); |
5316 | AddLocalPacketHandler(PacketType.VelocityInterpolateOff, HandleVelocityInterpolateOff, false); | ||
5317 | AddLocalPacketHandler(PacketType.VelocityInterpolateOn, HandleVelocityInterpolateOn, false); | ||
5314 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false); | 5318 | AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false); |
5315 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false); | 5319 | AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false); |
5316 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false); | 5320 | AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false); |
@@ -5828,6 +5832,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5828 | return true; | 5832 | return true; |
5829 | } | 5833 | } |
5830 | 5834 | ||
5835 | private bool HandleVelocityInterpolateOff(IClientAPI sender, Packet Pack) | ||
5836 | { | ||
5837 | VelocityInterpolateOffPacket p = (VelocityInterpolateOffPacket)Pack; | ||
5838 | if (p.AgentData.SessionID != SessionId || | ||
5839 | p.AgentData.AgentID != AgentId) | ||
5840 | return true; | ||
5841 | |||
5842 | m_VelocityInterpolate = false; | ||
5843 | return true; | ||
5844 | } | ||
5845 | |||
5846 | private bool HandleVelocityInterpolateOn(IClientAPI sender, Packet Pack) | ||
5847 | { | ||
5848 | VelocityInterpolateOnPacket p = (VelocityInterpolateOnPacket)Pack; | ||
5849 | if (p.AgentData.SessionID != SessionId || | ||
5850 | p.AgentData.AgentID != AgentId) | ||
5851 | return true; | ||
5852 | |||
5853 | m_VelocityInterpolate = true; | ||
5854 | return true; | ||
5855 | } | ||
5856 | |||
5857 | |||
5831 | private bool HandleAvatarPropertiesRequest(IClientAPI sender, Packet Pack) | 5858 | private bool HandleAvatarPropertiesRequest(IClientAPI sender, Packet Pack) |
5832 | { | 5859 | { |
5833 | AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack; | 5860 | AvatarPropertiesRequestPacket avatarProperties = (AvatarPropertiesRequestPacket)Pack; |