aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorRobert Adams2013-11-30 15:28:39 -0800
committerRobert Adams2013-11-30 15:28:39 -0800
commit6cd0d7a62b696d28d488f3cb82838ccf973ccfd7 (patch)
tree6b058a23eccf0eda55666abee9a3bb52c415e0ce /OpenSim/Framework
parentvarregion: add ITerrainChannel.GetHeightAtXYZ() for eventual mesh terrain. (diff)
downloadopensim-SC-6cd0d7a62b696d28d488f3cb82838ccf973ccfd7.zip
opensim-SC-6cd0d7a62b696d28d488f3cb82838ccf973ccfd7.tar.gz
opensim-SC-6cd0d7a62b696d28d488f3cb82838ccf973ccfd7.tar.bz2
opensim-SC-6cd0d7a62b696d28d488f3cb82838ccf973ccfd7.tar.xz
varregion: Add MaxRegionSize constant and enforce in RegionInfo.
Intermediate checkin of changing border cross computation from checking boundry limits to requests to GridService. Not totally functional.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Constants.cs4
-rw-r--r--OpenSim/Framework/RegionInfo.cs11
2 files changed, 13 insertions, 2 deletions
diff --git a/OpenSim/Framework/Constants.cs b/OpenSim/Framework/Constants.cs
index d18b32e..d80808c 100644
--- a/OpenSim/Framework/Constants.cs
+++ b/OpenSim/Framework/Constants.cs
@@ -30,11 +30,13 @@ namespace OpenSim.Framework
30{ 30{
31 public class Constants 31 public class Constants
32 { 32 {
33 // 'RegionSize' captures the legacy region size. 33 // 'RegionSize' is the legacy region size.
34 // DO NOT USE THIS FOR ANY NEW CODE. Use Scene.RegionSize[XYZ] as a region might not 34 // DO NOT USE THIS FOR ANY NEW CODE. Use Scene.RegionSize[XYZ] as a region might not
35 // be the legacy region size. 35 // be the legacy region size.
36 public const uint RegionSize = 256; 36 public const uint RegionSize = 256;
37 public const uint RegionHeight = 4096; 37 public const uint RegionHeight = 4096;
38 // This could be a parameters but, really, a region of greater than this is pretty unmanageable
39 public const uint MaximumRegionSize = 8192;
38 40
39 // Since terrain is stored in 16x16 heights, regions must be a multiple of this number and that is the minimum 41 // Since terrain is stored in 16x16 heights, regions must be a multiple of this number and that is the minimum
40 public const int MinRegionSize = 16; 42 public const int MinRegionSize = 16;
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index cf909cd..63b3d89 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -788,7 +788,16 @@ namespace OpenSim.Framework
788 RegionSizeX = minSize; 788 RegionSizeX = minSize;
789 RegionSizeY = minSize; 789 RegionSizeY = minSize;
790 m_log.ErrorFormat("{0} Regions must be square until viewers are updated. Forcing region {1} size to <{2},{3}>", 790 m_log.ErrorFormat("{0} Regions must be square until viewers are updated. Forcing region {1} size to <{2},{3}>",
791 LogHeader, m_regionName, RegionSizeX, RegionSizeY); 791 LogHeader, m_regionName, RegionSizeX, RegionSizeY);
792 }
793
794 // There is a practical limit to region size.
795 if (RegionSizeX > Constants.MaximumRegionSize || RegionSizeY > Constants.MaximumRegionSize)
796 {
797 RegionSizeX = Util.Clamp<uint>(RegionSizeX, Constants.RegionSize, Constants.MaximumRegionSize);
798 RegionSizeY = Util.Clamp<uint>(RegionSizeY, Constants.RegionSize, Constants.MaximumRegionSize);
799 m_log.ErrorFormat("{0} Region dimensions must be less than {1}. Clamping {2}'s size to <{3},{4}>",
800 LogHeader, Constants.MaximumRegionSize, m_regionName, RegionSizeX, RegionSizeY);
792 } 801 }
793 802
794 m_log.InfoFormat("{0} Region {1} size set to <{2},{3}>", LogHeader, m_regionName, RegionSizeX, RegionSizeY); 803 m_log.InfoFormat("{0} Region {1} size set to <{2},{3}>", LogHeader, m_regionName, RegionSizeX, RegionSizeY);