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

View File

@ -26,15 +26,11 @@
*/ */
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net; using System.Net;
using System.Reflection; using System.Reflection;
using System.Runtime; using System.Runtime;
using System.Text;
using System.Threading; using System.Threading;
using System.Timers;
using System.Xml;
using log4net; using log4net;
using OpenMetaverse; using OpenMetaverse;
@ -48,11 +44,10 @@ using OpenSim.Framework.Monitoring;
using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Interfaces;
using OpenSim.Region.Framework.Scenes; using OpenSim.Region.Framework.Scenes;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using Timer = System.Timers.Timer; using Caps = OpenSim.Framework.Capabilities.Caps;
using AssetLandmark = OpenSim.Framework.AssetLandmark; using AssetLandmark = OpenSim.Framework.AssetLandmark;
using RegionFlags = OpenMetaverse.RegionFlags; using RegionFlags = OpenMetaverse.RegionFlags;
using System.IO;
using PermissionMask = OpenSim.Framework.PermissionMask; using PermissionMask = OpenSim.Framework.PermissionMask;
namespace OpenSim.Region.ClientStack.LindenUDP namespace OpenSim.Region.ClientStack.LindenUDP
@ -351,7 +346,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
#pragma warning restore 0414 #pragma warning restore 0414
private const uint MaxTransferBytesPerPacket = 600; private const uint MaxTransferBytesPerPacket = 600;
public bool SupportObjectAnimations { get; set; } private bool m_SupportObjectAnimations;
/// <value> /// <value>
/// Maintain a record of all the objects killed. This allows us to stop an update being sent from the /// 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) public void SendObjectAnimations(UUID[] animations, int[] seqs, UUID senderId)
{ {
// m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name); // m_log.DebugFormat("[LLCLIENTVIEW]: Sending Object animations for {0} to {1}", sourceAgentId, Name);
if(!SupportObjectAnimations) if(!m_SupportObjectAnimations)
return; return;
ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation); ObjectAnimationPacket ani = (ObjectAnimationPacket)PacketPool.Instance.GetPacket(PacketType.ObjectAnimation);
@ -4330,7 +4325,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (update.Entity is SceneObjectPart) if (update.Entity is SceneObjectPart)
{ {
if (SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) if (m_SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations))
{ {
SceneObjectPart sop = (SceneObjectPart)update.Entity; SceneObjectPart sop = (SceneObjectPart)update.Entity;
if ( sop.Animations != null) if ( sop.Animations != null)
@ -13540,5 +13535,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{ {
return new HashSet<string>(m_inPacketsToDrop); 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 Mono.Addins;
using TokenBucket = OpenSim.Region.ClientStack.LindenUDP.TokenBucket; using TokenBucket = OpenSim.Region.ClientStack.LindenUDP.TokenBucket;
namespace OpenSim.Region.ClientStack.LindenUDP namespace OpenSim.Region.ClientStack.LindenUDP
{ {
/// <summary> /// <summary>
@ -1697,8 +1698,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_pendingCache.Remove(endPoint); 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 // Reinject queued packets
while (queue.Count > 0) while (queue.Count > 0)
{ {

View File

@ -45,7 +45,6 @@ using OpenSim.Region.PhysicsModules.SharedBase;
using GridRegion = OpenSim.Services.Interfaces.GridRegion; using GridRegion = OpenSim.Services.Interfaces.GridRegion;
using OpenSim.Services.Interfaces; using OpenSim.Services.Interfaces;
using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags; using TeleportFlags = OpenSim.Framework.Constants.TeleportFlags;
using Caps = OpenSim.Framework.Capabilities.Caps;
namespace OpenSim.Region.Framework.Scenes namespace OpenSim.Region.Framework.Scenes
{ {
@ -1111,14 +1110,6 @@ namespace OpenSim.Region.Framework.Scenes
HealRate = 0.5f; 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"]; IConfig sconfig = m_scene.Config.Configs["EntityTransfer"];
if (sconfig != null) if (sconfig != null)
{ {
@ -1142,7 +1133,6 @@ namespace OpenSim.Region.Framework.Scenes
} }
m_bandwidthBurst = m_bandwidth / 5; m_bandwidthBurst = m_bandwidth / 5;
ControllingClient.RefreshGroupMembership(); ControllingClient.RefreshGroupMembership();
} }
private float lastHealthSent = 0; private float lastHealthSent = 0;

View File

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

View File

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

View File

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

View File

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