diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
3 files changed, 23 insertions, 2 deletions
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/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 | ||