aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-07-21 21:10:15 +0000
committerJustin Clarke Casey2008-07-21 21:10:15 +0000
commit714e1f678676e314e060db5e2cfb27de51bb1392 (patch)
tree04aa2c5631d7b5748cc61ad2d91040c6b2b4cd39
parentMantis#1544. Thank you kindly, Jonc, for a patch that: (diff)
downloadopensim-SC-714e1f678676e314e060db5e2cfb27de51bb1392.zip
opensim-SC-714e1f678676e314e060db5e2cfb27de51bb1392.tar.gz
opensim-SC-714e1f678676e314e060db5e2cfb27de51bb1392.tar.bz2
opensim-SC-714e1f678676e314e060db5e2cfb27de51bb1392.tar.xz
* 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.
-rw-r--r--OpenSim/Region/Environment/Modules/World/Archiver/ArchiveReadRequest.cs12
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs4
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 a26a1c7..1e38cd6 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
123 { 123 {
124 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); 124 SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject);
125 125
126 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned
127 // on the same region server and multiple examples a single object archive to be imported
128 // to the same scene (when this is possible).
129 sceneObject.ResetIDs();
130
126 // Make the master the owner/creator of everything imported for now 131 // Make the master the owner/creator of everything imported for now
127 LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; 132 LLUUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID;
128 foreach (SceneObjectPart part in sceneObject.Children.Values) 133 foreach (SceneObjectPart part in sceneObject.Children.Values)
129 { 134 {
130 part.CreatorID = masterAvatarId; 135 part.CreatorID = masterAvatarId;
131 part.OwnerID = masterAvatarId; 136 part.OwnerID = masterAvatarId;
132 part.LastOwnerID = masterAvatarId; 137 part.LastOwnerID = masterAvatarId;
133
134 // For now, give all incoming scene objects new uuids. This will allow scenes to be cloned
135 // on the same region server and multiple examples a single object archive to be imported
136 // to the same scene (when this is possible).
137 //part.UUID = LLUUID.Random();
138 } 138 }
139 139
140 if (m_scene.AddRestoredSceneObject(sceneObject, true, false)) 140 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 5ab7731..0cf2016 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
2047 /// <param name="vel"></param> 2047 /// <param name="vel"></param>
2048 /// <param name="param"></param> 2048 /// <param name="param"></param>
2049 /// <returns></returns> 2049 /// <returns></returns>
2050 public virtual SceneObjectGroup RezObject(SceneObjectPart sourcePart, TaskInventoryItem item, LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param) 2050 public virtual SceneObjectGroup RezObject(
2051 SceneObjectPart sourcePart, TaskInventoryItem item,
2052 LLVector3 pos, LLQuaternion rot, LLVector3 vel, int param)
2051 { 2053 {
2052 // Rez object 2054 // Rez object
2053 if (item != null) 2055 if (item != null)