diff options
Diffstat (limited to 'OpenSim/Region/Environment')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | 16 |
2 files changed, 25 insertions, 8 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index c07f718..819815b 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -1242,6 +1242,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
1242 | m_log.Warn("Prim crossing: " + grp.UUID.ToString()); | 1242 | m_log.Warn("Prim crossing: " + grp.UUID.ToString()); |
1243 | int thisx = (int)RegionInfo.RegionLocX; | 1243 | int thisx = (int)RegionInfo.RegionLocX; |
1244 | int thisy = (int)RegionInfo.RegionLocY; | 1244 | int thisy = (int)RegionInfo.RegionLocY; |
1245 | |||
1246 | int primcrossingXMLmethod = 0; | ||
1247 | |||
1245 | ulong newRegionHandle = 0; | 1248 | ulong newRegionHandle = 0; |
1246 | LLVector3 pos = position; | 1249 | LLVector3 pos = position; |
1247 | 1250 | ||
@@ -1279,7 +1282,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1279 | if (newRegionHandle != 0) | 1282 | if (newRegionHandle != 0) |
1280 | { | 1283 | { |
1281 | bool successYN = false; | 1284 | bool successYN = false; |
1282 | successYN = m_sceneGridService.PrimCrossToNeighboringRegion(newRegionHandle, grp.UUID, m_sceneXmlLoader.SavePrimGroupToXML2String(grp)); | 1285 | successYN = m_sceneGridService.PrimCrossToNeighboringRegion(newRegionHandle, grp.UUID, m_sceneXmlLoader.SavePrimGroupToXML2String(grp), primcrossingXMLmethod); |
1283 | if (successYN) | 1286 | if (successYN) |
1284 | { | 1287 | { |
1285 | // We remove the object here | 1288 | // We remove the object here |
@@ -1306,10 +1309,18 @@ namespace OpenSim.Region.Environment.Scenes | |||
1306 | } | 1309 | } |
1307 | } | 1310 | } |
1308 | 1311 | ||
1309 | public void IncomingInterRegionPrimGroup(ulong regionHandle, LLUUID primID, string objXMLData) | 1312 | public bool IncomingInterRegionPrimGroup(ulong regionHandle, LLUUID primID, string objXMLData, int XMLMethod) |
1310 | { | 1313 | { |
1311 | m_log.Warn("{[INTERREGION]: A new prim arrived from a neighbor"); | 1314 | m_log.Warn("{[INTERREGION]: A new prim arrived from a neighbor"); |
1312 | m_sceneXmlLoader.LoadGroupFromXml2String(objXMLData); | 1315 | if (XMLMethod == 0) |
1316 | { | ||
1317 | m_sceneXmlLoader.LoadGroupFromXml2String(objXMLData); | ||
1318 | return true; | ||
1319 | } | ||
1320 | else | ||
1321 | { | ||
1322 | return false; | ||
1323 | } | ||
1313 | 1324 | ||
1314 | } | 1325 | } |
1315 | 1326 | ||
diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index 7653bf4..db2327e 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs | |||
@@ -168,12 +168,16 @@ namespace OpenSim.Region.Environment.Scenes | |||
168 | } | 168 | } |
169 | } | 169 | } |
170 | 170 | ||
171 | protected void IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData) | 171 | protected bool IncomingPrimCrossing(ulong regionHandle, LLUUID primID, String objXMLData, int XMLMethod) |
172 | { | 172 | { |
173 | handlerExpectPrim = OnExpectPrim; | 173 | handlerExpectPrim = OnExpectPrim; |
174 | if (handlerExpectPrim != null) | 174 | if (handlerExpectPrim != null) |
175 | { | 175 | { |
176 | handlerExpectPrim(regionHandle, primID, objXMLData); | 176 | return handlerExpectPrim(regionHandle, primID, objXMLData, XMLMethod); |
177 | } | ||
178 | else | ||
179 | { | ||
180 | return false; | ||
177 | } | 181 | } |
178 | 182 | ||
179 | } | 183 | } |
@@ -342,8 +346,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
342 | private void InformNeighboursThatRegionIsUpAsync(RegionInfo region, ulong regionhandle) | 346 | private void InformNeighboursThatRegionIsUpAsync(RegionInfo region, ulong regionhandle) |
343 | { | 347 | { |
344 | m_log.Info("[INTERGRID]: Starting to inform neighbors that I'm here"); | 348 | m_log.Info("[INTERGRID]: Starting to inform neighbors that I'm here"); |
349 | //RegionUpData regiondata = new RegionUpData(region.RegionLocX, region.RegionLocY, region.ExternalHostName, region.InternalEndPoint.Port); | ||
350 | |||
345 | bool regionAccepted = | 351 | bool regionAccepted = |
346 | m_commsProvider.InterRegion.RegionUp((new SearializableRegionInfo(region)), regionhandle); | 352 | m_commsProvider.InterRegion.RegionUp(new SearializableRegionInfo(region), regionhandle); |
347 | 353 | ||
348 | if (regionAccepted) | 354 | if (regionAccepted) |
349 | { | 355 | { |
@@ -605,9 +611,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
605 | return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying); | 611 | return m_commsProvider.InterRegion.ExpectAvatarCrossing(regionhandle, agentID, position, isFlying); |
606 | } | 612 | } |
607 | 613 | ||
608 | public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, string objData) | 614 | public bool PrimCrossToNeighboringRegion(ulong regionhandle, LLUUID primID, string objData, int XMLMethod) |
609 | { | 615 | { |
610 | return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData); | 616 | return m_commsProvider.InterRegion.InformRegionOfPrimCrossing(regionhandle, primID, objData, XMLMethod); |
611 | } | 617 | } |
612 | 618 | ||
613 | 619 | ||