From 0731220a9dca5cc2107246c2bd769d002d921239 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 14 Jul 2018 15:21:59 +0100 Subject: change bitmasks work --- OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | 11 ++--------- OpenSim/Region/CoreModules/World/Land/LandObject.cs | 4 ++-- 2 files changed, 4 insertions(+), 11 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 7ba4a48..c32de62 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs @@ -2033,25 +2033,18 @@ namespace OpenSim.Region.CoreModules.World.Land { UUID parcel = UUID.Zero; UUID.TryParse(id, out parcel); - // assume we've got the parcelID we just computed in RemoteParcelRequest ExtendedLandData extLandData = new ExtendedLandData(); if(!Util.ParseFakeParcelID(parcel, out extLandData.RegionHandle, out extLandData.X, out extLandData.Y)) return null; - m_log.DebugFormat("[LAND MANAGEMENT MODULE] : Got parcelinfo request for regionHandle {0}, x/y {1}/{2}", + m_log.DebugFormat("[LAND MANAGEMENT MODULE]: Got parcelinfo request for regionHandle {0}, x/y {1}/{2}", extLandData.RegionHandle, extLandData.X, extLandData.Y); // for this region or for somewhere else? if (extLandData.RegionHandle == m_scene.RegionInfo.RegionHandle) { - ILandObject extLandObject = this.GetLandObject(extLandData.X, extLandData.Y); - if(extLandObject == null) - { - m_log.DebugFormat("[LAND MANAGEMENT MODULE]: ParcelInfoRequest: a FakeParcelID points to outside the region"); - return null; - } - extLandData.LandData = extLandObject.LandData; + extLandData.LandData = this.GetLandObject(extLandData.X, extLandData.Y).LandData; extLandData.RegionAccess = m_scene.RegionInfo.AccessLevel; } else diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index 51e6071..cbe8a2e 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs @@ -1460,9 +1460,9 @@ namespace OpenSim.Region.CoreModules.World.Land for (int i = 0; i < bitmapLen; i++) { tempByte = LandData.Bitmap[i]; - for (int bitNum = 0; bitNum < 8; bitNum++) + for (int bitmask = 0x80; bitmask > 0; bitmask = bitmask >> 1) { - bool bit = Convert.ToBoolean(Convert.ToByte(tempByte >> bitNum) & (byte) 1); + bool bit = (tempByte & bitmask) == bitmask; try { tempConvertMap[x, y] = bit; -- cgit v1.1