From 010d64dcd2d55850750b3c67ae901d7b183fd741 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 23 Mar 2019 03:58:22 +0000 Subject: [PATCH] a bit more suicidal... --- .../ClientStack/Linden/UDP/LLClientView.cs | 6 ++-- .../Region/Framework/Scenes/ScenePresence.cs | 32 +++++++++++-------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 526783e66e..9d606a682e 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -4811,7 +4811,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP EntityUpdate update; - bool viewerCache = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0 && mysp.IsChildAgent; // only on child agents + bool viewerCache = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0;// && mysp.IsChildAgent; // only on child agents bool doCulling = m_scene.ObjectsCullingByDistance; float cullingrange = 64.0f; Vector3 mypos = Vector3.Zero; @@ -5449,7 +5449,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // } */ - public void ReprioritizeUpdates() + public void ReprioritizeUpdates() { lock (m_entityUpdates.SyncRoot) m_entityUpdates.Reprioritize(UpdatePriorityHandler); @@ -5544,7 +5544,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP if(GroupsNeedFullUpdate.Count > 0) { - bool viewerCache = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0 && mysp.IsChildAgent; + bool viewerCache = m_supportViewerCache && (m_viewerHandShakeFlags & 1) != 0;// && mysp.IsChildAgent; foreach (SceneObjectGroup grp in GroupsNeedFullUpdate) { PrimUpdateFlags flags = PrimUpdateFlags.CancelKill; diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index e635841c46..e35481f1b8 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2368,8 +2368,9 @@ namespace OpenSim.Region.Framework.Scenes //m_log.DebugFormat("[CompleteMovement] openChildAgents: {0}ms", Util.EnvironmentTickCountSubtract(ts)); // send the rest of the world - if (m_teleportFlags > 0 | m_currentParcelHide) - SendInitialDataToMe(); + if (m_teleportFlags > 0 || m_currentParcelHide) + //SendInitialDataToMe(); + SendOtherAgentsAvatarFullToMe(); // priority uses avatar position only // m_reprioritizationLastPosition = AbsolutePosition; @@ -4035,8 +4036,8 @@ namespace OpenSim.Region.Framework.Scenes else cacheEmpty = true; - if (m_teleportFlags > 0) // only doing for child for now - return; +// if (m_teleportFlags > 0) // only doing for child for now +// return; lock (m_completeMovementLock) { @@ -4047,18 +4048,21 @@ namespace OpenSim.Region.Framework.Scenes Util.FireAndForget(delegate { - Scene.SendLayerData(ControllingClient); + if (m_teleportFlags <= 0) + { + Scene.SendLayerData(ControllingClient); - ILandChannel landch = m_scene.LandChannel; - if (landch != null) - landch.sendClientInitialLandInfo(ControllingClient, true); + ILandChannel landch = m_scene.LandChannel; + if (landch != null) + landch.sendClientInitialLandInfo(ControllingClient, true); + + SendOtherAgentsAvatarFullToMe(); + } // recheck to reduce timing issues ControllingClient.CheckViewerCaps(); - SendOtherAgentsAvatarFullToMe(); - /* - if (m_scene.ObjectsCullingByDistance && cacheCulling) + if (m_scene.ObjectsCullingByDistance) { m_reprioritizationBusy = true; m_reprioritizationLastPosition = AbsolutePosition; @@ -4069,7 +4073,6 @@ namespace OpenSim.Region.Framework.Scenes m_reprioritizationBusy = false; return; } - */ EntityBase[] entities = Scene.Entities.GetEntities(); if(cacheEmpty) @@ -4367,18 +4370,19 @@ namespace OpenSim.Region.Framework.Scenes if(IsDeleted || !ControllingClient.IsActive) return; +/* bool needsendinitial = false; lock(m_completeMovementLock) { needsendinitial = SentInitialData; } - if(!needsendinitial) + if(needsendinitial) { SendInitialDataToMe(); return; } - +*/ if(m_reprioritizationBusy) return;