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 c59eedf..7bf7511 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2656,7 +2656,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2656 2656
2657 // Bit 0: Mature, bit 7: on sale, other bits: no idea 2657 // Bit 0: Mature, bit 7: on sale, other bits: no idea
2658 reply.Data.Flags = (byte)( 2658 reply.Data.Flags = (byte)(
2659 ((land.Flags & (uint)ParcelFlags.MaturePublish) != 0 ? (1 << 0) : 0) + 2659 (info.AccessLevel > 13 ? (1 << 0) : 0) +
2660 ((land.Flags & (uint)ParcelFlags.ForSale) != 0 ? (1 << 7) : 0)); 2660 ((land.Flags & (uint)ParcelFlags.ForSale) != 0 ? (1 << 7) : 0));
2661 2661
2662 Vector3 pos = land.UserLocation; 2662 Vector3 pos = land.UserLocation;
@@ -2664,8 +2664,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2664 { 2664 {
2665 pos = (land.AABBMax + land.AABBMin) * 0.5f; 2665 pos = (land.AABBMax + land.AABBMin) * 0.5f;
2666 } 2666 }
2667 reply.Data.GlobalX = info.RegionLocX * Constants.RegionSize + x; 2667 reply.Data.GlobalX = info.RegionLocX + x;
2668 reply.Data.GlobalY = info.RegionLocY * Constants.RegionSize + y; 2668 reply.Data.GlobalY = info.RegionLocY + y;
2669 reply.Data.GlobalZ = pos.Z; 2669 reply.Data.GlobalZ = pos.Z;
2670 reply.Data.SimName = Utils.StringToBytes(info.RegionName); 2670 reply.Data.SimName = Utils.StringToBytes(info.RegionName);
2671 reply.Data.SnapshotID = land.SnapshotID; 2671 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 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