From 714e1f678676e314e060db5e2cfb27de51bb1392 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Mon, 21 Jul 2008 21:10:15 +0000 Subject: [PATCH] * Give new uuids to all the objects loaded in from an archive. * This should allow multiple copies of an archive to be loaded into different regions on the same region server * This shouldn't affect existing operations. --- .../Modules/World/Archiver/ArchiveReadRequest.cs | 12 ++++++------ OpenSim/Region/Environment/Scenes/Scene.Inventory.cs | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs index a26a1c7d8a..1e38cd6d03 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs @@ -123,18 +123,18 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver { SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); + // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned + // on the same region server and multiple examples a single object archive to be imported + // to the same scene (when this is possible). + sceneObject.ResetIDs(); + // Make the master the owner/creator of everything imported for now LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; foreach (SceneObjectPart part in sceneObject.Children.Values) { part.CreatorID = masterAvatarId; part.OwnerID = masterAvatarId; - part.LastOwnerID = masterAvatarId; - - // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned - // on the same region server and multiple examples a single object archive to be imported - // to the same scene (when this is possible). - //part.UUID = LLUUID.Random(); + part.LastOwnerID = masterAvatarId; } if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs index 5ab7731bfc..0cf2016f20 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs @@ -2047,7 +2047,9 @@ namespace OpenSim.Region.Environment.Scenes /// /// /// - public virtual SceneObjectGroup RezObject(SceneObjectPart sourcePart, TaskInventoryItem item, LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param) + public virtual SceneObjectGroup RezObject( + SceneObjectPart sourcePart, TaskInventoryItem item, + LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param) { // Rez object if (item != null)