We already have a record of killed prims. It just wasn't used by the new
JHurlicane code anymore. Use it to prevent sending updates after kills.avinationmerge
parent
05520d676c
commit
8bdbcda2b7
|
@ -3514,6 +3514,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
EntityUpdate update;
|
EntityUpdate update;
|
||||||
while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update))
|
while (updatesThisCall < maxUpdates && m_entityUpdates.TryDequeue(out update))
|
||||||
{
|
{
|
||||||
|
// If we have sent a kill packet for this object
|
||||||
|
// drop any updates on the floor
|
||||||
|
if (update.Entity is SceneObjectPart)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = (SceneObjectPart)update.Entity;
|
||||||
|
if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId))
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
++updatesThisCall;
|
++updatesThisCall;
|
||||||
|
|
||||||
#region UpdateFlags to packet type conversion
|
#region UpdateFlags to packet type conversion
|
||||||
|
|
|
@ -3043,6 +3043,15 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
UUID ownerID = _ownerID;
|
UUID ownerID = _ownerID;
|
||||||
UUID objectID = UUID;
|
UUID objectID = UUID;
|
||||||
UUID parentID = GetRootPartUUID();
|
UUID parentID = GetRootPartUUID();
|
||||||
|
|
||||||
|
if (ParentGroup.IsAttachment && ParentGroup.RootPart.Shape.State > 30)
|
||||||
|
{
|
||||||
|
// Use the avatar as the parent for HUDs, since the prims
|
||||||
|
// are not sent to other avatars
|
||||||
|
objectID = _ownerID;
|
||||||
|
parentID = _ownerID;
|
||||||
|
}
|
||||||
|
|
||||||
UUID soundID = UUID.Zero;
|
UUID soundID = UUID.Zero;
|
||||||
Vector3 position = AbsolutePosition; // region local
|
Vector3 position = AbsolutePosition; // region local
|
||||||
ulong regionHandle = m_parentGroup.Scene.RegionInfo.RegionHandle;
|
ulong regionHandle = m_parentGroup.Scene.RegionInfo.RegionHandle;
|
||||||
|
|
Loading…
Reference in New Issue