aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMW2007-12-03 14:57:39 +0000
committerMW2007-12-03 14:57:39 +0000
commit690e517240495fdd80e12f605ab7f3a05a4be006 (patch)
tree47e93ec425d8d09d8d0f0ebfb8a1ed033cc3062e /OpenSim/Region
parentFixed bug in Appearance update in AvatarFactoryModule. (diff)
downloadopensim-SC_OLD-690e517240495fdd80e12f605ab7f3a05a4be006.zip
opensim-SC_OLD-690e517240495fdd80e12f605ab7f3a05a4be006.tar.gz
opensim-SC_OLD-690e517240495fdd80e12f605ab7f3a05a4be006.tar.bz2
opensim-SC_OLD-690e517240495fdd80e12f605ab7f3a05a4be006.tar.xz
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 <filename> -newUID". If you don't add the "-newUID", then the uuids in the xml file will be kept.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs12
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs4
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneXmlLoader.cs6
4 files changed, 19 insertions, 7 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index 1f9894c..50018ac 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -659,11 +659,19 @@ namespace OpenSim
659 case "load-xml": 659 case "load-xml":
660 if (cmdparams.Length > 0) 660 if (cmdparams.Length > 0)
661 { 661 {
662 m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0]); 662 bool generateNewIDS = false;
663 if (cmdparams.Length > 1)
664 {
665 if (cmdparams[1] == "-newUID")
666 {
667 generateNewIDS = true;
668 }
669 }
670 m_sceneManager.LoadCurrentSceneFromXml(cmdparams[0], generateNewIDS);
663 } 671 }
664 else 672 else
665 { 673 {
666 m_sceneManager.LoadCurrentSceneFromXml(DEFAULT_PRIM_BACKUP_FILENAME); 674 m_sceneManager.LoadCurrentSceneFromXml(DEFAULT_PRIM_BACKUP_FILENAME, false);
667 } 675 }
668 break; 676 break;
669 677
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
896 prim.OnPrimCountTainted += m_LandManager.setPrimsTainted; 896 prim.OnPrimCountTainted += m_LandManager.setPrimsTainted;
897 } 897 }
898 898
899 public void LoadPrimsFromXml(string fileName) 899 public void LoadPrimsFromXml(string fileName, bool newIdsFlag)
900 { 900 {
901 m_sceneXmlLoader.LoadPrimsFromXml(fileName); 901 m_sceneXmlLoader.LoadPrimsFromXml(fileName, newIdsFlag);
902 } 902 }
903 903
904 public void SavePrimsToXml(string fileName) 904 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
160 CurrentOrFirstScene.SavePrimsToXml(filename); 160 CurrentOrFirstScene.SavePrimsToXml(filename);
161 } 161 }
162 162
163 public void LoadCurrentSceneFromXml(string filename) 163 public void LoadCurrentSceneFromXml(string filename, bool generateNewIDs)
164 { 164 {
165 CurrentOrFirstScene.LoadPrimsFromXml(filename); 165 CurrentOrFirstScene.LoadPrimsFromXml(filename, generateNewIDs);
166 } 166 }
167 167
168 public void SaveCurrentSceneToXml2(string filename) 168 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
23 m_regInfo = regionInfo; 23 m_regInfo = regionInfo;
24 } 24 }
25 25
26 public void LoadPrimsFromXml(string fileName) 26 public void LoadPrimsFromXml(string fileName, bool newIDS)
27 { 27 {
28 XmlDocument doc = new XmlDocument(); 28 XmlDocument doc = new XmlDocument();
29 XmlNode rootNode; 29 XmlNode rootNode;
@@ -39,6 +39,10 @@ namespace OpenSim.Region.Environment.Scenes
39 { 39 {
40 SceneObjectGroup obj = new SceneObjectGroup(m_parentScene, 40 SceneObjectGroup obj = new SceneObjectGroup(m_parentScene,
41 m_regInfo.RegionHandle, aPrimNode.OuterXml); 41 m_regInfo.RegionHandle, aPrimNode.OuterXml);
42 if (newIDS)
43 {
44 obj.GenerateNewIDs();
45 }
42 //if we want this to be a import method then we need new uuids for the object to avoid any clashes 46 //if we want this to be a import method then we need new uuids for the object to avoid any clashes
43 //obj.RegenerateFullIDs(); 47 //obj.RegenerateFullIDs();
44 m_innerScene.AddEntity(obj); 48 m_innerScene.AddEntity(obj);