From 99623894c79c6719a44b43741e722affe9f704cc Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 16 Dec 2011 17:23:30 -0800 Subject: [PATCH 1/4] Commented a couple of verbose debug messages. --- OpenSim/Framework/AgentCircuitData.cs | 2 +- OpenSim/Framework/ChildAgentDataUpdate.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs index 54e1bf7667..57fb808dc1 100644 --- a/OpenSim/Framework/AgentCircuitData.cs +++ b/OpenSim/Framework/AgentCircuitData.cs @@ -296,7 +296,7 @@ namespace OpenSim.Framework if (args["start_pos"] != null) Vector3.TryParse(args["start_pos"].AsString(), out startpos); - m_log.InfoFormat("[AGENTCIRCUITDATA]: agentid={0}, child={1}, startpos={2}", AgentID, child, startpos); + //m_log.InfoFormat("[AGENTCIRCUITDATA]: agentid={0}, child={1}, startpos={2}", AgentID, child, startpos); try { diff --git a/OpenSim/Framework/ChildAgentDataUpdate.cs b/OpenSim/Framework/ChildAgentDataUpdate.cs index 1f2213657d..6d048f436f 100644 --- a/OpenSim/Framework/ChildAgentDataUpdate.cs +++ b/OpenSim/Framework/ChildAgentDataUpdate.cs @@ -478,7 +478,7 @@ namespace OpenSim.Framework /// public virtual void Unpack(OSDMap args, IScene scene) { - m_log.InfoFormat("[CHILDAGENTDATAUPDATE] Unpack data"); + //m_log.InfoFormat("[CHILDAGENTDATAUPDATE] Unpack data"); if (args.ContainsKey("region_id")) UUID.TryParse(args["region_id"].AsString(), out RegionID); From 964ec57ffe5ce2e9feac4295ade9cc4a5a223d69 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 16 Dec 2011 17:24:50 -0800 Subject: [PATCH 2/4] Changed the async approach on close child agents. This may improve crossings a little bit. --- .../Region/Framework/Scenes/SceneCommunicationService.cs | 9 +++------ OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 ++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index d76ed3e6d5..58a7b2045b 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs @@ -204,13 +204,10 @@ namespace OpenSim.Region.Framework.Scenes /// public void SendCloseChildAgentConnections(UUID agentID, List regionslst) { - Util.FireAndForget(delegate + foreach (ulong handle in regionslst) { - foreach (ulong handle in regionslst) - { - SendCloseChildAgent(agentID, handle); - } - }); + SendCloseChildAgent(agentID, handle); + } } public List RequestNamedRegions(string name, int maxNumber) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 800b7e0597..b16eaba4de 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2955,7 +2955,10 @@ namespace OpenSim.Region.Framework.Scenes if (byebyeRegions.Count > 0) { m_log.Debug("[SCENE PRESENCE]: Closing " + byebyeRegions.Count + " child agents"); - m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions); + Util.FireAndForget(delegate + { + m_scene.SceneGridService.SendCloseChildAgentConnections(ControllingClient.AgentId, byebyeRegions); + }); } foreach (ulong handle in byebyeRegions) From 25cbba9bca9388b414b3d4fe1e6d09a9fd5f7667 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 20 Dec 2011 09:43:39 -0800 Subject: [PATCH 3/4] Fixed bug of avie going under the terrain when crossing regions in certain directions. This was a 1-off bug: the terrain was being placed in 127, 127 resulting in a bounding box if -2, 256. I placed it in 128, 128 resulting in a bounding box of -1, 257. --- OpenSim/Region/Physics/OdePlugin/OdeScene.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs index afe646ccf4..d8aad7bf2b 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdeScene.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdeScene.cs @@ -3430,7 +3430,7 @@ namespace OpenSim.Region.Physics.OdePlugin private void SetTerrain(float[] heightMap, Vector3 pOffset) { int startTime = Util.EnvironmentTickCount(); - m_log.DebugFormat("[ODE SCENE]: Setting terrain for {0}", Name); + m_log.DebugFormat("[ODE SCENE]: Setting terrain for {0} with offset {1}", Name, pOffset); // this._heightmap[i] = (double)heightMap[i]; // dbm (danx0r) -- creating a buffer zone of one extra sample all around @@ -3544,7 +3544,7 @@ namespace OpenSim.Region.Physics.OdePlugin d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle); d.GeomSetRotation(GroundGeom, ref R); - d.GeomSetPosition(GroundGeom, (pOffset.X + ((int)Constants.RegionSize * 0.5f)) - 1, (pOffset.Y + ((int)Constants.RegionSize * 0.5f)) - 1, 0); + d.GeomSetPosition(GroundGeom, (pOffset.X + ((int)Constants.RegionSize * 0.5f)), (pOffset.Y + ((int)Constants.RegionSize * 0.5f)), 0); IntPtr testGround = IntPtr.Zero; if (RegionTerrain.TryGetValue(pOffset, out testGround)) { From fa0a71253f0c824b6fc952c1a8927c8f189892b9 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Tue, 20 Dec 2011 18:54:15 +0000 Subject: [PATCH 4/4] Though the viewer warns about receiving this, not sending appears to break baked texture caching when crossing region boundaries. Needs further investigation. Revert "Stop sending the viewer its own AvatarAppearance packet." This reverts commit 92039f295d7fe66bf1a09b29483f9057e395839e. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 36d8c0bd37..b8ae553d67 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2532,10 +2532,7 @@ namespace OpenSim.Region.Framework.Scenes // again here... this comes after the cached appearance check because the avatars // appearance goes into the avatar update packet SendAvatarDataToAllAgents(); - - // Sending us our own appearance does not seem to be necessary, and the viewer warns in the log if you do - // this. -// SendAppearanceToAgent(this); + SendAppearanceToAgent(this); // If we are using the the cached appearance then send it out to everyone if (cachedappearance)