diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index d21452f..6859b83 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -80,7 +80,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
80 | public event DeRezObject OnDeRezObject; | 80 | public event DeRezObject OnDeRezObject; |
81 | public event RezRestoreToWorld OnRezRestoreToWorld; | 81 | public event RezRestoreToWorld OnRezRestoreToWorld; |
82 | public event ModifyTerrain OnModifyTerrain; | 82 | public event ModifyTerrain OnModifyTerrain; |
83 | public event Action<IClientAPI, uint> OnRegionHandShakeReply; | 83 | public event Action<IClientAPI> OnRegionHandShakeReply; |
84 | public event GenericCall1 OnRequestWearables; | 84 | public event GenericCall1 OnRequestWearables; |
85 | public event SetAppearance OnSetAppearance; | 85 | public event SetAppearance OnSetAppearance; |
86 | public event AvatarNowWearing OnAvatarNowWearing; | 86 | public event AvatarNowWearing OnAvatarNowWearing; |
@@ -8923,7 +8923,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8923 | 8923 | ||
8924 | private bool HandlerRegionHandshakeReply(IClientAPI sender, Packet Pack) | 8924 | private bool HandlerRegionHandshakeReply(IClientAPI sender, Packet Pack) |
8925 | { | 8925 | { |
8926 | Action<IClientAPI, uint> handlerRegionHandShakeReply = OnRegionHandShakeReply; | 8926 | Action<IClientAPI> handlerRegionHandShakeReply = OnRegionHandShakeReply; |
8927 | if (handlerRegionHandShakeReply == null) | 8927 | if (handlerRegionHandShakeReply == null) |
8928 | return true; // silence the warning | 8928 | return true; // silence the warning |
8929 | 8929 | ||
@@ -8936,7 +8936,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8936 | else | 8936 | else |
8937 | m_viewerHandShakeFlags = 0; | 8937 | m_viewerHandShakeFlags = 0; |
8938 | 8938 | ||
8939 | handlerRegionHandShakeReply(this, m_viewerHandShakeFlags); | 8939 | handlerRegionHandShakeReply(this); |
8940 | 8940 | ||
8941 | return true; | 8941 | return true; |
8942 | } | 8942 | } |
@@ -15364,15 +15364,30 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
15364 | return new HashSet<string>(m_inPacketsToDrop); | 15364 | return new HashSet<string>(m_inPacketsToDrop); |
15365 | } | 15365 | } |
15366 | 15366 | ||
15367 | public void CheckViewerCaps() | 15367 | public uint GetViewerCaps() |
15368 | { | 15368 | { |
15369 | m_SupportObjectAnimations = false; | 15369 | m_SupportObjectAnimations = false; |
15370 | uint ret; | ||
15371 | if(m_supportViewerCache) | ||
15372 | ret = m_viewerHandShakeFlags; | ||
15373 | else | ||
15374 | ret = m_viewerHandShakeFlags & 4; | ||
15375 | |||
15370 | if (m_scene.CapsModule != null) | 15376 | if (m_scene.CapsModule != null) |
15371 | { | 15377 | { |
15372 | Caps cap = m_scene.CapsModule.GetCapsForUser(CircuitCode); | 15378 | Caps cap = m_scene.CapsModule.GetCapsForUser(CircuitCode); |
15373 | if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0) | 15379 | if(cap != null) |
15374 | m_SupportObjectAnimations = true; | 15380 | { |
15381 | if((cap.Flags & Caps.CapsFlags.SentSeeds) != 0) | ||
15382 | ret |= 0x1000; | ||
15383 | if ((cap.Flags & Caps.CapsFlags.ObjectAnim) != 0) | ||
15384 | { | ||
15385 | m_SupportObjectAnimations = true; | ||
15386 | ret |= 0x2000; | ||
15387 | } | ||
15388 | } | ||
15375 | } | 15389 | } |
15390 | return ret; // ??? | ||
15376 | } | 15391 | } |
15377 | } | 15392 | } |
15378 | } | 15393 | } |