mirror of
https://github.com/opensim/opensim.git
synced 2026-08-07 01:35:46 +08:00
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.
This commit is contained in:
@@ -30,11 +30,13 @@ namespace OpenSim.Framework
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
// 'RegionSize' captures the legacy region size.
|
||||
// 'RegionSize' is the legacy region size.
|
||||
// DO NOT USE THIS FOR ANY NEW CODE. Use Scene.RegionSize[XYZ] as a region might not
|
||||
// be the legacy region size.
|
||||
public const uint RegionSize = 256;
|
||||
public const uint RegionHeight = 4096;
|
||||
// This could be a parameters but, really, a region of greater than this is pretty unmanageable
|
||||
public const uint MaximumRegionSize = 8192;
|
||||
|
||||
// Since terrain is stored in 16x16 heights, regions must be a multiple of this number and that is the minimum
|
||||
public const int MinRegionSize = 16;
|
||||
|
||||
@@ -788,7 +788,16 @@ namespace OpenSim.Framework
|
||||
RegionSizeX = minSize;
|
||||
RegionSizeY = minSize;
|
||||
m_log.ErrorFormat("{0} Regions must be square until viewers are updated. Forcing region {1} size to <{2},{3}>",
|
||||
LogHeader, m_regionName, RegionSizeX, RegionSizeY);
|
||||
LogHeader, m_regionName, RegionSizeX, RegionSizeY);
|
||||
}
|
||||
|
||||
// There is a practical limit to region size.
|
||||
if (RegionSizeX > Constants.MaximumRegionSize || RegionSizeY > Constants.MaximumRegionSize)
|
||||
{
|
||||
RegionSizeX = Util.Clamp<uint>(RegionSizeX, Constants.RegionSize, Constants.MaximumRegionSize);
|
||||
RegionSizeY = Util.Clamp<uint>(RegionSizeY, Constants.RegionSize, Constants.MaximumRegionSize);
|
||||
m_log.ErrorFormat("{0} Region dimensions must be less than {1}. Clamping {2}'s size to <{3},{4}>",
|
||||
LogHeader, Constants.MaximumRegionSize, m_regionName, RegionSizeX, RegionSizeY);
|
||||
}
|
||||
|
||||
m_log.InfoFormat("{0} Region {1} size set to <{2},{3}>", LogHeader, m_regionName, RegionSizeX, RegionSizeY);
|
||||
|
||||
Reference in New Issue
Block a user