aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs25
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs4
3 files changed, 2 insertions, 29 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index bf0ff75..a6dbaba 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -245,8 +245,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
245 // Reload serialized prims 245 // Reload serialized prims
246 m_log.InfoFormat("[ARCHIVER]: Loading {0} scene objects. Please wait.", serialisedSceneObjects.Count); 246 m_log.InfoFormat("[ARCHIVER]: Loading {0} scene objects. Please wait.", serialisedSceneObjects.Count);
247 247
248 UUID oldTelehubUUID = m_scene.RegionInfo.RegionSettings.TelehubObject;
249
250 IRegionSerialiserModule serialiser = m_scene.RequestModuleInterface<IRegionSerialiserModule>(); 248 IRegionSerialiserModule serialiser = m_scene.RequestModuleInterface<IRegionSerialiserModule>();
251 int sceneObjectsLoadedCount = 0; 249 int sceneObjectsLoadedCount = 0;
252 250
@@ -268,21 +266,11 @@ namespace OpenSim.Region.CoreModules.World.Archiver
268 266
269 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); 267 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject);
270 268
271 bool isTelehub = (sceneObject.UUID == oldTelehubUUID);
272
273 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned 269 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned
274 // on the same region server and multiple examples a single object archive to be imported 270 // on the same region server and multiple examples a single object archive to be imported
275 // to the same scene (when this is possible). 271 // to the same scene (when this is possible).
276 sceneObject.ResetIDs(); 272 sceneObject.ResetIDs();
277 273
278 if (isTelehub)
279 {
280 // Change the Telehub Object to the new UUID
281 m_scene.RegionInfo.RegionSettings.TelehubObject = sceneObject.UUID;
282 m_scene.RegionInfo.RegionSettings.Save();
283 oldTelehubUUID = UUID.Zero;
284 }
285
286 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid 274 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid
287 // or creator data is present. Otherwise, use the estate owner instead. 275 // or creator data is present. Otherwise, use the estate owner instead.
288 foreach (SceneObjectPart part in sceneObject.Parts) 276 foreach (SceneObjectPart part in sceneObject.Parts)
@@ -341,14 +329,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
341 int ignoredObjects = serialisedSceneObjects.Count - sceneObjectsLoadedCount; 329 int ignoredObjects = serialisedSceneObjects.Count - sceneObjectsLoadedCount;
342 330
343 if (ignoredObjects > 0) 331 if (ignoredObjects > 0)
344 m_log.WarnFormat("[ARCHIVER]: Ignored {0} scene objects that already existed in the scene", ignoredObjects); 332 m_log.WarnFormat("[ARCHIVER]: Ignored {0} scene objects that already existed in the scene", ignoredObjects);
345
346 if (oldTelehubUUID != UUID.Zero)
347 {
348 m_log.WarnFormat("Telehub object not found: {0}", oldTelehubUUID);
349 m_scene.RegionInfo.RegionSettings.TelehubObject = UUID.Zero;
350 m_scene.RegionInfo.RegionSettings.ClearSpawnPoints();
351 }
352 } 333 }
353 334
354 /// <summary> 335 /// <summary>
@@ -524,10 +505,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
524 currentRegionSettings.TerrainTexture4 = loadedRegionSettings.TerrainTexture4; 505 currentRegionSettings.TerrainTexture4 = loadedRegionSettings.TerrainTexture4;
525 currentRegionSettings.UseEstateSun = loadedRegionSettings.UseEstateSun; 506 currentRegionSettings.UseEstateSun = loadedRegionSettings.UseEstateSun;
526 currentRegionSettings.WaterHeight = loadedRegionSettings.WaterHeight; 507 currentRegionSettings.WaterHeight = loadedRegionSettings.WaterHeight;
527 currentRegionSettings.TelehubObject = loadedRegionSettings.TelehubObject;
528 currentRegionSettings.ClearSpawnPoints();
529 foreach (SpawnPoint sp in loadedRegionSettings.SpawnPoints())
530 currentRegionSettings.AddSpawnPoint(sp);
531 508
532 currentRegionSettings.Save(); 509 currentRegionSettings.Save();
533 510
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
index 5679ad5..eabe46e 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs
@@ -328,7 +328,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
328 /// <returns></returns> 328 /// <returns></returns>
329 public string CreateControlFile(Dictionary<string, object> options) 329 public string CreateControlFile(Dictionary<string, object> options)
330 { 330 {
331 int majorVersion = MAX_MAJOR_VERSION, minorVersion = 8; 331 int majorVersion = MAX_MAJOR_VERSION, minorVersion = 7;
332// 332//
333// if (options.ContainsKey("version")) 333// if (options.ContainsKey("version"))
334// { 334// {
diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
index 394ca27..053c6f5 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
@@ -534,8 +534,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
534 rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080"); 534 rs.TerrainTexture4 = UUID.Parse("00000000-0000-0000-0000-000000000080");
535 rs.UseEstateSun = true; 535 rs.UseEstateSun = true;
536 rs.WaterHeight = 23; 536 rs.WaterHeight = 23;
537 rs.TelehubObject = UUID.Parse("00000000-0000-0000-0000-111111111111");
538 rs.AddSpawnPoint(SpawnPoint.Parse("1,-2,0.33"));
539 537
540 tar.WriteFile(ArchiveConstants.SETTINGS_PATH + "region1.xml", RegionSettingsSerializer.Serialize(rs)); 538 tar.WriteFile(ArchiveConstants.SETTINGS_PATH + "region1.xml", RegionSettingsSerializer.Serialize(rs));
541 539
@@ -582,8 +580,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
582 Assert.That(loadedRs.TerrainTexture4, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000080"))); 580 Assert.That(loadedRs.TerrainTexture4, Is.EqualTo(UUID.Parse("00000000-0000-0000-0000-000000000080")));
583 Assert.That(loadedRs.UseEstateSun, Is.True); 581 Assert.That(loadedRs.UseEstateSun, Is.True);
584 Assert.That(loadedRs.WaterHeight, Is.EqualTo(23)); 582 Assert.That(loadedRs.WaterHeight, Is.EqualTo(23));
585 Assert.AreEqual(UUID.Zero, loadedRs.TelehubObject); // because no object was found with the original UUID
586 Assert.AreEqual(0, loadedRs.SpawnPoints().Count);
587 } 583 }
588 584
589 /// <summary> 585 /// <summary>