diff options
Diffstat (limited to '')
7 files changed, 28 insertions, 25 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index d1f5378..4715326 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -710,7 +710,6 @@ namespace OpenSim.Framework | |||
710 | Vector3 StartPos { get; set; } | 710 | Vector3 StartPos { get; set; } |
711 | 711 | ||
712 | UUID AgentId { get; } | 712 | UUID AgentId { get; } |
713 | bool SupportObjectAnimations { get; set; } | ||
714 | 713 | ||
715 | /// <summary> | 714 | /// <summary> |
716 | /// The scene agent for this client. This will only be set if the client has an agent in a scene (i.e. if it | 715 | /// The scene agent for this client. This will only be set if the client has an agent in a scene (i.e. if it |
@@ -1515,5 +1514,6 @@ namespace OpenSim.Framework | |||
1515 | void SendAgentTerseUpdate(ISceneEntity presence); | 1514 | void SendAgentTerseUpdate(ISceneEntity presence); |
1516 | 1515 | ||
1517 | void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data); | 1516 | void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data); |
1517 | void CheckViewerCaps(); | ||
1518 | } | 1518 | } |
1519 | } | 1519 | } |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 34e3a43..9a022e6 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -26,15 +26,11 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections; | ||
30 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
31 | using System.Net; | 30 | using System.Net; |
32 | using System.Reflection; | 31 | using System.Reflection; |
33 | using System.Runtime; | 32 | using System.Runtime; |
34 | using System.Text; | ||
35 | using System.Threading; | 33 | using System.Threading; |
36 | using System.Timers; | ||
37 | using System.Xml; | ||
38 | 34 | ||
39 | using log4net; | 35 | using log4net; |
40 | using OpenMetaverse; | 36 | using OpenMetaverse; |
@@ -48,11 +44,10 @@ using OpenSim.Framework.Monitoring; | |||
48 | using OpenSim.Region.Framework.Interfaces; | 44 | using OpenSim.Region.Framework.Interfaces; |
49 | using OpenSim.Region.Framework.Scenes; | 45 | using OpenSim.Region.Framework.Scenes; |
50 | using OpenSim.Services.Interfaces; | 46 | using OpenSim.Services.Interfaces; |
51 | using Timer = System.Timers.Timer; | 47 | using Caps = OpenSim.Framework.Capabilities.Caps; |
48 | |||
52 | using AssetLandmark = OpenSim.Framework.AssetLandmark; | 49 | using AssetLandmark = OpenSim.Framework.AssetLandmark; |
53 | using RegionFlags = OpenMetaverse.RegionFlags; | 50 | using RegionFlags = OpenMetaverse.RegionFlags; |
54 | |||
55 | using System.IO; | ||
56 | using PermissionMask = OpenSim.Framework.PermissionMask; | 51 | using PermissionMask = OpenSim.Framework.PermissionMask; |
57 | 52 | ||
58 | namespace OpenSim.Region.ClientStack.LindenUDP | 53 | namespace OpenSim.Region.ClientStack.LindenUDP |
@@ -351,7 +346,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
351 | #pragma warning restore 0414 | 346 | #pragma warning restore 0414 |
352 | private const uint MaxTransferBytesPerPacket = 600; | 347 | private const uint MaxTransferBytesPerPacket = 600; |
353 | 348 | ||
354 | public bool SupportObjectAnimations { get; set; } | 349 | private bool m_SupportObjectAnimations; |
355 | 350 | ||
356 | /// <value> | 351 | /// <value> |
357 | /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the | 352 | /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the |
@@ -3917,7 +3912,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3917 | public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId) | 3912 | public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId) |
3918 | { | 3913 | { |
3919 | // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); | 3914 | // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); |
3920 | if(!SupportObjectAnimations) | 3915 | if(!m_SupportObjectAnimations) |
3921 | return; | 3916 | return; |
3922 | 3917 | ||
3923 | ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); | 3918 | ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); |
@@ -4330,7 +4325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4330 | 4325 | ||
4331 | if (update.Entity is SceneObjectPart) | 4326 | if (update.Entity is SceneObjectPart) |
4332 | { | 4327 | { |
4333 | if (SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) | 4328 | if (m_SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) |
4334 | { | 4329 | { |
4335 | SceneObjectPart sop = (SceneObjectPart)update.Entity; | 4330 | SceneObjectPart sop = (SceneObjectPart)update.Entity; |
4336 | if ( sop.Animations != null) | 4331 | if ( sop.Animations != null) |
@@ -13540,5 +13535,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
13540 | { | 13535 | { |
13541 | return new HashSet<string>(m_inPacketsToDrop); | 13536 | return new HashSet<string>(m_inPacketsToDrop); |
13542 | } | 13537 | } |
13538 | |||
13539 | public void CheckViewerCaps() | ||
13540 | { | ||
13541 | m_SupportObjectAnimations = false; | ||
13542 | if (m_scene.CapsModule != null) | ||
13543 | { | ||
13544 | Caps cap = m_scene.CapsModule.GetCapsForUser(CircuitCode); | ||
13545 | if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0) | ||
13546 | m_SupportObjectAnimations = true; | ||
13547 | } | ||
13548 | } | ||
13543 | } | 13549 | } |
13544 | } | 13550 | } |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 667acf9..5f35782 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -46,6 +46,7 @@ using OpenMetaverse; | |||
46 | using Mono.Addins; | 46 | using Mono.Addins; |
47 | using TokenBucket = OpenSim.Region.ClientStack.LindenUDP.TokenBucket; | 47 | using TokenBucket = OpenSim.Region.ClientStack.LindenUDP.TokenBucket; |
48 | 48 | ||
49 | |||
49 | namespace OpenSim.Region.ClientStack.LindenUDP | 50 | namespace OpenSim.Region.ClientStack.LindenUDP |
50 | { | 51 | { |
51 | /// <summary> | 52 | /// <summary> |
@@ -1697,8 +1698,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1697 | m_pendingCache.Remove(endPoint); | 1698 | m_pendingCache.Remove(endPoint); |
1698 | } | 1699 | } |
1699 | 1700 | ||
1700 | m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); | 1701 | client.CheckViewerCaps(); |
1701 | 1702 | ||
1703 | m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count); | ||
1702 | // Reinject queued packets | 1704 | // Reinject queued packets |
1703 | while (queue.Count > 0) | 1705 | while (queue.Count > 0) |
1704 | { | 1706 | { |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 527f12e..3b78f2d 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -45,7 +45,6 @@ using OpenSim.Region.PhysicsModules.SharedBase; | |||
45 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; | 45 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; |
46 | using OpenSim.Services.Interfaces; | 46 | using OpenSim.Services.Interfaces; |
47 | using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; | 47 | using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; |
48 | using Caps = OpenSim.Framework.Capabilities.Caps; | ||
49 | 48 | ||
50 | namespace OpenSim.Region.Framework.Scenes | 49 | namespace OpenSim.Region.Framework.Scenes |
51 | { | 50 | { |
@@ -1111,14 +1110,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1111 | 1110 | ||
1112 | HealRate = 0.5f; | 1111 | HealRate = 0.5f; |
1113 | 1112 | ||
1114 | ControllingClient.SupportObjectAnimations = false; | ||
1115 | if (m_scene.CapsModule != null) | ||
1116 | { | ||
1117 | Caps cap = m_scene.CapsModule.GetCapsForUser(ControllingClient.CircuitCode); | ||
1118 | if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0) | ||
1119 | ControllingClient.SupportObjectAnimations = true; | ||
1120 | } | ||
1121 | |||
1122 | IConfig sconfig = m_scene.Config.Configs["EntityTransfer"]; | 1113 | IConfig sconfig = m_scene.Config.Configs["EntityTransfer"]; |
1123 | if (sconfig != null) | 1114 | if (sconfig != null) |
1124 | { | 1115 | { |
@@ -1142,7 +1133,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
1142 | } | 1133 | } |
1143 | m_bandwidthBurst = m_bandwidth / 5; | 1134 | m_bandwidthBurst = m_bandwidth / 5; |
1144 | ControllingClient.RefreshGroupMembership(); | 1135 | ControllingClient.RefreshGroupMembership(); |
1145 | |||
1146 | } | 1136 | } |
1147 | 1137 | ||
1148 | private float lastHealthSent = 0; | 1138 | private float lastHealthSent = 0; |
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs index febf995..c7b7818 100644 --- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs +++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs | |||
@@ -60,8 +60,6 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
60 | 60 | ||
61 | public int PingTimeMS { get { return 0; } } | 61 | public int PingTimeMS { get { return 0; } } |
62 | 62 | ||
63 | public bool SupportObjectAnimations { get; set; } | ||
64 | |||
65 | private string m_username; | 63 | private string m_username; |
66 | private string m_nick; | 64 | private string m_nick; |
67 | 65 | ||
@@ -1782,5 +1780,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server | |||
1782 | { | 1780 | { |
1783 | return 0; | 1781 | return 0; |
1784 | } | 1782 | } |
1783 | |||
1784 | public void CheckViewerCaps() { } | ||
1785 | |||
1785 | } | 1786 | } |
1786 | } | 1787 | } |
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index 0984c60..0758fc9 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs | |||
@@ -73,7 +73,6 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
73 | private UUID m_profileImage = UUID.Zero; | 73 | private UUID m_profileImage = UUID.Zero; |
74 | private string m_born; | 74 | private string m_born; |
75 | public List<uint> SelectedObjects {get; private set;} | 75 | public List<uint> SelectedObjects {get; private set;} |
76 | public bool SupportObjectAnimations { get; set; } | ||
77 | 76 | ||
78 | public NPCAvatar( | 77 | public NPCAvatar( |
79 | string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene) | 78 | string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene) |
@@ -1392,5 +1391,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC | |||
1392 | return 0; | 1391 | return 0; |
1393 | } | 1392 | } |
1394 | 1393 | ||
1394 | public void CheckViewerCaps() { } | ||
1395 | |||
1395 | } | 1396 | } |
1396 | } | 1397 | } |
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs index b0ede78..ecf3785 100644 --- a/OpenSim/Tests/Common/Mock/TestClient.cs +++ b/OpenSim/Tests/Common/Mock/TestClient.cs | |||
@@ -1404,5 +1404,8 @@ namespace OpenSim.Tests.Common | |||
1404 | public void SendPartPhysicsProprieties(ISceneEntity entity) | 1404 | public void SendPartPhysicsProprieties(ISceneEntity entity) |
1405 | { | 1405 | { |
1406 | } | 1406 | } |
1407 | |||
1408 | public void CheckViewerCaps() { } | ||
1409 | |||
1407 | } | 1410 | } |
1408 | } | 1411 | } |