diff options
author | UbitUmarov | 2019-01-01 12:06:29 +0000 |
---|---|---|
committer | UbitUmarov | 2019-01-01 12:06:29 +0000 |
commit | 02492f7b15f29419c1ea4725a6ae6959bc199912 (patch) | |
tree | 2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/ClientStack/Linden | |
parent | temporary HACK to not kill some viewers (diff) | |
download | opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.zip opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.gz opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.bz2 opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.xz |
replace my hack by others hack
Diffstat (limited to '')
3 files changed, 19 insertions, 24 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs index f54c5f5..92f5a2c 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs | |||
@@ -374,7 +374,12 @@ namespace OpenSim.Region.ClientStack.Linden | |||
374 | List<string> validCaps = new List<string>(); | 374 | List<string> validCaps = new List<string>(); |
375 | 375 | ||
376 | foreach (OSD c in capsRequested) | 376 | foreach (OSD c in capsRequested) |
377 | validCaps.Add(c.AsString()); | 377 | { |
378 | string cstr = c.AsString(); | ||
379 | if(cstr == "ObjectAnimation") | ||
380 | m_HostCapsObj.Flags |= Caps.CapsFlags.ObjectAnim; | ||
381 | validCaps.Add(cstr); | ||
382 | } | ||
378 | 383 | ||
379 | string result = LLSDHelpers.SerialiseLLSDReply(m_HostCapsObj.GetCapsDetails(true, validCaps)); | 384 | string result = LLSDHelpers.SerialiseLLSDReply(m_HostCapsObj.GetCapsDetails(true, validCaps)); |
380 | 385 | ||
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 7866997..34e3a43 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -351,7 +351,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
351 | #pragma warning restore 0414 | 351 | #pragma warning restore 0414 |
352 | private const uint MaxTransferBytesPerPacket = 600; | 352 | private const uint MaxTransferBytesPerPacket = 600; |
353 | 353 | ||
354 | public bool DoObjectAnimations { get; set; } | 354 | public bool SupportObjectAnimations { get; set; } |
355 | 355 | ||
356 | /// <value> | 356 | /// <value> |
357 | /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the | 357 | /// Maintain a record of all the objects killed. This allows us to stop an update being sent from the |
@@ -3917,7 +3917,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3917 | public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId) | 3917 | public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId) |
3918 | { | 3918 | { |
3919 | // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); | 3919 | // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); |
3920 | if(!DoObjectAnimations) | 3920 | if(!SupportObjectAnimations) |
3921 | return; | 3921 | return; |
3922 | 3922 | ||
3923 | ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); | 3923 | ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); |
@@ -4330,7 +4330,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4330 | 4330 | ||
4331 | if (update.Entity is SceneObjectPart) | 4331 | if (update.Entity is SceneObjectPart) |
4332 | { | 4332 | { |
4333 | if (DoObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) | 4333 | if (SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) |
4334 | { | 4334 | { |
4335 | SceneObjectPart sop = (SceneObjectPart)update.Entity; | 4335 | SceneObjectPart sop = (SceneObjectPart)update.Entity; |
4336 | if ( sop.Animations != null) | 4336 | if ( sop.Animations != null) |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index afa1e4c..667acf9 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1919,38 +1919,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1919 | uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo) | 1919 | uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo) |
1920 | { | 1920 | { |
1921 | IClientAPI client = null; | 1921 | IClientAPI client = null; |
1922 | bool createNew = false; | ||
1923 | 1922 | ||
1924 | // We currently synchronize this code across the whole scene to avoid issues such as | 1923 | // We currently synchronize this code across the whole scene to avoid issues such as |
1925 | // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done | 1924 | // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done |
1926 | // consistently, this lock could probably be removed. | 1925 | // consistently, this lock could probably be removed. |
1927 | lock (this) | 1926 | lock (this) |
1928 | { | 1927 | { |
1929 | if (!Scene.TryGetClient(agentID, out client)) | 1928 | if (Scene.TryGetClient(agentID, out client)) |
1930 | { | 1929 | { |
1931 | createNew = true; | 1930 | if (client.SceneAgent != null) |
1932 | } | 1931 | return client; |
1933 | else | 1932 | Scene.CloseAgent(agentID, true); |
1934 | { | ||
1935 | if (client.SceneAgent == null) | ||
1936 | { | ||
1937 | Scene.CloseAgent(agentID, true); | ||
1938 | createNew = true; | ||
1939 | } | ||
1940 | } | 1933 | } |
1941 | 1934 | ||
1942 | if (createNew) | 1935 | LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO); |
1943 | { | ||
1944 | LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO); | ||
1945 | 1936 | ||
1946 | client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); | 1937 | client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); |
1947 | client.OnLogout += LogoutHandler; | 1938 | client.OnLogout += LogoutHandler; |
1948 | client.DebugPacketLevel = DefaultClientPacketDebugLevel; | 1939 | client.DebugPacketLevel = DefaultClientPacketDebugLevel; |
1949 | 1940 | ||
1950 | ((LLClientView)client).DisableFacelights = m_disableFacelights; | 1941 | ((LLClientView)client).DisableFacelights = m_disableFacelights; |
1951 | 1942 | ||
1952 | client.Start(); | 1943 | client.Start(); |
1953 | } | ||
1954 | } | 1944 | } |
1955 | 1945 | ||
1956 | return client; | 1946 | return client; |