the bug was actually here

LSLKeyTest
UbitUmarov 2016-07-06 17:32:59 +01:00
parent beafc99d43
commit 06b412c980
1 changed files with 4 additions and 2 deletions

View File

@ -4088,7 +4088,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
float dpos = (partpos - mypos).LengthSquared(); float dpos = (partpos - mypos).LengthSquared();
if(dcam < dpos) if(dcam < dpos)
dpos = dcam; dpos = dcam;
dpos = (float)Math.Sqrt(dpos) + part.ParentGroup.GetBoundsRadius(); dpos = (float)Math.Sqrt(dpos) - part.ParentGroup.GetBoundsRadius();
if(dpos > cullingrange) if(dpos > cullingrange)
continue; continue;
@ -4361,6 +4361,8 @@ 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 ?
lock(GroupsInView) lock(GroupsInView)
{ {
EntityBase[] entities = m_scene.Entities.GetEntities(); EntityBase[] entities = m_scene.Entities.GetEntities();
@ -4374,7 +4376,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
float dpos = (grppos - mypos).LengthSquared(); float dpos = (grppos - mypos).LengthSquared();
if(dcam < dpos) if(dcam < dpos)
dpos = dcam; dpos = dcam;
dpos = (float)Math.Sqrt(dpos) + grp.GetBoundsRadius(); dpos = (float)Math.Sqrt(dpos) - grp.GetBoundsRadius();
if(dpos > cullingrange) if(dpos > cullingrange)
{ {
if(GroupsInView.Contains(grp)) if(GroupsInView.Contains(grp))