Patch #4 of the region settings series. Partial functionality of the new
storage system. More patches to follow.
0.6.0-stable
Melanie Thielker 2008-07-14 01:27:47 +00:00
parent 476e08286e
commit e712678689
15 changed files with 163 additions and 271 deletions

View File

@ -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;

View File

@ -458,7 +458,7 @@ namespace OpenSim.Framework
set { m_TerrainRaiseLimit = value; }
}
private double m_TerrainLowerLimit = 100;
private double m_TerrainLowerLimit = -100;
public double TerrainLowerLimit
{

View File

@ -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;

View File

@ -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;

View File

@ -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";
}

View File

@ -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();
}
}

View File

@ -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;
}
}
}

View File

@ -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)
@ -855,4 +863,4 @@ namespace OpenSim.Region.Environment.Modules.World.Land
#endregion
}
}
}

View File

@ -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

View File

@ -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)

View File

@ -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)
{

View File

@ -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;

View File

@ -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)
{

View File

@ -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)
{

View File

@ -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)
{