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