diff options
author | Teravus Ovares | 2008-03-30 08:01:47 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-03-30 08:01:47 +0000 |
commit | fd2caf5f1673ad14702d89db9804f841c5cb861a (patch) | |
tree | 18fd4ae03180b14df41f93544afa0cc9d5ec5309 /OpenSim/Region/Environment/Scenes/Scene.cs | |
parent | * Stop the grid inventory service sending all folder and item details twice (diff) | |
download | opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.zip opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.gz opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.bz2 opensim-SC-fd2caf5f1673ad14702d89db9804f841c5cb861a.tar.xz |
This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry.
* You will need to run prebuild.
Next, the good;
* This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa. So Linux Simulators and Windows simulators are 100% compatible again.
* This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border. If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost.
That being said, it's best to update all your simulators to this revision at once.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 17 |
1 files changed, 14 insertions, 3 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 | ||