Patch #9147
Patch #4 of the region settings series. Partial functionality of the new storage system. More patches to follow.0.6.0-stable
parent
476e08286e
commit
e712678689
|
@ -53,17 +53,11 @@ namespace OpenSim.Framework
|
|||
private LLUUID m_estateManager8;
|
||||
private LLUUID m_estateManager9;
|
||||
private string m_estateName;
|
||||
private byte m_maxAgents;
|
||||
private float m_objectBonusFactor;
|
||||
|
||||
private uint m_parentEstateID;
|
||||
private int m_pricePerMeter;
|
||||
private int m_redirectGridX;
|
||||
private int m_redirectGridY;
|
||||
private bool m_regionAllowTerraform;
|
||||
private Simulator.RegionFlags m_regionFlags;
|
||||
private float m_regionWaterHeight;
|
||||
private Simulator.SimAccess m_simAccess;
|
||||
private float m_sunHour;
|
||||
private LLVector3 m_sunPosition;
|
||||
private LLUUID m_terrainBase0;
|
||||
|
@ -80,15 +74,11 @@ namespace OpenSim.Framework
|
|||
private float m_terrainHeightRange2;
|
||||
private float m_terrainHeightRange3;
|
||||
private LLUUID m_terrainImageID;
|
||||
private float m_terrainLowerLimit;
|
||||
private double m_terrainMultiplier;
|
||||
private float m_terrainRaiseLimit;
|
||||
private float m_terrainStartHeight0;
|
||||
private float m_terrainStartHeight1;
|
||||
private float m_terrainStartHeight2;
|
||||
private float m_terrainStartHeight3;
|
||||
private bool m_useFixedSun;
|
||||
private float m_waterHeight;
|
||||
|
||||
public EstateSettings()
|
||||
{
|
||||
|
@ -132,26 +122,6 @@ namespace OpenSim.Framework
|
|||
}
|
||||
}
|
||||
|
||||
public byte maxAgents
|
||||
{
|
||||
get { return m_maxAgents; }
|
||||
set
|
||||
{
|
||||
m_maxAgents = value;
|
||||
configMember.forceSetConfigurationOption("max_agents", m_maxAgents.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public float objectBonusFactor
|
||||
{
|
||||
get { return m_objectBonusFactor; }
|
||||
set
|
||||
{
|
||||
m_objectBonusFactor = value;
|
||||
configMember.forceSetConfigurationOption("object_bonus_factor", m_objectBonusFactor.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public int redirectGridX
|
||||
{
|
||||
get { return m_redirectGridX; }
|
||||
|
@ -172,36 +142,12 @@ namespace OpenSim.Framework
|
|||
}
|
||||
}
|
||||
|
||||
public Simulator.RegionFlags regionFlags
|
||||
{
|
||||
get { return m_regionFlags; }
|
||||
set
|
||||
{
|
||||
//m_regionFlags = (Simulator.RegionFlags)0x400000;
|
||||
m_regionFlags = value;
|
||||
configMember.forceSetConfigurationOption("region_flags", ((uint) m_regionFlags).ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public Simulator.SimAccess simAccess
|
||||
{
|
||||
get { return m_simAccess; }
|
||||
set
|
||||
{
|
||||
m_simAccess = value;
|
||||
configMember.forceSetConfigurationOption("sim_access", ((byte) m_simAccess).ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public float sunHour
|
||||
{
|
||||
get { return m_sunHour; }
|
||||
set
|
||||
{
|
||||
m_sunHour = value;
|
||||
|
||||
if (useFixedSun)
|
||||
configMember.forceSetConfigurationOption("sun_hour", m_sunHour.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -215,36 +161,6 @@ namespace OpenSim.Framework
|
|||
}
|
||||
}
|
||||
|
||||
public float terrainRaiseLimit
|
||||
{
|
||||
get { return m_terrainRaiseLimit; }
|
||||
set
|
||||
{
|
||||
m_terrainRaiseLimit = value;
|
||||
configMember.forceSetConfigurationOption("terrain_raise_limit", m_terrainRaiseLimit.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public float terrainLowerLimit
|
||||
{
|
||||
get { return m_terrainLowerLimit; }
|
||||
set
|
||||
{
|
||||
m_terrainLowerLimit = value;
|
||||
configMember.forceSetConfigurationOption("terrain_lower_limit", m_terrainLowerLimit.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public bool useFixedSun
|
||||
{
|
||||
get { return m_useFixedSun; }
|
||||
set
|
||||
{
|
||||
m_useFixedSun = value;
|
||||
configMember.forceSetConfigurationOption("use_fixed_sun", m_useFixedSun.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public int pricePerMeter
|
||||
{
|
||||
get { return m_pricePerMeter; }
|
||||
|
@ -256,28 +172,6 @@ namespace OpenSim.Framework
|
|||
}
|
||||
|
||||
|
||||
public float regionWaterHeight
|
||||
{
|
||||
get { return m_regionWaterHeight; }
|
||||
set
|
||||
{
|
||||
m_regionWaterHeight = value;
|
||||
configMember.forceSetConfigurationOption("region_water_height", m_regionWaterHeight.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public bool regionAllowTerraform
|
||||
{
|
||||
get { return m_regionAllowTerraform; }
|
||||
set
|
||||
{
|
||||
m_regionAllowTerraform = value;
|
||||
configMember.forceSetConfigurationOption("region_allow_terraform", m_regionAllowTerraform.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Region Information
|
||||
// Low resolution 'base' textures. No longer used.
|
||||
|
||||
|
@ -473,16 +367,6 @@ namespace OpenSim.Framework
|
|||
}
|
||||
}
|
||||
|
||||
public float waterHeight
|
||||
{
|
||||
get { return m_waterHeight; }
|
||||
set
|
||||
{
|
||||
m_waterHeight = value;
|
||||
configMember.forceSetConfigurationOption("water_height", m_waterHeight.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
public LLUUID terrainImageID
|
||||
{
|
||||
get { return m_terrainImageID; }
|
||||
|
@ -760,30 +644,16 @@ namespace OpenSim.Framework
|
|||
configMember.addConfigurationOption("max_agents", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, String.Empty, "40",
|
||||
true);
|
||||
|
||||
configMember.addConfigurationOption("object_bonus_factor", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
|
||||
String.Empty, "1.0", true);
|
||||
configMember.addConfigurationOption("redirect_grid_x", ConfigurationOption.ConfigurationTypes.TYPE_INT32, String.Empty,
|
||||
"0", true);
|
||||
configMember.addConfigurationOption("redirect_grid_y", ConfigurationOption.ConfigurationTypes.TYPE_INT32, String.Empty,
|
||||
"0", true);
|
||||
configMember.addConfigurationOption("region_flags", ConfigurationOption.ConfigurationTypes.TYPE_UINT32, String.Empty,
|
||||
"336723974", true); //Taken from a Linden sim for the moment.
|
||||
configMember.addConfigurationOption("sim_access", ConfigurationOption.ConfigurationTypes.TYPE_BYTE, String.Empty, "21",
|
||||
true);
|
||||
configMember.addConfigurationOption("sun_hour", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "0",
|
||||
true);
|
||||
configMember.addConfigurationOption("terrain_raise_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
|
||||
String.Empty, "4.0", true); //4 is the LL default
|
||||
configMember.addConfigurationOption("terrain_lower_limit", ConfigurationOption.ConfigurationTypes.TYPE_FLOAT,
|
||||
String.Empty, "-4.0", true); //-4.0 is the LL default
|
||||
configMember.addConfigurationOption("use_fixed_sun", ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, String.Empty,
|
||||
"false", true);
|
||||
configMember.addConfigurationOption("price_per_meter", ConfigurationOption.ConfigurationTypes.TYPE_UINT32,
|
||||
String.Empty, "1", true);
|
||||
configMember.addConfigurationOption("region_water_height",
|
||||
ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, String.Empty, "20", true);
|
||||
configMember.addConfigurationOption("region_allow_terraform",
|
||||
ConfigurationOption.ConfigurationTypes.TYPE_BOOLEAN, String.Empty, "true", true);
|
||||
|
||||
configMember.addConfigurationOption("terrain_base_0", ConfigurationOption.ConfigurationTypes.TYPE_LLUUID, String.Empty,
|
||||
"b8d3965a-ad78-bf43-699b-bff8eca6c975", true);
|
||||
|
@ -868,46 +738,18 @@ namespace OpenSim.Framework
|
|||
case "parent_estate_id":
|
||||
m_parentEstateID = (uint) configuration_result;
|
||||
break;
|
||||
case "max_agents":
|
||||
m_maxAgents = (byte) configuration_result;
|
||||
break;
|
||||
|
||||
case "object_bonus_factor":
|
||||
m_objectBonusFactor = (float) configuration_result;
|
||||
break;
|
||||
case "redirect_grid_x":
|
||||
m_redirectGridX = (int) configuration_result;
|
||||
break;
|
||||
case "redirect_grid_y":
|
||||
m_redirectGridY = (int) configuration_result;
|
||||
break;
|
||||
case "region_flags":
|
||||
m_regionFlags = (Simulator.RegionFlags) ((uint) configuration_result);
|
||||
break;
|
||||
case "sim_access":
|
||||
m_simAccess = (Simulator.SimAccess) ((byte) configuration_result);
|
||||
break;
|
||||
case "sun_hour":
|
||||
m_sunHour = (float) configuration_result;
|
||||
break;
|
||||
case "terrain_raise_limit":
|
||||
m_terrainRaiseLimit = (float) configuration_result;
|
||||
break;
|
||||
case "terrain_lower_limit":
|
||||
m_terrainLowerLimit = (float) configuration_result;
|
||||
break;
|
||||
case "use_fixed_sun":
|
||||
m_useFixedSun = (bool) configuration_result;
|
||||
break;
|
||||
case "price_per_meter":
|
||||
m_pricePerMeter = Convert.ToInt32(configuration_result);
|
||||
break;
|
||||
case "region_water_height":
|
||||
m_regionWaterHeight = (float) configuration_result;
|
||||
break;
|
||||
case "region_allow_terraform":
|
||||
m_regionAllowTerraform = (bool) configuration_result;
|
||||
break;
|
||||
|
||||
case "terrain_base_0":
|
||||
m_terrainBase0 = (LLUUID) configuration_result;
|
||||
|
@ -970,10 +812,6 @@ namespace OpenSim.Framework
|
|||
case "terrain_multiplier":
|
||||
m_terrainMultiplier = Convert.ToDouble(configuration_result);
|
||||
break;
|
||||
case "water_height":
|
||||
double tmpVal = (double) configuration_result;
|
||||
m_waterHeight = (float) tmpVal;
|
||||
break;
|
||||
case "terrain_image_id":
|
||||
m_terrainImageID = (LLUUID) configuration_result;
|
||||
break;
|
||||
|
|
|
@ -458,7 +458,7 @@ namespace OpenSim.Framework
|
|||
set { m_TerrainRaiseLimit = value; }
|
||||
}
|
||||
|
||||
private double m_TerrainLowerLimit = 100;
|
||||
private double m_TerrainLowerLimit = -100;
|
||||
|
||||
public double TerrainLowerLimit
|
||||
{
|
||||
|
|
|
@ -136,7 +136,7 @@ namespace OpenSim.Region.ClientStack
|
|||
|
||||
scene.PhysicsScene = GetPhysicsScene();
|
||||
scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised());
|
||||
scene.PhysicsScene.SetWaterLevel(regionInfo.EstateSettings.waterHeight);
|
||||
scene.PhysicsScene.SetWaterLevel((float)regionInfo.RegionSettings.WaterHeight);
|
||||
|
||||
//Master Avatar Setup
|
||||
UserProfileData masterAvatar;
|
||||
|
|
|
@ -207,7 +207,7 @@ namespace OpenSim.Region.Communications.Local
|
|||
map.Name = regInfo.RegionName;
|
||||
map.X = (ushort) regInfo.RegionLocX;
|
||||
map.Y = (ushort) regInfo.RegionLocY;
|
||||
map.WaterHeight = (byte) regInfo.EstateSettings.waterHeight;
|
||||
map.WaterHeight = (byte) regInfo.RegionSettings.WaterHeight;
|
||||
map.MapImageId = regInfo.EstateSettings.terrainImageID;
|
||||
map.Agents = 1;
|
||||
map.RegionFlags = 72458694;
|
||||
|
|
|
@ -258,11 +258,11 @@ namespace OpenSim.Region.DataSnapshot
|
|||
// "PG" - Mormontown
|
||||
// "Mature" - Sodom and Gomorrah
|
||||
// (Depreciated) "Patriotic Nigra Testing Sandbox" - Abandon Hope All Ye Who Enter Here
|
||||
if ((scene.RegionInfo.EstateSettings.simAccess & Simulator.SimAccess.Mature) == Simulator.SimAccess.Mature)
|
||||
if (scene.RegionInfo.RegionSettings.Maturity == 1)
|
||||
{
|
||||
return "Mature";
|
||||
}
|
||||
else if ((scene.RegionInfo.EstateSettings.simAccess & Simulator.SimAccess.PG) == Simulator.SimAccess.PG)
|
||||
else if (scene.RegionInfo.RegionSettings.Maturity == 0)
|
||||
{
|
||||
return "PG";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
* Copyright (c) Contributors, http://opensimulator.org/
|
||||
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of the OpenSim Project nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using OpenSim.Framework;
|
||||
using libsecondlife;
|
||||
|
||||
namespace OpenSim.Region.Environment.Interfaces
|
||||
{
|
||||
public interface IEstateModule : IRegionModule
|
||||
{
|
||||
uint GetRegionFlags();
|
||||
}
|
||||
}
|
|
@ -37,7 +37,7 @@ using OpenSim.Region.Environment.Scenes;
|
|||
|
||||
namespace OpenSim.Region.Environment.Modules.World.Estate
|
||||
{
|
||||
public class EstateManagementModule : IRegionModule
|
||||
public class EstateManagementModule : IEstateModule
|
||||
{
|
||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||
|
||||
|
@ -57,50 +57,46 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
private void estateSetRegionInfoHandler(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor,
|
||||
int matureLevel, bool restrictPushObject, bool allowParcelChanges)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = Simulator.RegionFlags.None;
|
||||
|
||||
if (blockTerraform)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.BlockTerraform;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.BlockTerraform = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.BlockTerraform = false;
|
||||
|
||||
if (noFly)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.NoFly;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.BlockFly = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.BlockFly = false;
|
||||
|
||||
if (allowDamage)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.AllowDamage;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.AllowDamage = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.AllowDamage = false;
|
||||
|
||||
if (blockLandResell)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.BlockLandResell;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.AllowLandResell = false;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.AllowLandResell = true;
|
||||
|
||||
m_scene.RegionInfo.EstateSettings.maxAgents = (byte) maxAgents;
|
||||
m_scene.RegionInfo.RegionSettings.AgentLimit = (byte) maxAgents;
|
||||
|
||||
m_scene.RegionInfo.EstateSettings.objectBonusFactor = objectBonusFactor;
|
||||
|
||||
m_scene.RegionInfo.EstateSettings.simAccess = (Simulator.SimAccess) matureLevel;
|
||||
m_scene.RegionInfo.RegionSettings.ObjectBonus = objectBonusFactor;
|
||||
|
||||
if(matureLevel <= 13)
|
||||
m_scene.RegionInfo.RegionSettings.Maturity = 0;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.Maturity = 1;
|
||||
|
||||
if (restrictPushObject)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.RestrictPushObject;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.RestrictPushing = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.RestrictPushing = false;
|
||||
|
||||
if (allowParcelChanges)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags = m_scene.RegionInfo.EstateSettings.regionFlags |
|
||||
Simulator.RegionFlags.AllowParcelChanges;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.AllowLandJoinDivide = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.AllowLandJoinDivide = false;
|
||||
|
||||
m_scene.RegionInfo.RegionSettings.Save();
|
||||
|
||||
sendRegionInfoPacketToAll();
|
||||
}
|
||||
|
@ -175,19 +171,20 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
bool UseFixedSun, float SunHour)
|
||||
{
|
||||
// Water Height
|
||||
m_scene.RegionInfo.EstateSettings.waterHeight = WaterHeight;
|
||||
m_scene.RegionInfo.RegionSettings.WaterHeight = WaterHeight;
|
||||
|
||||
// Terraforming limits
|
||||
m_scene.RegionInfo.EstateSettings.terrainRaiseLimit = TerrainRaiseLimit;
|
||||
m_scene.RegionInfo.EstateSettings.terrainLowerLimit = TerrainLowerLimit;
|
||||
m_scene.RegionInfo.RegionSettings.TerrainRaiseLimit = TerrainRaiseLimit;
|
||||
m_scene.RegionInfo.RegionSettings.TerrainLowerLimit = TerrainLowerLimit;
|
||||
|
||||
// Time of day / fixed sun
|
||||
m_scene.RegionInfo.EstateSettings.useFixedSun = UseFixedSun;
|
||||
m_scene.RegionInfo.RegionSettings.FixedSun = UseFixedSun;
|
||||
m_scene.RegionInfo.EstateSettings.sunHour = SunHour;
|
||||
m_scene.EventManager.TriggerEstateToolsTimeUpdate(m_scene.RegionInfo.RegionHandle, UseFixedSun, UseFixedSun, SunHour);
|
||||
//m_log.Debug("[ESTATE]: UFS: " + UseFixedSun.ToString());
|
||||
//m_log.Debug("[ESTATE]: SunHour: " + SunHour.ToString());
|
||||
sendRegionInfoPacketToAll();
|
||||
m_scene.RegionInfo.RegionSettings.Save();
|
||||
}
|
||||
|
||||
private void handleEstateRestartSimRequest(IClientAPI remoteClient, int timeInSeconds)
|
||||
|
@ -339,23 +336,22 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
private void handleEstateDebugRegionRequest(IClientAPI remote_client, LLUUID invoice, LLUUID senderID, bool scripted, bool collisionEvents, bool physics)
|
||||
{
|
||||
if (physics)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags |= Simulator.RegionFlags.SkipPhysics;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.DisablePhysics = true;
|
||||
else
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags &= ~Simulator.RegionFlags.SkipPhysics;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.DisablePhysics = false;
|
||||
|
||||
if (scripted)
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags |= Simulator.RegionFlags.SkipScripts;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.DisableScripts = true;
|
||||
else
|
||||
{
|
||||
m_scene.RegionInfo.EstateSettings.regionFlags &= ~Simulator.RegionFlags.SkipScripts;
|
||||
}
|
||||
m_scene.RegionInfo.RegionSettings.DisableScripts = false;
|
||||
|
||||
if (collisionEvents)
|
||||
m_scene.RegionInfo.RegionSettings.DisableCollisions = true;
|
||||
else
|
||||
m_scene.RegionInfo.RegionSettings.DisableCollisions = false;
|
||||
|
||||
|
||||
m_scene.RegionInfo.RegionSettings.Save();
|
||||
|
||||
m_scene.SetSceneCoreDebug(scripted, collisionEvents, physics);
|
||||
}
|
||||
|
@ -378,24 +374,27 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
RegionInfoForEstateMenuArgs args = new RegionInfoForEstateMenuArgs();
|
||||
args.billableFactor = m_scene.RegionInfo.EstateSettings.billableFactor;
|
||||
args.estateID = m_scene.RegionInfo.EstateSettings.estateID;
|
||||
args.maxAgents = m_scene.RegionInfo.EstateSettings.maxAgents;
|
||||
args.objectBonusFactor = m_scene.RegionInfo.EstateSettings.objectBonusFactor;
|
||||
args.maxAgents = (byte)m_scene.RegionInfo.RegionSettings.AgentLimit;
|
||||
args.objectBonusFactor = (float)m_scene.RegionInfo.RegionSettings.ObjectBonus;
|
||||
args.parentEstateID = m_scene.RegionInfo.EstateSettings.parentEstateID;
|
||||
args.pricePerMeter = m_scene.RegionInfo.EstateSettings.pricePerMeter;
|
||||
args.redirectGridX = m_scene.RegionInfo.EstateSettings.redirectGridX;
|
||||
args.redirectGridY = m_scene.RegionInfo.EstateSettings.redirectGridY;
|
||||
args.regionFlags = (uint)(m_scene.RegionInfo.EstateSettings.regionFlags);
|
||||
args.simAccess = (byte)m_scene.RegionInfo.EstateSettings.simAccess;
|
||||
args.regionFlags = GetRegionFlags();
|
||||
byte mature = 13;
|
||||
if(m_scene.RegionInfo.RegionSettings.Maturity == 1)
|
||||
mature = 21;
|
||||
args.simAccess = mature;
|
||||
|
||||
if (m_scene.RegionInfo.EstateSettings.useFixedSun)
|
||||
if (m_scene.RegionInfo.RegionSettings.FixedSun)
|
||||
args.sunHour = m_scene.RegionInfo.EstateSettings.sunHour;
|
||||
else
|
||||
args.sunHour = m_scene.EventManager.GetSunLindenHour();
|
||||
|
||||
args.terrainLowerLimit = m_scene.RegionInfo.EstateSettings.terrainLowerLimit;
|
||||
args.terrainRaiseLimit = m_scene.RegionInfo.EstateSettings.terrainRaiseLimit;
|
||||
args.useEstateSun = !m_scene.RegionInfo.EstateSettings.useFixedSun;
|
||||
args.waterHeight = m_scene.RegionInfo.EstateSettings.waterHeight;
|
||||
args.terrainLowerLimit = (float)m_scene.RegionInfo.RegionSettings.TerrainLowerLimit;
|
||||
args.terrainRaiseLimit = (float)m_scene.RegionInfo.RegionSettings.TerrainRaiseLimit;
|
||||
args.useEstateSun = !m_scene.RegionInfo.RegionSettings.FixedSun;
|
||||
args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight;
|
||||
args.simName = m_scene.RegionInfo.RegionName;
|
||||
|
||||
|
||||
|
@ -541,10 +540,13 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
args.terrainStartHeight1 = m_scene.RegionInfo.EstateSettings.terrainStartHeight1;
|
||||
args.terrainStartHeight2 = m_scene.RegionInfo.EstateSettings.terrainStartHeight2;
|
||||
args.terrainStartHeight3 = m_scene.RegionInfo.EstateSettings.terrainStartHeight3;
|
||||
args.simAccess = (byte)m_scene.RegionInfo.EstateSettings.simAccess;
|
||||
args.waterHeight = m_scene.RegionInfo.EstateSettings.waterHeight;
|
||||
byte mature = 13;
|
||||
if(m_scene.RegionInfo.RegionSettings.Maturity == 1)
|
||||
mature = 21;
|
||||
args.simAccess = mature;
|
||||
args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight;
|
||||
|
||||
args.regionFlags = (uint)m_scene.RegionInfo.EstateSettings.regionFlags;
|
||||
args.regionFlags = GetRegionFlags();
|
||||
args.regionName = m_scene.RegionInfo.RegionName;
|
||||
args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
|
||||
args.terrainBase0 = m_scene.RegionInfo.EstateSettings.terrainBase0;
|
||||
|
@ -573,6 +575,7 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
public void Initialise(Scene scene, IConfigSource source)
|
||||
{
|
||||
m_scene = scene;
|
||||
m_scene.RegisterModuleInterface<IEstateModule>(this);
|
||||
m_scene.EventManager.OnNewClient += EventManager_OnNewClient;
|
||||
m_scene.EventManager.OnRequestChangeWaterHeight += changeWaterHeight;
|
||||
}
|
||||
|
@ -602,8 +605,8 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
|
||||
public void changeWaterHeight(float height)
|
||||
{
|
||||
setRegionTerrainSettings(height, m_scene.RegionInfo.EstateSettings.terrainRaiseLimit, m_scene.RegionInfo.EstateSettings.terrainLowerLimit,
|
||||
m_scene.RegionInfo.EstateSettings.useFixedSun, m_scene.RegionInfo.EstateSettings.sunHour);
|
||||
setRegionTerrainSettings(height, (float)m_scene.RegionInfo.RegionSettings.TerrainRaiseLimit, (float)m_scene.RegionInfo.RegionSettings.TerrainLowerLimit,
|
||||
m_scene.RegionInfo.RegionSettings.FixedSun, m_scene.RegionInfo.EstateSettings.sunHour);
|
||||
sendRegionInfoPacketToAll();
|
||||
}
|
||||
|
||||
|
@ -631,5 +634,12 @@ namespace OpenSim.Region.Environment.Modules.World.Estate
|
|||
client.OnLandStatRequest += HandleLandStatRequest;
|
||||
sendRegionHandshake(client);
|
||||
}
|
||||
|
||||
public uint GetRegionFlags()
|
||||
{
|
||||
Simulator.RegionFlags flags = Simulator.RegionFlags.None;
|
||||
//m_scene.RegionInfo.RegionSettings.
|
||||
return (uint)flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,7 +140,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
|||
//Normal Calculations
|
||||
return Convert.ToInt32(
|
||||
Math.Round((Convert.ToDecimal(landData.area) / Convert.ToDecimal(65536)) * m_scene.objectCapacity *
|
||||
Convert.ToDecimal(m_scene.RegionInfo.EstateSettings.objectBonusFactor))); ;
|
||||
Convert.ToDecimal(m_scene.RegionInfo.RegionSettings.ObjectBonus))); ;
|
||||
}
|
||||
}
|
||||
public int getSimulatorMaxPrimCount(ILandObject thisObject)
|
||||
|
@ -161,7 +161,15 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
|||
|
||||
public void sendLandProperties(int sequence_id, bool snap_selection, int request_result, IClientAPI remote_client)
|
||||
{
|
||||
remote_client.SendLandProperties(remote_client, sequence_id, snap_selection, request_result, landData, m_scene.RegionInfo.EstateSettings.objectBonusFactor, getParcelMaxPrimCount(this), getSimulatorMaxPrimCount(this), (uint)m_scene.RegionInfo.EstateSettings.regionFlags);
|
||||
IEstateModule estateModule = m_scene.RequestModuleInterface<IEstateModule>();
|
||||
uint regionFlags = 67108864;
|
||||
if(estateModule != null)
|
||||
regionFlags = estateModule.GetRegionFlags();
|
||||
remote_client.SendLandProperties(remote_client, sequence_id,
|
||||
snap_selection, request_result, landData,
|
||||
(float)m_scene.RegionInfo.RegionSettings.ObjectBonus,
|
||||
getParcelMaxPrimCount(this),
|
||||
getSimulatorMaxPrimCount(this), regionFlags);
|
||||
}
|
||||
|
||||
public void updateLandProperties(LandUpdateArgs args, IClientAPI remote_client)
|
||||
|
|
|
@ -541,8 +541,8 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain
|
|||
private bool LimitChannelChanges(int xStart, int yStart)
|
||||
{
|
||||
bool changesLimited = false;
|
||||
double minDelta = m_scene.RegionInfo.EstateSettings.terrainLowerLimit;
|
||||
double maxDelta = m_scene.RegionInfo.EstateSettings.terrainRaiseLimit;
|
||||
double minDelta = m_scene.RegionInfo.RegionSettings.TerrainLowerLimit;
|
||||
double maxDelta = m_scene.RegionInfo.RegionSettings.TerrainRaiseLimit;
|
||||
|
||||
// loop through the height map for this patch and compare it against
|
||||
// the revert map
|
||||
|
|
|
@ -297,24 +297,11 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
m_httpListener = httpServer;
|
||||
m_dumpAssetsToFile = dumpAssetsToFile;
|
||||
|
||||
if ((RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipScripts) == Simulator.RegionFlags.SkipScripts)
|
||||
{
|
||||
m_scripts_enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_scripts_enabled = true;
|
||||
}
|
||||
if ((RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipPhysics) == Simulator.RegionFlags.SkipPhysics)
|
||||
{
|
||||
m_physics_enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_physics_enabled = true;
|
||||
}
|
||||
m_scripts_enabled = !RegionInfo.RegionSettings.DisableScripts;
|
||||
|
||||
m_statsReporter = new SimStatsReporter(regInfo);
|
||||
m_physics_enabled = !RegionInfo.RegionSettings.DisablePhysics;
|
||||
|
||||
m_statsReporter = new SimStatsReporter(this);
|
||||
m_statsReporter.OnSendStatsResult += SendSimStatsPackets;
|
||||
|
||||
m_statsReporter.SetObjectCapacity(objectCapacity);
|
||||
|
@ -1076,7 +1063,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
//float tmpval = (float)hm[x, y];
|
||||
float heightvalue = (float)hm[x, y];
|
||||
|
||||
if ((float)heightvalue > m_regInfo.EstateSettings.waterHeight)
|
||||
if (heightvalue > (float)m_regInfo.RegionSettings.WaterHeight)
|
||||
{
|
||||
// scale height value
|
||||
heightvalue = low + mid * (heightvalue - low) / mid;
|
||||
|
@ -1110,7 +1097,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
else
|
||||
{
|
||||
// Y flip the cordinates
|
||||
heightvalue = m_regInfo.EstateSettings.waterHeight - heightvalue;
|
||||
heightvalue = (float)m_regInfo.RegionSettings.WaterHeight - heightvalue;
|
||||
if (heightvalue > 19)
|
||||
heightvalue = 19;
|
||||
if (heightvalue < 0)
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
public void CreateScriptInstances(int startParam, bool postOnRez)
|
||||
{
|
||||
// Don't start scripts if they're turned off in the region!
|
||||
if (!((m_scene.RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipScripts) == Simulator.RegionFlags.SkipScripts))
|
||||
if (!m_scene.RegionInfo.RegionSettings.DisableScripts)
|
||||
{
|
||||
foreach (SceneObjectPart part in m_parts.Values)
|
||||
{
|
||||
|
|
|
@ -173,7 +173,7 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
|
||||
AddFlag(LLObject.ObjectFlags.Scripted);
|
||||
|
||||
if (!((m_parentGroup.Scene.RegionInfo.EstateSettings.regionFlags & Simulator.RegionFlags.SkipScripts) == Simulator.RegionFlags.SkipScripts))
|
||||
if (!m_parentGroup.Scene.RegionInfo.RegionSettings.DisableScripts)
|
||||
{
|
||||
AssetCache cache = m_parentGroup.Scene.AssetCache;
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ using System;
|
|||
using System.Timers;
|
||||
using libsecondlife.Packets;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Environment.Interfaces;
|
||||
|
||||
namespace OpenSim.Region.Environment.Scenes
|
||||
{
|
||||
|
@ -104,16 +105,19 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
SimStatsPacket statpack = (SimStatsPacket)PacketPool.Instance.GetPacket(PacketType.SimStats);
|
||||
|
||||
|
||||
private Scene m_scene;
|
||||
|
||||
private RegionInfo ReportingRegion;
|
||||
|
||||
private Timer m_report = new Timer();
|
||||
|
||||
|
||||
public SimStatsReporter(RegionInfo regionData)
|
||||
public SimStatsReporter(Scene scene)
|
||||
{
|
||||
|
||||
statsUpdateFactor = (float)(statsUpdatesEveryMS / 1000);
|
||||
ReportingRegion = regionData;
|
||||
m_scene = scene;
|
||||
ReportingRegion = scene.RegionInfo;
|
||||
for (int i = 0; i<21;i++)
|
||||
{
|
||||
sb[i] = new SimStatsPacket.StatBlock();
|
||||
|
@ -145,7 +149,8 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
statpack.Region.RegionY = ReportingRegion.RegionLocY;
|
||||
try
|
||||
{
|
||||
statpack.Region.RegionFlags = (uint) ReportingRegion.EstateSettings.regionFlags;
|
||||
IEstateModule estateModule = m_scene.RequestModuleInterface<IEstateModule>();
|
||||
statpack.Region.RegionFlags = estateModule.GetRegionFlags();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
|
|
@ -2822,7 +2822,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public double llWater(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
return World.RegionInfo.EstateSettings.waterHeight;
|
||||
return World.RegionInfo.RegionSettings.WaterHeight;
|
||||
}
|
||||
|
||||
public void llPassTouches(int pass)
|
||||
|
@ -6456,10 +6456,10 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
case 7: // DATA_SIM_RATING
|
||||
if (info == null)
|
||||
return LLUUID.Zero.ToString();
|
||||
int access = (int)info.EstateSettings.simAccess;
|
||||
if (access == 21)
|
||||
reply = "MATURE";
|
||||
else if (access == 13)
|
||||
int access = info.RegionSettings.Maturity;
|
||||
if (access == 0)
|
||||
reply = "PG";
|
||||
else if (access == 1)
|
||||
reply = "MATURE";
|
||||
else
|
||||
reply = "UNKNOWN";
|
||||
|
@ -6829,7 +6829,10 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public LSL_Types.LSLInteger llGetRegionFlags()
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
return (int)World.RegionInfo.EstateSettings.regionFlags;
|
||||
IEstateModule estate = World.RequestModuleInterface<IEstateModule>();
|
||||
if(estate == null)
|
||||
return 67108864;
|
||||
return estate.GetRegionFlags();
|
||||
}
|
||||
|
||||
public string llXorBase64StringsCorrect(string str1, string str2)
|
||||
|
@ -7006,7 +7009,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
// Which probably will be irrelevent in OpenSim....
|
||||
LandData land = World.GetLandData((float)pos.x, (float)pos.y);
|
||||
|
||||
float bonusfactor = World.RegionInfo.EstateSettings.objectBonusFactor;
|
||||
float bonusfactor = (float)World.RegionInfo.RegionSettings.ObjectBonus;
|
||||
|
||||
if (land == null)
|
||||
{
|
||||
|
|
|
@ -2686,7 +2686,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
public double llWater(LSL_Types.Vector3 offset)
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
return World.RegionInfo.EstateSettings.waterHeight;
|
||||
return World.RegionInfo.RegionSettings.WaterHeight;
|
||||
}
|
||||
|
||||
public void llPassTouches(int pass)
|
||||
|
@ -6235,10 +6235,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
case 7: // DATA_SIM_RATING
|
||||
if (info == null)
|
||||
return LLUUID.Zero.ToString();
|
||||
int access = (int)info.EstateSettings.simAccess;
|
||||
if (access == 21)
|
||||
reply = "MATURE";
|
||||
else if (access == 13)
|
||||
int access = info.RegionSettings.Maturity;
|
||||
if (access == 0)
|
||||
reply = "PG";
|
||||
else if (access == 1)
|
||||
reply = "MATURE";
|
||||
else
|
||||
reply = "UNKNOWN";
|
||||
|
@ -6609,7 +6609,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
public LSL_Types.LSLInteger llGetRegionFlags()
|
||||
{
|
||||
m_host.AddScriptLPS(1);
|
||||
return (int)World.RegionInfo.EstateSettings.regionFlags;
|
||||
IEstateModule estate = World.RequestModuleInterface<IEstateModule>();
|
||||
if(estate == null)
|
||||
return 67108864;
|
||||
return (int)estate.GetRegionFlags();
|
||||
}
|
||||
|
||||
public string llXorBase64StringsCorrect(string str1, string str2)
|
||||
|
@ -6786,7 +6789,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
// Which probably will be irrelevent in OpenSim....
|
||||
LandData land = World.GetLandData((float)pos.x, (float)pos.y);
|
||||
|
||||
float bonusfactor = World.RegionInfo.EstateSettings.objectBonusFactor;
|
||||
float bonusfactor = (float)World.RegionInfo.RegionSettings.ObjectBonus;
|
||||
|
||||
if (land == null)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue