aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs19
1 files changed, 13 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 01bcd83..587d940 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -269,7 +269,12 @@ namespace OpenSim.Region.Environment.Scenes
269 { 269 {
270 // Another region is up. 270 // Another region is up.
271 // We have to tell all our ScenePresences about it.. 271 // We have to tell all our ScenePresences about it..
272 //and add it to the neighbor list. 272 // and add it to the neighbor list.
273
274 // We only add it to the neighbor list if it's within 1 region from here.
275 // Agents may have draw distance values that cross two regions though, so
276 // we add it to the notify list regardless of distance.
277 // We'll check the agent's draw distance before notifying them though.
273 278
274 279
275 if (RegionInfo.RegionHandle != otherRegion.RegionHandle) 280 if (RegionInfo.RegionHandle != otherRegion.RegionHandle)
@@ -297,12 +302,11 @@ namespace OpenSim.Region.Environment.Scenes
297 { 302 {
298 m_neighbours.Add(otherRegion); 303 m_neighbours.Add(otherRegion);
299 } 304 }
300
301 if (!(m_regionRestartNotifyList.Contains(otherRegion))) 305 if (!(m_regionRestartNotifyList.Contains(otherRegion)))
302 { 306 {
303 m_regionRestartNotifyList.Add(otherRegion); 307 m_regionRestartNotifyList.Add(otherRegion);
304 308
305 m_restartWaitTimer.Interval= 50000; 309 m_restartWaitTimer.Interval = 50000;
306 m_restartWaitTimer.AutoReset = false; 310 m_restartWaitTimer.AutoReset = false;
307 m_restartWaitTimer.Elapsed += new ElapsedEventHandler(RestartNotifyWaitElapsed); 311 m_restartWaitTimer.Elapsed += new ElapsedEventHandler(RestartNotifyWaitElapsed);
308 m_restartWaitTimer.Start(); 312 m_restartWaitTimer.Start();
@@ -312,6 +316,9 @@ namespace OpenSim.Region.Environment.Scenes
312 { 316 {
313 MainLog.Instance.Verbose("INTERGRID", "Got notice about Region at X:" + otherRegion.RegionLocX.ToString() + " Y:" + otherRegion.RegionLocY.ToString() + " but it was too far away to send to the client"); 317 MainLog.Instance.Verbose("INTERGRID", "Got notice about Region at X:" + otherRegion.RegionLocX.ToString() + " Y:" + otherRegion.RegionLocY.ToString() + " but it was too far away to send to the client");
314 } 318 }
319
320
321
315 322
316 } 323 }
317 return true; 324 return true;
@@ -1250,7 +1257,7 @@ namespace OpenSim.Region.Environment.Scenes
1250 /// <param name="presence"></param> 1257 /// <param name="presence"></param>
1251 public void InformClientOfNeighbours(ScenePresence presence) 1258 public void InformClientOfNeighbours(ScenePresence presence)
1252 { 1259 {
1253 m_sceneGridService.EnableNeighbourChildAgents(presence); 1260 m_sceneGridService.EnableNeighbourChildAgents(presence, m_neighbours);
1254 } 1261 }
1255 1262
1256 /// <summary> 1263 /// <summary>
@@ -1260,7 +1267,7 @@ namespace OpenSim.Region.Environment.Scenes
1260 /// <param name="region"></param> 1267 /// <param name="region"></param>
1261 public void InformClientOfNeighbor(ScenePresence presence, RegionInfo region) 1268 public void InformClientOfNeighbor(ScenePresence presence, RegionInfo region)
1262 { 1269 {
1263 m_sceneGridService.InformNeighborChildAgent(presence, region); 1270 m_sceneGridService.InformNeighborChildAgent(presence, region, m_neighbours);
1264 } 1271 }
1265 1272
1266 /// <summary> 1273 /// <summary>