* 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.
This commit is contained in:
Justin Clarke Casey
2008-07-21 21:10:15 +00:00
parent 1ef7a05b3e
commit 714e1f6786
2 changed files with 9 additions and 7 deletions

View File

@@ -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))