From c1d680b6c3a5e3dc11cd1e7cc9b74d3d81317eee Mon Sep 17 00:00:00 2001 From: Charles Krinke Date: Tue, 12 May 2009 03:30:37 +0000 Subject: Thank you kindly, Patnad, for a patch that: This is to handle the changes in the v1.23 viewer of LL regarding the adult rating. With this patch a region can be changed to the adult rating from LL viewer v1.23 and above. --- .../Region/Communications/Hypergrid/HGGridServices.cs | 2 +- .../Region/Communications/Local/LocalBackEndServices.cs | 2 +- OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 2 ++ .../CoreModules/InterGrid/OpenGridProtocolModule.cs | 14 +++++++++++++- .../CoreModules/World/Estate/EstateManagementModule.cs | 16 +++++----------- .../Region/CoreModules/World/WorldMap/MapSearchModule.cs | 2 +- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 2 ++ 7 files changed, 25 insertions(+), 15 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs index 8adc599..3c1be0b 100644 --- a/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs +++ b/OpenSim/Region/Communications/Hypergrid/HGGridServices.cs @@ -335,7 +335,7 @@ namespace OpenSim.Region.Communications.Hypergrid // m_log.Debug("ImgID: " + map.MapImageId); map.Agents = 1; map.RegionFlags = 72458694; - map.Access = 13; + map.Access = regInfo.AccessLevel; neighbours.Add(map); } } diff --git a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs index 2760b1e..50605e8 100644 --- a/OpenSim/Region/Communications/Local/LocalBackEndServices.cs +++ b/OpenSim/Region/Communications/Local/LocalBackEndServices.cs @@ -269,7 +269,7 @@ namespace OpenSim.Region.Communications.Local map.MapImageId = regInfo.RegionSettings.TerrainImageID; map.Agents = 1; map.RegionFlags = 72458694; - map.Access = 13; + map.Access = regInfo.AccessLevel; mapBlocks.Add(map); } } diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs index 3153435..4ffb36f 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs @@ -140,6 +140,8 @@ namespace OpenSim.Region.Communications.OGS1 else GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString(); + GridParams["maturity"] = regionInfo.RegionSettings.Maturity.ToString(); + // Package into an XMLRPC Request ArrayList SendParams = new ArrayList(); SendParams.Add(GridParams); diff --git a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs index 5278b74..b14e38b 100644 --- a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs +++ b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs @@ -458,7 +458,19 @@ namespace OpenSim.Region.CoreModules.InterGrid responseMap["region_x"] = OSD.FromInteger(reg.RegionLocX * (uint)Constants.RegionSize); // LLX responseMap["region_y"] = OSD.FromInteger(reg.RegionLocY * (uint)Constants.RegionSize); // LLY responseMap["region_id"] = OSD.FromUUID(reg.originRegionID); - responseMap["sim_access"] = OSD.FromString((reg.RegionSettings.Maturity == 1) ? "Mature" : "PG"); + + if (reg.RegionSettings.Maturity == 1) + { + responseMap["sim_access"] = OSD.FromString("Mature"); + } + else if (reg.RegionSettings.Maturity == 2) + { + responseMap["sim_access"] = OSD.FromString("Adult"); + } + else + { + responseMap["sim_access"] = OSD.FromString("PG"); + } // Generate a dummy agent for the user so we can get back a CAPS path AgentCircuitData agentData = new AgentCircuitData(); diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 3bde967..4cfa194 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -114,8 +114,10 @@ namespace OpenSim.Region.CoreModules.World.Estate if (matureLevel <= 13) m_scene.RegionInfo.RegionSettings.Maturity = 0; - else + else if (matureLevel <= 21) m_scene.RegionInfo.RegionSettings.Maturity = 1; + else + m_scene.RegionInfo.RegionSettings.Maturity = 2; if (restrictPushObject) m_scene.RegionInfo.RegionSettings.RestrictPushing = true; @@ -580,11 +582,7 @@ namespace OpenSim.Region.CoreModules.World.Estate args.redirectGridX = m_scene.RegionInfo.EstateSettings.RedirectGridX; args.redirectGridY = m_scene.RegionInfo.EstateSettings.RedirectGridY; args.regionFlags = GetRegionFlags(); - byte mature = 13; - if (m_scene.RegionInfo.RegionSettings.Maturity == 1) - mature = 21; - args.simAccess = mature; - + args.simAccess = m_scene.RegionInfo.AccessLevel; args.sunHour = (float)m_scene.RegionInfo.RegionSettings.SunPosition; args.terrainLowerLimit = (float)m_scene.RegionInfo.RegionSettings.TerrainLowerLimit; args.terrainRaiseLimit = (float)m_scene.RegionInfo.RegionSettings.TerrainRaiseLimit; @@ -730,12 +728,8 @@ namespace OpenSim.Region.CoreModules.World.Estate args.terrainHeightRange2 = (float)m_scene.RegionInfo.RegionSettings.Elevation2SE; args.terrainStartHeight3 = (float)m_scene.RegionInfo.RegionSettings.Elevation1NE; args.terrainHeightRange3 = (float)m_scene.RegionInfo.RegionSettings.Elevation2NE; - byte mature = 13; - if (m_scene.RegionInfo.RegionSettings.Maturity == 1) - mature = 21; - args.simAccess = mature; + args.simAccess = m_scene.RegionInfo.AccessLevel; args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight; - args.regionFlags = GetRegionFlags(); args.regionName = m_scene.RegionInfo.RegionName; if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs index 832b6cf..f4fe625 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs @@ -126,7 +126,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap { data = new MapBlockData(); data.Agents = 0; - data.Access = 21; // TODO what's this? + data.Access = info.AccessLevel; data.MapImageId = info.RegionSettings.TerrainImageID; data.Name = info.RegionName; data.RegionFlags = 0; // TODO not used? diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index f9feb7f..8102b2f 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -7995,6 +7995,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api reply = "PG"; else if (access == 1) reply = "MATURE"; + else if (access == 2) + reply = "ADULT"; else reply = "UNKNOWN"; break; -- cgit v1.1