more on the hack (runprebuild)

0.9.1.0-post-fixes
UbitUmarov 2019-01-02 16:44:13 +00:00
parent 9c043fe414
commit b24c669c16
8 changed files with 29 additions and 25 deletions

View File

@ -710,7 +710,6 @@ namespace OpenSim.Framework
Vector3 StartPos { get; set; }
UUID AgentId { get; }
bool SupportObjectAnimations { get; set; }
/// <summary>
/// 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
void SendAgentTerseUpdate(ISceneEntity presence);
void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data);
void CheckViewerCaps();
}
}

View File

@ -26,15 +26,11 @@
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Reflection;
using System.Runtime;
using System.Text;
using System.Threading;
using System.Timers;
using System.Xml;
using log4net;
using OpenMetaverse;
@ -48,11 +44,10 @@ using OpenSim.Framework.Monitoring;
using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces;
using Timer = System.Timers.Timer;
using Caps = OpenSim.Framework.Capabilities.Caps;
using AssetLandmark = OpenSim.Framework.AssetLandmark;
using RegionFlags = OpenMetaverse.RegionFlags;
using System.IO;
using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ClientStack.LindenUDP
@ -351,7 +346,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#pragma warning restore 0414
private const uint MaxTransferBytesPerPacket = 600;
public bool SupportObjectAnimations { get; set; }
private bool m_SupportObjectAnimations;
/// <value>
/// 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
public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId)
{
// m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name);
if(!SupportObjectAnimations)
if(!m_SupportObjectAnimations)
return;
ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation);
@ -4330,7 +4325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (update.Entity is SceneObjectPart)
{
if (SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations))
if (m_SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations))
{
SceneObjectPart sop = (SceneObjectPart)update.Entity;
if ( sop.Animations != null)
@ -13540,5 +13535,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
return new HashSet<string>(m_inPacketsToDrop);
}
public void CheckViewerCaps()
{
m_SupportObjectAnimations = false;
if (m_scene.CapsModule != null)
{
Caps cap = m_scene.CapsModule.GetCapsForUser(CircuitCode);
if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0)
m_SupportObjectAnimations = true;
}
}
}
}

View File

@ -46,6 +46,7 @@ using OpenMetaverse;
using Mono.Addins;
using TokenBucket = OpenSim.Region.ClientStack.LindenUDP.TokenBucket;
namespace OpenSim.Region.ClientStack.LindenUDP
{
/// <summary>
@ -1697,8 +1698,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_pendingCache.Remove(endPoint);
}
m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count);
client.CheckViewerCaps();
m_log.DebugFormat("[LLUDPSERVER]: Client created, processing pending queue, {0} entries", queue.Count);
// Reinject queued packets
while (queue.Count > 0)
{

View File

@ -45,7 +45,6 @@ using OpenSim.Region.PhysicsModules.SharedBase;
using GridRegion = OpenSim.Services.Interfaces.GridRegion;
using OpenSim.Services.Interfaces;
using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Region.Framework.Scenes
{
@ -1111,14 +1110,6 @@ namespace OpenSim.Region.Framework.Scenes
HealRate = 0.5f;
ControllingClient.SupportObjectAnimations = false;
if (m_scene.CapsModule != null)
{
Caps cap = m_scene.CapsModule.GetCapsForUser(ControllingClient.CircuitCode);
if (cap != null && (cap.Flags & Caps.CapsFlags.ObjectAnim) != 0)
ControllingClient.SupportObjectAnimations = true;
}
IConfig sconfig = m_scene.Config.Configs["EntityTransfer"];
if (sconfig != null)
{
@ -1142,7 +1133,6 @@ namespace OpenSim.Region.Framework.Scenes
}
m_bandwidthBurst = m_bandwidth / 5;
ControllingClient.RefreshGroupMembership();
}
private float lastHealthSent = 0;

View File

@ -60,8 +60,6 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
public int PingTimeMS { get { return 0; } }
public bool SupportObjectAnimations { get; set; }
private string m_username;
private string m_nick;
@ -1782,5 +1780,8 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
{
return 0;
}
public void CheckViewerCaps() { }
}
}

View File

@ -73,7 +73,6 @@ namespace OpenSim.Region.OptionalModules.World.NPC
private UUID m_profileImage = UUID.Zero;
private string m_born;
public List<uint> SelectedObjects {get; private set;}
public bool SupportObjectAnimations { get; set; }
public NPCAvatar(
string firstname, string lastname, Vector3 position, UUID ownerID, bool senseAsAgent, Scene scene)
@ -1392,5 +1391,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
return 0;
}
public void CheckViewerCaps() { }
}
}

View File

@ -1404,5 +1404,8 @@ namespace OpenSim.Tests.Common
public void SendPartPhysicsProprieties(ISceneEntity entity)
{
}
public void CheckViewerCaps() { }
}
}

View File

@ -1395,6 +1395,7 @@
<Reference name="OpenMetaverse.StructuredData" path="../../../../../bin/"/>
<Reference name="OpenMetaverse" path="../../../../../bin/"/>
<Reference name="OpenSim.Data"/>
<Reference name="OpenSim.Capabilities"/>
<Reference name="OpenSim.Framework"/>
<Reference name="OpenSim.Framework.Monitoring"/>
<Reference name="OpenSim.Framework.Servers"/>