diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
5 files changed, 41 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs index 1e63e3e..e3e8718 100644 --- a/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs | |||
@@ -57,21 +57,21 @@ namespace OpenSim.Region.CoreModules.Avatar.Chat | |||
57 | #region ISharedRegionModule Members | 57 | #region ISharedRegionModule Members |
58 | public virtual void Initialise(IConfigSource config) | 58 | public virtual void Initialise(IConfigSource config) |
59 | { | 59 | { |
60 | |||
61 | m_config = config.Configs["Chat"]; | 60 | m_config = config.Configs["Chat"]; |
62 | 61 | ||
63 | if (null == m_config) | 62 | if (null == m_config) |
64 | { | 63 | { |
65 | m_log.Info("[CHAT]: no config found, plugin disabled"); | 64 | m_log.Info("[CHAT]: no config found, plugin disabled"); |
65 | m_enabled = false; | ||
66 | return; | 66 | return; |
67 | } | 67 | } |
68 | 68 | ||
69 | if (!m_config.GetBoolean("enabled", false)) | 69 | if (!m_config.GetBoolean("enabled", true)) |
70 | { | 70 | { |
71 | m_log.Info("[CHAT]: plugin disabled by configuration"); | 71 | m_log.Info("[CHAT]: plugin disabled by configuration"); |
72 | m_enabled = false; | ||
72 | return; | 73 | return; |
73 | } | 74 | } |
74 | m_enabled = true; | ||
75 | 75 | ||
76 | m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance); | 76 | m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance", m_whisperdistance); |
77 | m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance); | 77 | m_saydistance = config.Configs["Chat"].GetInt("say_distance", m_saydistance); |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs index f08d8ec..71bfe57 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs | |||
@@ -93,6 +93,16 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
93 | List<EntityBase> entities = m_scene.GetEntities(); | 93 | List<EntityBase> entities = m_scene.GetEntities(); |
94 | List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>(); | 94 | List<SceneObjectGroup> sceneObjects = new List<SceneObjectGroup>(); |
95 | 95 | ||
96 | /* | ||
97 | foreach (ILandObject lo in m_scene.LandChannel.AllParcels()) | ||
98 | { | ||
99 | if (name == lo.LandData.Name) | ||
100 | { | ||
101 | // This is the parcel we want | ||
102 | } | ||
103 | } | ||
104 | */ | ||
105 | |||
96 | // Filter entities so that we only have scene objects. | 106 | // Filter entities so that we only have scene objects. |
97 | // FIXME: Would be nicer to have this as a proper list in SceneGraph, since lots of methods | 107 | // FIXME: Would be nicer to have this as a proper list in SceneGraph, since lots of methods |
98 | // end up having to do this | 108 | // end up having to do this |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs index 181f4c6..27763bb 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiverModule.cs | |||
@@ -26,9 +26,11 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.IO; | 30 | using System.IO; |
30 | using System.Reflection; | 31 | using System.Reflection; |
31 | using log4net; | 32 | using log4net; |
33 | using NDesk.Options; | ||
32 | using Nini.Config; | 34 | using Nini.Config; |
33 | using OpenSim.Region.Framework.Interfaces; | 35 | using OpenSim.Region.Framework.Interfaces; |
34 | using OpenSim.Region.Framework.Scenes; | 36 | using OpenSim.Region.Framework.Scenes; |
@@ -91,13 +93,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
91 | /// <param name="cmdparams"></param> | 93 | /// <param name="cmdparams"></param> |
92 | public void HandleLoadOarConsoleCommand(string module, string[] cmdparams) | 94 | public void HandleLoadOarConsoleCommand(string module, string[] cmdparams) |
93 | { | 95 | { |
94 | if (cmdparams.Length > 2) | 96 | bool mergeOar = false; |
97 | |||
98 | OptionSet options = new OptionSet().Add("m|merge", delegate (string v) { mergeOar = v != null; }); | ||
99 | List<string> mainParams = options.Parse(cmdparams); | ||
100 | |||
101 | // m_log.DebugFormat("MERGE OAR IS [{0}]", mergeOar); | ||
102 | // | ||
103 | // foreach (string param in mainParams) | ||
104 | // m_log.DebugFormat("GOT PARAM [{0}]", param); | ||
105 | |||
106 | if (mainParams.Count > 2) | ||
95 | { | 107 | { |
96 | DearchiveRegion(cmdparams[2]); | 108 | DearchiveRegion(mainParams[2], mergeOar, Guid.Empty); |
97 | } | 109 | } |
98 | else | 110 | else |
99 | { | 111 | { |
100 | DearchiveRegion(DEFAULT_OAR_BACKUP_FILENAME); | 112 | DearchiveRegion(DEFAULT_OAR_BACKUP_FILENAME, mergeOar, Guid.Empty); |
101 | } | 113 | } |
102 | } | 114 | } |
103 | 115 | ||
diff --git a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs index 4ed23bb..81024db 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandChannel.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandChannel.cs | |||
@@ -105,7 +105,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
105 | ILandObject obj = new LandObject(UUID.Zero, false, m_scene); | 105 | ILandObject obj = new LandObject(UUID.Zero, false, m_scene); |
106 | obj.LandData.Name = "NO LAND"; | 106 | obj.LandData.Name = "NO LAND"; |
107 | return obj; | 107 | return obj; |
108 | } | 108 | } |
109 | 109 | ||
110 | public List<ILandObject> AllParcels() | 110 | public List<ILandObject> AllParcels() |
111 | { | 111 | { |
@@ -154,6 +154,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
154 | m_landManagementModule.UpdateLandObject(localID, data); | 154 | m_landManagementModule.UpdateLandObject(localID, data); |
155 | } | 155 | } |
156 | } | 156 | } |
157 | |||
157 | public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient) | 158 | public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient) |
158 | { | 159 | { |
159 | if (m_landManagementModule != null) | 160 | if (m_landManagementModule != null) |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 968f46a..9a2ef50 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -67,7 +67,14 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
67 | private const int landArrayMax = ((int)((int)Constants.RegionSize / 4) >= 64) ? (int)((int)Constants.RegionSize / 4) : 64; | 67 | private const int landArrayMax = ((int)((int)Constants.RegionSize / 4) >= 64) ? (int)((int)Constants.RegionSize / 4) : 64; |
68 | #pragma warning restore 0429 | 68 | #pragma warning restore 0429 |
69 | 69 | ||
70 | /// <value> | ||
71 | /// Local land ids at specified region co-ordinates (region size / 4) | ||
72 | /// </value> | ||
70 | private readonly int[,] m_landIDList = new int[landArrayMax, landArrayMax]; | 73 | private readonly int[,] m_landIDList = new int[landArrayMax, landArrayMax]; |
74 | |||
75 | /// <value> | ||
76 | /// Land objects keyed by local id | ||
77 | /// </value> | ||
71 | private readonly Dictionary<int, ILandObject> m_landList = new Dictionary<int, ILandObject>(); | 78 | private readonly Dictionary<int, ILandObject> m_landList = new Dictionary<int, ILandObject>(); |
72 | 79 | ||
73 | private bool m_landPrimCountTainted; | 80 | private bool m_landPrimCountTainted; |
@@ -570,6 +577,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
570 | 577 | ||
571 | if (x_float > Constants.RegionSize || x_float <= 0 || y_float > Constants.RegionSize || y_float <= 0) | 578 | if (x_float > Constants.RegionSize || x_float <= 0 || y_float > Constants.RegionSize || y_float <= 0) |
572 | return null; | 579 | return null; |
580 | |||
573 | try | 581 | try |
574 | { | 582 | { |
575 | x = Convert.ToInt32(Math.Floor(Convert.ToDouble(x_float) / 4.0)); | 583 | x = Convert.ToInt32(Math.Floor(Convert.ToDouble(x_float) / 4.0)); |
@@ -584,6 +592,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
584 | { | 592 | { |
585 | return null; | 593 | return null; |
586 | } | 594 | } |
595 | |||
587 | lock (m_landList) | 596 | lock (m_landList) |
588 | { | 597 | { |
589 | // Corner case. If an autoreturn happens during sim startup | 598 | // Corner case. If an autoreturn happens during sim startup |
@@ -603,6 +612,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
603 | // they happen every time at border crossings | 612 | // they happen every time at border crossings |
604 | throw new Exception("Error: Parcel not found at point " + x + ", " + y); | 613 | throw new Exception("Error: Parcel not found at point " + x + ", " + y); |
605 | } | 614 | } |
615 | |||
606 | lock (m_landIDList) | 616 | lock (m_landIDList) |
607 | { | 617 | { |
608 | try | 618 | try |
@@ -617,7 +627,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
617 | return null; | 627 | return null; |
618 | } | 628 | } |
619 | } | 629 | } |
620 | } | 630 | } |
621 | 631 | ||
622 | #endregion | 632 | #endregion |
623 | 633 | ||