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 jobLSLKeyTest
parent
4119e60c0c
commit
f768effa87
|
@ -837,7 +837,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
{
|
{
|
||||||
m_scene.AddNewAgent(this, PresenceType.User);
|
m_scene.AddNewAgent(this, PresenceType.User);
|
||||||
|
|
||||||
RefreshGroupMembership();
|
// RefreshGroupMembership();
|
||||||
}
|
}
|
||||||
|
|
||||||
# endregion
|
# endregion
|
||||||
|
@ -2281,14 +2281,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
replytask.InventoryData.TaskID = taskID;
|
replytask.InventoryData.TaskID = taskID;
|
||||||
replytask.InventoryData.Serial = serial;
|
replytask.InventoryData.Serial = serial;
|
||||||
replytask.InventoryData.Filename = fileName;
|
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)
|
public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
|
||||||
{
|
{
|
||||||
ThrottleOutPacketType type = ThrottleOutPacketType.Asset;
|
ThrottleOutPacketType type = ThrottleOutPacketType.Asset;
|
||||||
if (isTaskInventory)
|
// if (isTaskInventory)
|
||||||
type = ThrottleOutPacketType.Task;
|
// type = ThrottleOutPacketType.Task;
|
||||||
|
|
||||||
SendXferPacketPacket sendXfer = (SendXferPacketPacket)PacketPool.Instance.GetPacket(PacketType.SendXferPacket);
|
SendXferPacketPacket sendXfer = (SendXferPacketPacket)PacketPool.Instance.GetPacket(PacketType.SendXferPacket);
|
||||||
sendXfer.XferID.ID = xferID;
|
sendXfer.XferID.ID = xferID;
|
||||||
|
@ -4361,30 +4362,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
HashSet<SceneObjectGroup> NewGroupsInView = new HashSet<SceneObjectGroup>();
|
HashSet<SceneObjectGroup> NewGroupsInView = new HashSet<SceneObjectGroup>();
|
||||||
HashSet<SceneObjectGroup> GroupsNeedFullUpdate = new HashSet<SceneObjectGroup>();
|
HashSet<SceneObjectGroup> GroupsNeedFullUpdate = new HashSet<SceneObjectGroup>();
|
||||||
|
|
||||||
|
|
||||||
// will this take for ever ?
|
// will this take for ever ?
|
||||||
lock(GroupsInView)
|
lock(GroupsInView)
|
||||||
{
|
{
|
||||||
EntityBase[] entities = m_scene.Entities.GetEntities();
|
EntityBase[] entities = m_scene.Entities.GetEntities();
|
||||||
foreach (EntityBase e in entities)
|
foreach (EntityBase e in entities)
|
||||||
{
|
|
||||||
if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment)
|
|
||||||
{
|
{
|
||||||
SceneObjectGroup grp = (SceneObjectGroup)e;
|
if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment)
|
||||||
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(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(GroupsInView.Contains(grp))
|
||||||
if (!m_killRecord.Contains(grp.LocalId))
|
{
|
||||||
m_killRecord.Add(grp.LocalId);
|
GroupsInView.Remove(grp);
|
||||||
}
|
if (!m_killRecord.Contains(grp.LocalId))
|
||||||
|
m_killRecord.Add(grp.LocalId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1178,11 +1178,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (ParentGroup.Scene.PhysicsScene != null)
|
if (ParentGroup.Scene.PhysicsScene != null)
|
||||||
{
|
{
|
||||||
actor.Size = m_shape.Scale;
|
actor.Size = m_shape.Scale;
|
||||||
|
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
||||||
// if (Shape.SculptEntry)
|
|
||||||
// CheckSculptAndLoad();
|
|
||||||
// else
|
|
||||||
ParentGroup.Scene.PhysicsScene.AddPhysicsActorTaint(actor);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue