diff options
Diffstat (limited to 'OpenSim/Region/Environment')
5 files changed, 150 insertions, 10 deletions
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Chat/ChatModule.cs index a72010c..825fb8f 100644 --- a/OpenSim/Region/Environment/Modules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/Environment/Modules/Avatar/Chat/ChatModule.cs | |||
@@ -815,8 +815,8 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat | |||
815 | 815 | ||
816 | public void eventIrcMode(string[] commArgs) | 816 | public void eventIrcMode(string[] commArgs) |
817 | { | 817 | { |
818 | string IrcChannel = commArgs[2]; | 818 | //string IrcChannel = commArgs[2]; |
819 | string IrcUser = commArgs[0].Split('!')[0]; | 819 | //string IrcUser = commArgs[0].Split('!')[0]; |
820 | string UserMode = ""; | 820 | string UserMode = ""; |
821 | for (int i = 3; i < commArgs.Length; i++) | 821 | for (int i = 3; i < commArgs.Length; i++) |
822 | { | 822 | { |
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs new file mode 100644 index 0000000..cba04c4 --- /dev/null +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiverModule.cs | |||
@@ -0,0 +1,70 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using OpenSim.Region.Environment.Interfaces; | ||
29 | using OpenSim.Region.Environment.Scenes; | ||
30 | using System.Reflection; | ||
31 | using log4net; | ||
32 | using Nini.Config; | ||
33 | |||
34 | namespace OpenSim.Region.Environment.Modules.World.Archiver | ||
35 | { | ||
36 | /// <summary> | ||
37 | /// This module loads and saves OpenSimulator archives | ||
38 | /// </summary> | ||
39 | public class ArchiverModule : IRegionModule, IRegionArchiver | ||
40 | { | ||
41 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
42 | |||
43 | public string Name { get { return "ArchiverModule"; } } | ||
44 | |||
45 | public bool IsSharedModule { get { return true; } } | ||
46 | |||
47 | public void Initialise(Scene scene, IConfigSource source) | ||
48 | { | ||
49 | scene.RegisterModuleInterface<IRegionArchiver>(this); | ||
50 | } | ||
51 | |||
52 | public void PostInitialise() | ||
53 | { | ||
54 | } | ||
55 | |||
56 | public void Close() | ||
57 | { | ||
58 | } | ||
59 | |||
60 | public void ArchiveRegion(Scene scene, string savePath) | ||
61 | { | ||
62 | m_log.Warn("[ARCHIVER]: Archive region not yet implemented"); | ||
63 | } | ||
64 | |||
65 | public void DearchiveRegion(Scene scene, string loadPath) | ||
66 | { | ||
67 | m_log.Warn("[ARCHIVER]: Dearchive region not yet implemented"); | ||
68 | } | ||
69 | } | ||
70 | } \ No newline at end of file | ||
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs b/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs new file mode 100644 index 0000000..1cebb50 --- /dev/null +++ b/OpenSim/Region/Environment/Modules/World/Archiver/IRegionArchiver.cs | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSim Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using OpenSim.Region.Environment.Scenes; | ||
29 | |||
30 | namespace OpenSim.Region.Environment.Modules.World.Archiver | ||
31 | { | ||
32 | /// <summary> | ||
33 | /// Interface to region archive functionality | ||
34 | /// </summary> | ||
35 | public interface IRegionArchiver | ||
36 | { | ||
37 | /// <summary> | ||
38 | /// Archive a region to the given path | ||
39 | /// </summary> | ||
40 | /// <param name="scene"></param> | ||
41 | /// <param name="savePath"></param> | ||
42 | void ArchiveRegion(Scene scene, string savePath); | ||
43 | |||
44 | /// <summary> | ||
45 | /// Dearchive the given region archive into the scene | ||
46 | /// </summary> | ||
47 | /// <param name="scene"></param> | ||
48 | /// <param name="loadPath"></param> | ||
49 | void DearchiveRegion(Scene scene, string loadPath); | ||
50 | } | ||
51 | } | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 8c95a0d..3ede889 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -40,6 +40,7 @@ using OpenSim.Framework.Communications; | |||
40 | using OpenSim.Framework.Communications.Cache; | 40 | using OpenSim.Framework.Communications.Cache; |
41 | using OpenSim.Framework.Servers; | 41 | using OpenSim.Framework.Servers; |
42 | using OpenSim.Region.Environment.Interfaces; | 42 | using OpenSim.Region.Environment.Interfaces; |
43 | using OpenSim.Region.Environment.Modules.World.Archiver; | ||
43 | using OpenSim.Region.Environment.Modules.World.Terrain; | 44 | using OpenSim.Region.Environment.Modules.World.Terrain; |
44 | using OpenSim.Region.Environment.Scenes.Scripting; | 45 | using OpenSim.Region.Environment.Scenes.Scripting; |
45 | using OpenSim.Region.Physics.Manager; | 46 | using OpenSim.Region.Physics.Manager; |
@@ -58,7 +59,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
58 | public SynchronizeSceneHandler SynchronizeScene = null; | 59 | public SynchronizeSceneHandler SynchronizeScene = null; |
59 | public int splitID = 0; | 60 | public int splitID = 0; |
60 | 61 | ||
61 | |||
62 | #region Fields | 62 | #region Fields |
63 | 63 | ||
64 | protected Timer m_heartbeatTimer = new Timer(); | 64 | protected Timer m_heartbeatTimer = new Timer(); |
@@ -138,7 +138,6 @@ namespace OpenSim.Region.Environment.Scenes | |||
138 | private int m_update_terrain = 50; | 138 | private int m_update_terrain = 50; |
139 | private int m_update_land = 1; | 139 | private int m_update_land = 1; |
140 | 140 | ||
141 | |||
142 | private int frameMS = 0; | 141 | private int frameMS = 0; |
143 | private int physicsMS2 = 0; | 142 | private int physicsMS2 = 0; |
144 | private int physicsMS = 0; | 143 | private int physicsMS = 0; |
@@ -631,7 +630,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
631 | } | 630 | } |
632 | 631 | ||
633 | /// <summary> | 632 | /// <summary> |
634 | /// Sets up references to loaded modules required by thie scene | 633 | /// Sets up references to modules required by the scene |
635 | /// </summary> | 634 | /// </summary> |
636 | public void SetModuleInterfaces() | 635 | public void SetModuleInterfaces() |
637 | { | 636 | { |
@@ -1043,7 +1042,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1043 | //} | 1042 | //} |
1044 | //else | 1043 | //else |
1045 | //{ | 1044 | //{ |
1046 | float tmpval = (float)hm[x, y]; | 1045 | //float tmpval = (float)hm[x, y]; |
1047 | float heightvalue = (float)hm[x, y]; | 1046 | float heightvalue = (float)hm[x, y]; |
1048 | 1047 | ||
1049 | if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight) | 1048 | if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight) |
@@ -1380,6 +1379,26 @@ namespace OpenSim.Region.Environment.Scenes | |||
1380 | { | 1379 | { |
1381 | m_sceneXmlLoader.SavePrimsToXml2(fileName); | 1380 | m_sceneXmlLoader.SavePrimsToXml2(fileName); |
1382 | } | 1381 | } |
1382 | |||
1383 | /// <summary> | ||
1384 | /// Load a prim archive into the scene. This loads both prims and their assets. | ||
1385 | /// </summary> | ||
1386 | /// <param name="filePath"></param> | ||
1387 | public void LoadPrimsFromArchive(string filePath) | ||
1388 | { | ||
1389 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); | ||
1390 | archiver.DearchiveRegion(this, filePath); | ||
1391 | } | ||
1392 | |||
1393 | /// <summary> | ||
1394 | /// Save the prims in the scene to an archive. This saves both prims and their assets. | ||
1395 | /// </summary> | ||
1396 | /// <param name="filePath"></param> | ||
1397 | public void SavePrimsToArchive(string filePath) | ||
1398 | { | ||
1399 | IRegionArchiver archiver = RequestModuleInterface<IRegionArchiver>(); | ||
1400 | archiver.ArchiveRegion(this, filePath); | ||
1401 | } | ||
1383 | 1402 | ||
1384 | /// <summary> | 1403 | /// <summary> |
1385 | /// Locate New region Handle and offset the prim position for the new region | 1404 | /// Locate New region Handle and offset the prim position for the new region |
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs index 68dfa2f..2baef9d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneManager.cs +++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs | |||
@@ -199,9 +199,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
199 | /// as well as the details of the prims themselves. | 199 | /// as well as the details of the prims themselves. |
200 | /// </summary> | 200 | /// </summary> |
201 | /// <param name="filename"></param> | 201 | /// <param name="filename"></param> |
202 | public void SaveCurrentSceneToOar(string filename) | 202 | public void SaveCurrentSceneToArchive(string filename) |
203 | { | 203 | { |
204 | // TODO Nothing yet | 204 | CurrentOrFirstScene.LoadPrimsFromArchive(filename); |
205 | } | 205 | } |
206 | 206 | ||
207 | /// <summary> | 207 | /// <summary> |
@@ -209,9 +209,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
209 | /// their assets to the asset service. | 209 | /// their assets to the asset service. |
210 | /// </summary> | 210 | /// </summary> |
211 | /// <param name="filename"></param> | 211 | /// <param name="filename"></param> |
212 | public void LoadCurrentSceneFromOar(string filename) | 212 | public void LoadCurrentSceneFromArchive(string filename) |
213 | { | 213 | { |
214 | // TODO Nothing yet | 214 | CurrentOrFirstScene.SavePrimsToArchive(filename); |
215 | } | 215 | } |
216 | 216 | ||
217 | [Obsolete("TODO: Remove this warning by 0.7")] | 217 | [Obsolete("TODO: Remove this warning by 0.7")] |