move object inventory send to udp queue asset ( was task). Remove a call

to RefreshGroupMembership() on start. It was too soon and its Groups
module job
LSLKeyTest
UbitUmarov 2016-07-07 12:21:50 +01:00
parent 4119e60c0c
commit f768effa87
2 changed files with 23 additions and 27 deletions

View File

@ -837,7 +837,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
{
m_scene.AddNewAgent(this, PresenceType.User);
RefreshGroupMembership();
// RefreshGroupMembership();
}
# endregion
@ -2281,14 +2281,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
replytask.InventoryData.TaskID = taskID;
replytask.InventoryData.Serial = serial;
replytask.InventoryData.Filename = fileName;
OutPacket(replytask, ThrottleOutPacketType.Task);
// OutPacket(replytask, ThrottleOutPacketType.Task);
OutPacket(replytask, ThrottleOutPacketType.Asset);
}
public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
{
ThrottleOutPacketType type = ThrottleOutPacketType.Asset;
if (isTaskInventory)
type = ThrottleOutPacketType.Task;
// if (isTaskInventory)
// type = ThrottleOutPacketType.Task;
SendXferPacketPacket sendXfer = (SendXferPacketPacket)PacketPool.Instance.GetPacket(PacketType.SendXferPacket);
sendXfer.XferID.ID = xferID;
@ -4361,30 +4362,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP
HashSet<SceneObjectGroup> NewGroupsInView = new HashSet<SceneObjectGroup>();
HashSet<SceneObjectGroup> GroupsNeedFullUpdate = new HashSet<SceneObjectGroup>();
// will this take for ever ?
lock(GroupsInView)
{
EntityBase[] entities = m_scene.Entities.GetEntities();
foreach (EntityBase e in entities)
{
if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment)
EntityBase[] entities = m_scene.Entities.GetEntities();
foreach (EntityBase e in entities)
{
SceneObjectGroup grp = (SceneObjectGroup)e;
Vector3 grppos = grp.AbsolutePosition;
float dcam = (grppos - mycamera).LengthSquared();
float dpos = (grppos - mypos).LengthSquared();
if(dcam < dpos)
dpos = dcam;
dpos = (float)Math.Sqrt(dpos) - grp.GetBoundsRadius();
if(dpos > cullingrange)
if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment)
{
if(GroupsInView.Contains(grp))
SceneObjectGroup grp = (SceneObjectGroup)e;
Vector3 grppos = grp.AbsolutePosition;
float dcam = (grppos - mycamera).LengthSquared();
float dpos = (grppos - mypos).LengthSquared();
if(dcam < dpos)
dpos = dcam;
dpos = (float)Math.Sqrt(dpos) - grp.GetBoundsRadius();
if(dpos > cullingrange)
{
GroupsInView.Remove(grp);
if (!m_killRecord.Contains(grp.LocalId))
m_killRecord.Add(grp.LocalId);
}
if(GroupsInView.Contains(grp))
{
GroupsInView.Remove(grp);
if (!m_killRecord.Contains(grp.LocalId))
m_killRecord.Add(grp.LocalId);
}
}
else
{

View File

@ -1178,11 +1178,7 @@ namespace OpenSim.Region.Framework.Scenes
if (ParentGroup.Scene.PhysicsScene != null)
{
actor.Size = m_shape.Scale;
// if (Shape.SculptEntry)
// CheckSculptAndLoad();
// else
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
}
}
}