aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs6
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsIn/Land/LandServiceInConnectorModule.cs4
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/LocalLandServiceConnector.cs4
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Land/RemoteLandServiceConnector.cs6
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs6
5 files changed, 17 insertions, 9 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index d2d1e8f..af2dd85 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2675,7 +2675,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2675 2675
2676 // Bit 0: Mature, bit 7: on sale, other bits: no idea 2676 // Bit 0: Mature, bit 7: on sale, other bits: no idea
2677 reply.Data.Flags = (byte)( 2677 reply.Data.Flags = (byte)(
2678 ((land.Flags & (uint)ParcelFlags.MaturePublish) != 0 ? (1 << 0) : 0) + 2678 (info.AccessLevel > 13 ? (1 << 0) : 0) +
2679 ((land.Flags & (uint)ParcelFlags.ForSale) != 0 ? (1 << 7) : 0)); 2679 ((land.Flags & (uint)ParcelFlags.ForSale) != 0 ? (1 << 7) : 0));
2680 2680
2681 Vector3 pos = land.UserLocation; 2681 Vector3 pos = land.UserLocation;
@@ -2683,8 +2683,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2683 { 2683 {
2684 pos = (land.AABBMax + land.AABBMin) * 0.5f; 2684 pos = (land.AABBMax + land.AABBMin) * 0.5f;
2685 } 2685 }
2686 reply.Data.GlobalX = info.RegionLocX * Constants.RegionSize + x; 2686 reply.Data.GlobalX = info.RegionLocX + x;
2687 reply.Data.GlobalY = info.RegionLocY * Constants.RegionSize + y; 2687 reply.Data.GlobalY = info.RegionLocY + y;
2688 reply.Data.GlobalZ = pos.Z; 2688 reply.Data.GlobalZ = pos.Z;
2689 reply.Data.SimName = Utils.StringToBytes(info.RegionName); 2689 reply.Data.SimName = Utils.StringToBytes(info.RegionName);
2690 reply.Data.SnapshotID = land.SnapshotID; 2690 reply.Data.SnapshotID = land.SnapshotID;
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 cfee1b0..7e29a56 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
@@ -1484,13 +1485,15 @@ namespace OpenSim.Region.CoreModules.World.Land
1484 if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle) 1485 if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle)
1485 { 1486 {
1486 extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData; 1487 extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData;
1488 extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel;
1487 } 1489 }
1488 else 1490 else
1489 { 1491 {
1490 ILandService landService = m_scene.RequestModuleInterface<ILandService>(); 1492 ILandService landService = m_scene.RequestModuleInterface<ILandService>();
1491 extLandData.LandData = landService.GetLandData(extLandData.RegionHandle, 1493 extLandData.LandData = landService.GetLandData(extLandData.RegionHandle,
1492 extLandData.X, 1494 extLandData.X,
1493 extLandData.Y); 1495 extLandData.Y,
1496 out extLandData.RegionAccess);
1494 if (extLandData.LandData == null) 1497 if (extLandData.LandData == null)
1495 { 1498 {
1496 // we didn't find the region/land => don't cache 1499 // we didn't find the region/land => don't cache
@@ -1522,6 +1525,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1522 r.RegionName = info.RegionName; 1525 r.RegionName = info.RegionName;
1523 r.RegionLocX = (uint)info.RegionLocX; 1526 r.RegionLocX = (uint)info.RegionLocX;
1524 r.RegionLocY = (uint)info.RegionLocY; 1527 r.RegionLocY = (uint)info.RegionLocY;
1528 r.RegionSettings.Maturity = (int)Util.ConvertAccessLevelToMaturity(data.RegionAccess);
1525 remoteClient.SendParcelInfo(r, data.LandData, parcelID, data.X, data.Y); 1529 remoteClient.SendParcelInfo(r, data.LandData, parcelID, data.X, data.Y);
1526 } 1530 }
1527 else 1531 else