diff options
Diffstat (limited to 'OpenSim/Region/CoreModules')
4 files changed, 14 insertions, 6 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs index bce160a..23251c9 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs | |||
@@ -121,7 +121,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land | |||
121 | 121 | ||
122 | #region ILandService | 122 | #region ILandService |
123 | 123 | ||
124 | public LandData GetLandData(ulong regionHandle, uint x, uint y) | 124 | public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess) |
125 | { | 125 | { |
126 | m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}", | 126 | m_log.DebugFormat("[LAND IN CONNECTOR]: GetLandData for {0}. Count = {1}", |
127 | regionHandle, m_Scenes.Count); | 127 | regionHandle, m_Scenes.Count); |
@@ -130,10 +130,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsIn.Land | |||
130 | if (s.RegionInfo.RegionHandle == regionHandle) | 130 | if (s.RegionInfo.RegionHandle == regionHandle) |
131 | { | 131 | { |
132 | m_log.Debug("[LAND IN CONNECTOR]: Found region to GetLandData from"); | 132 | m_log.Debug("[LAND IN CONNECTOR]: Found region to GetLandData from"); |
133 | regionAccess = s.RegionInfo.AccessLevel; | ||
133 | return s.GetLandData(x, y); | 134 | return s.GetLandData(x, y); |
134 | } | 135 | } |
135 | } | 136 | } |
136 | m_log.DebugFormat("[LAND IN CONNECTOR]: region handle {0} not found", regionHandle); | 137 | m_log.DebugFormat("[LAND IN CONNECTOR]: region handle {0} not found", regionHandle); |
138 | regionAccess = 42; | ||
137 | return null; | 139 | return null; |
138 | } | 140 | } |
139 | 141 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs index cb87f6f..e15f624 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs | |||
@@ -116,8 +116,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land | |||
116 | 116 | ||
117 | #region ILandService | 117 | #region ILandService |
118 | 118 | ||
119 | public LandData GetLandData(ulong regionHandle, uint x, uint y) | 119 | public LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess) |
120 | { | 120 | { |
121 | regionAccess = 2; | ||
121 | m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", | 122 | m_log.DebugFormat("[LAND CONNECTOR]: request for land data in {0} at {1}, {2}", |
122 | regionHandle, x, y); | 123 | regionHandle, x, y); |
123 | 124 | ||
@@ -126,6 +127,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land | |||
126 | if (s.RegionInfo.RegionHandle == regionHandle) | 127 | if (s.RegionInfo.RegionHandle == regionHandle) |
127 | { | 128 | { |
128 | LandData land = s.GetLandData(x, y); | 129 | LandData land = s.GetLandData(x, y); |
130 | regionAccess = s.RegionInfo.AccessLevel; | ||
129 | return land; | 131 | return land; |
130 | } | 132 | } |
131 | } | 133 | } |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/RemoteLandServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/RemoteLandServiceConnector.cs index 153c2a5..2386060 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/RemoteLandServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/RemoteLandServiceConnector.cs | |||
@@ -108,13 +108,13 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Land | |||
108 | 108 | ||
109 | #region ILandService | 109 | #region ILandService |
110 | 110 | ||
111 | public override LandData GetLandData(ulong regionHandle, uint x, uint y) | 111 | public override LandData GetLandData(ulong regionHandle, uint x, uint y, out byte regionAccess) |
112 | { | 112 | { |
113 | LandData land = m_LocalService.GetLandData(regionHandle, x, y); | 113 | LandData land = m_LocalService.GetLandData(regionHandle, x, y, out regionAccess); |
114 | if (land != null) | 114 | if (land != null) |
115 | return land; | 115 | return land; |
116 | 116 | ||
117 | return base.GetLandData(regionHandle, x, y); | 117 | return base.GetLandData(regionHandle, x, y, out regionAccess); |
118 | 118 | ||
119 | } | 119 | } |
120 | #endregion ILandService | 120 | #endregion ILandService |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 4ccd0f0..31aa017 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -51,6 +51,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
51 | public LandData LandData; | 51 | public LandData LandData; |
52 | public ulong RegionHandle; | 52 | public ulong RegionHandle; |
53 | public uint X, Y; | 53 | public uint X, Y; |
54 | public byte RegionAccess; | ||
54 | } | 55 | } |
55 | 56 | ||
56 | public class LandManagementModule : INonSharedRegionModule | 57 | public class LandManagementModule : INonSharedRegionModule |
@@ -1459,13 +1460,15 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1459 | if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle) | 1460 | if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle) |
1460 | { | 1461 | { |
1461 | extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData; | 1462 | extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData; |
1463 | extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel; | ||
1462 | } | 1464 | } |
1463 | else | 1465 | else |
1464 | { | 1466 | { |
1465 | ILandService landService = m_scene.RequestModuleInterface<ILandService>(); | 1467 | ILandService landService = m_scene.RequestModuleInterface<ILandService>(); |
1466 | extLandData.LandData = landService.GetLandData(extLandData.RegionHandle, | 1468 | extLandData.LandData = landService.GetLandData(extLandData.RegionHandle, |
1467 | extLandData.X, | 1469 | extLandData.X, |
1468 | extLandData.Y); | 1470 | extLandData.Y, |
1471 | out extLandData.RegionAccess); | ||
1469 | if (extLandData.LandData == null) | 1472 | if (extLandData.LandData == null) |
1470 | { | 1473 | { |
1471 | // we didn't find the region/land => don't cache | 1474 | // we didn't find the region/land => don't cache |
@@ -1497,6 +1500,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1497 | r.RegionName = info.RegionName; | 1500 | r.RegionName = info.RegionName; |
1498 | r.RegionLocX = (uint)info.RegionLocX; | 1501 | r.RegionLocX = (uint)info.RegionLocX; |
1499 | r.RegionLocY = (uint)info.RegionLocY; | 1502 | r.RegionLocY = (uint)info.RegionLocY; |
1503 | r.RegionSettings.Maturity = (int)Util.ConvertAccessLevelToMaturity(data.RegionAccess); | ||
1500 | remoteClient.SendParcelInfo(r, data.LandData, parcelID, data.X, data.Y); | 1504 | remoteClient.SendParcelInfo(r, data.LandData, parcelID, data.X, data.Y); |
1501 | } | 1505 | } |
1502 | else | 1506 | else |