From 690e517240495fdd80e12f605ab7f3a05a4be006 Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 3 Dec 2007 14:57:39 +0000 Subject: Added a flag to load-xml console command, that will generate new uuids for the loaded Sceneobjects (as per mantis request #53). To use append "-newUID" to the end of the command, so new format is : "load-xml -newUID". If you don't add the "-newUID", then the uuids in the xml file will be kept. --- OpenSim/Region/Environment/Scenes/Scene.cs | 4 ++-- OpenSim/Region/Environment/Scenes/SceneManager.cs | 4 ++-- OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs | 6 +++++- 3 files changed, 9 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 38cfc8c..09ecae0 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -896,9 +896,9 @@ namespace OpenSim.Region.Environment.Scenes prim.OnPrimCountTainted += m_LandManager.setPrimsTainted; } - public void LoadPrimsFromXml(string fileName) + public void LoadPrimsFromXml(string fileName, bool newIdsFlag) { - m_sceneXmlLoader.LoadPrimsFromXml(fileName); + m_sceneXmlLoader.LoadPrimsFromXml(fileName, newIdsFlag); } public void SavePrimsToXml(string fileName) diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs index 52b06f0..347091f 100644 --- a/OpenSim/Region/Environment/Scenes/SceneManager.cs +++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs @@ -160,9 +160,9 @@ namespace OpenSim.Region.Environment.Scenes CurrentOrFirstScene.SavePrimsToXml(filename); } - public void LoadCurrentSceneFromXml(string filename) + public void LoadCurrentSceneFromXml(string filename, bool generateNewIDs) { - CurrentOrFirstScene.LoadPrimsFromXml(filename); + CurrentOrFirstScene.LoadPrimsFromXml(filename, generateNewIDs); } public void SaveCurrentSceneToXml2(string filename) diff --git a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs index 40f8b96..ab8f835 100644 --- a/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs +++ b/OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs @@ -23,7 +23,7 @@ namespace OpenSim.Region.Environment.Scenes m_regInfo = regionInfo; } - public void LoadPrimsFromXml(string fileName) + public void LoadPrimsFromXml(string fileName, bool newIDS) { XmlDocument doc = new XmlDocument(); XmlNode rootNode; @@ -39,6 +39,10 @@ namespace OpenSim.Region.Environment.Scenes { SceneObjectGroup obj = new SceneObjectGroup(m_parentScene, m_regInfo.RegionHandle, aPrimNode.OuterXml); + if (newIDS) + { + obj.GenerateNewIDs(); + } //if we want this to be a import method then we need new uuids for the object to avoid any clashes //obj.RegenerateFullIDs(); m_innerScene.AddEntity(obj); -- cgit v1.1