From 718c6d1e4d9fadd99cd9a9e7efe0d616a2378d4a Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 27 Aug 2019 21:16:22 +0100 Subject: mantis 8583: osGetRegionMapTexture(); now returns prim region map textureID, without any requests to grid --- .../Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 11 ++++++++--- OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | 2 +- OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 6ee83ae..7494b88 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -3563,7 +3563,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// /// /// - public LSL_Key osGetRegionMapTexture(string regionName) + public LSL_Key osGetRegionMapTexture(string regionNameOrID) { CheckThreatLevel(ThreatLevel.High, "osGetRegionMapTexture"); @@ -3571,11 +3571,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api UUID key = UUID.Zero; GridRegion region; + if(string.IsNullOrWhiteSpace(regionNameOrID)) + { + return scene.RegionInfo.RegionSettings.TerrainImageID.ToString(); + } + //If string is a key, use it. Otherwise, try to locate region by name. - if (UUID.TryParse(regionName, out key)) + if (UUID.TryParse(regionNameOrID, out key)) region = scene.GridService.GetRegionByUUID(UUID.Zero, key); else - region = scene.GridService.GetRegionByName(UUID.Zero, regionName); + region = scene.GridService.GetRegionByName(UUID.Zero, regionNameOrID); // If region was found, return the regions map texture key. if (region != null) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index c65b785..1bd6e08 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs @@ -375,7 +375,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces key osGetGender(LSL_Key rawAvatarId); key osGetMapTexture(); - key osGetRegionMapTexture(string regionName); + key osGetRegionMapTexture(string regionNameOrID); LSL_List osGetRegionStats(); vector osGetRegionSize(); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 12c63b3..549047c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -945,9 +945,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osGetMapTexture(); } - public key osGetRegionMapTexture(string regionName) + public key osGetRegionMapTexture(string regionNameOrID) { - return m_OSSL_Functions.osGetRegionMapTexture(regionName); + return m_OSSL_Functions.osGetRegionMapTexture(regionNameOrID); } public LSL_List osGetRegionStats() -- cgit v1.1