mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
varregion: serious rework of TerrainChannel:
-- addition of varaible region size in X and Y
-- internal storage of heightmap changed from double[] to short[]
-- helper routines for handling internal structure while keeping existing API
-- to and from XML that adds region size information (for downward compatibility,
output in the legacy XML format if X and Y are 256)
Updated and commented Constants.RegionSize but didn't change the name for compatibility.
This commit is contained in:
@@ -30,9 +30,18 @@ namespace OpenSim.Framework
|
||||
{
|
||||
public class Constants
|
||||
{
|
||||
// 'RegionSize' captures 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;
|
||||
|
||||
// Terrain heightmap is kept as shorts that are the float value times this compression factor
|
||||
public const float TerrainCompression = 100.0f;
|
||||
// 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;
|
||||
public const byte TerrainPatchSize = 16;
|
||||
|
||||
public const string DefaultTexture = "89556747-24cb-43ed-920b-47caed15465f";
|
||||
|
||||
public enum EstateAccessCodex : uint
|
||||
|
||||
@@ -472,7 +472,7 @@ namespace OpenSim.Framework
|
||||
/// The x co-ordinate of this region in map tiles (e.g. 1000).
|
||||
/// Coordinate is scaled as world coordinates divided by the legacy region size
|
||||
/// and is thus is the number of legacy regions.
|
||||
/// This entrypoint exists for downward compatability for external modules.
|
||||
/// DO NOT USE FOR NEW CODE! This entrypoint exists for downward compatability with external modules.
|
||||
/// </summary>
|
||||
public uint RegionLocX
|
||||
{
|
||||
@@ -480,6 +480,18 @@ namespace OpenSim.Framework
|
||||
set { LegacyRegionLocX = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The y co-ordinate of this region in map tiles (e.g. 1000).
|
||||
/// Coordinate is scaled as world coordinates divided by the legacy region size
|
||||
/// and is thus is the number of legacy regions.
|
||||
/// DO NOT USE FOR NEW CODE! This entrypoint exists for downward compatability with external modules.
|
||||
/// </summary>
|
||||
public uint RegionLocY
|
||||
{
|
||||
get { return LegacyRegionLocY; }
|
||||
set { LegacyRegionLocY = value; }
|
||||
}
|
||||
|
||||
public void SetDefaultRegionSize()
|
||||
{
|
||||
RegionWorldLocX = 0;
|
||||
@@ -490,19 +502,6 @@ namespace OpenSim.Framework
|
||||
RegionSizeZ = Constants.RegionHeight;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The y co-ordinate of this region in map tiles (e.g. 1000).
|
||||
/// Coordinate is scaled as world coordinates divided by the legacy region size
|
||||
/// and is thus is the number of legacy regions.
|
||||
/// This entrypoint exists for downward compatability for external modules.
|
||||
/// </summary>
|
||||
public uint RegionLocY
|
||||
{
|
||||
get { return LegacyRegionLocY; }
|
||||
set { LegacyRegionLocY = value; }
|
||||
}
|
||||
|
||||
// A unique region handle is created from the region's world coordinates.
|
||||
// This cannot be changed because some code expects to receive the region handle and then
|
||||
// compute the region coordinates from it.
|
||||
|
||||
Reference in New Issue
Block a user