diff options
author | Robert Adams | 2013-11-08 20:53:37 -0800 |
---|---|---|
committer | Robert Adams | 2013-11-08 20:53:37 -0800 |
commit | beeec1c46726a266edf5c8260f9cf4e4e6f91c8a (patch) | |
tree | ac749f4db4d4ee640bf9091b9684d2a36eedb284 /OpenSim/Region/ScriptEngine/Shared | |
parent | varregion: Massive work to LandManagementModule and LandObject to (diff) | |
download | opensim-SC-beeec1c46726a266edf5c8260f9cf4e4e6f91c8a.zip opensim-SC-beeec1c46726a266edf5c8260f9cf4e4e6f91c8a.tar.gz opensim-SC-beeec1c46726a266edf5c8260f9cf4e4e6f91c8a.tar.bz2 opensim-SC-beeec1c46726a266edf5c8260f9cf4e4e6f91c8a.tar.xz |
varregion: elimination of Constants.RegionSize from all over OpenSimulator.
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
3 files changed, 11 insertions, 10 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 44a0165..f46bdf3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2107,7 +2107,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2107 | // | 2107 | // |
2108 | // This workaround is to prevent silent failure of this function. | 2108 | // This workaround is to prevent silent failure of this function. |
2109 | // According to the specification on the SL Wiki, providing a position outside of the | 2109 | // According to the specification on the SL Wiki, providing a position outside of the |
2110 | if (pos.x < 0 || pos.x > Constants.RegionSize || pos.y < 0 || pos.y > Constants.RegionSize) | 2110 | if (pos.x < 0 || pos.x > World.RegionInfo.RegionSizeX || pos.y < 0 || pos.y > World.RegionInfo.RegionSizeY) |
2111 | { | 2111 | { |
2112 | return 0; | 2112 | return 0; |
2113 | } | 2113 | } |
@@ -2117,9 +2117,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2117 | m_host.ParentGroup.IsAttachment || // return FALSE if attachment | 2117 | m_host.ParentGroup.IsAttachment || // return FALSE if attachment |
2118 | ( | 2118 | ( |
2119 | pos.x < -10.0 || // return FALSE if more than 10 meters into a west-adjacent region. | 2119 | pos.x < -10.0 || // return FALSE if more than 10 meters into a west-adjacent region. |
2120 | pos.x > (Constants.RegionSize + 10) || // return FALSE if more than 10 meters into a east-adjacent region. | 2120 | pos.x > (World.RegionInfo.RegionSizeX + 10) || // return FALSE if more than 10 meters into a east-adjacent region. |
2121 | pos.y < -10.0 || // return FALSE if more than 10 meters into a south-adjacent region. | 2121 | pos.y < -10.0 || // return FALSE if more than 10 meters into a south-adjacent region. |
2122 | pos.y > (Constants.RegionSize + 10) || // return FALSE if more than 10 meters into a north-adjacent region. | 2122 | pos.y > (World.RegionInfo.RegionSizeY + 10) || // return FALSE if more than 10 meters into a north-adjacent region. |
2123 | pos.z > Constants.RegionHeight // return FALSE if altitude than 4096m | 2123 | pos.z > Constants.RegionHeight // return FALSE if altitude than 4096m |
2124 | ) | 2124 | ) |
2125 | ) | 2125 | ) |
@@ -5625,7 +5625,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5625 | LSL_Float mag; | 5625 | LSL_Float mag; |
5626 | if (dir.x > 0) | 5626 | if (dir.x > 0) |
5627 | { | 5627 | { |
5628 | mag = (Constants.RegionSize - pos.x) / dir.x; | 5628 | mag = (World.RegionInfo.RegionSizeX - pos.x) / dir.x; |
5629 | } | 5629 | } |
5630 | else | 5630 | else |
5631 | { | 5631 | { |
@@ -5636,7 +5636,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5636 | 5636 | ||
5637 | edge.y = pos.y + (dir.y * mag); | 5637 | edge.y = pos.y + (dir.y * mag); |
5638 | 5638 | ||
5639 | if (edge.y > Constants.RegionSize || edge.y < 0) | 5639 | if (edge.y > World.RegionInfo.RegionSizeY || edge.y < 0) |
5640 | { | 5640 | { |
5641 | // Y goes out of bounds first | 5641 | // Y goes out of bounds first |
5642 | edge.y = dir.y / Math.Abs(dir.y); | 5642 | edge.y = dir.y / Math.Abs(dir.y); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index f4d5562..4fb0856 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -450,7 +450,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
450 | { | 450 | { |
451 | m_host.AddScriptLPS(1); | 451 | m_host.AddScriptLPS(1); |
452 | 452 | ||
453 | if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0) | 453 | if (x > (World.RegionInfo.RegionSizeX - 1) || x < 0 || y > (World.RegionInfo.RegionSizeY - 1) || y < 0) |
454 | OSSLError("osSetTerrainHeight: Coordinate out of bounds"); | 454 | OSSLError("osSetTerrainHeight: Coordinate out of bounds"); |
455 | 455 | ||
456 | if (World.Permissions.CanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0))) | 456 | if (World.Permissions.CanTerraformLand(m_host.OwnerID, new Vector3(x, y, 0))) |
@@ -480,7 +480,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
480 | private LSL_Float GetTerrainHeight(int x, int y) | 480 | private LSL_Float GetTerrainHeight(int x, int y) |
481 | { | 481 | { |
482 | m_host.AddScriptLPS(1); | 482 | m_host.AddScriptLPS(1); |
483 | if (x > ((int)Constants.RegionSize - 1) || x < 0 || y > ((int)Constants.RegionSize - 1) || y < 0) | 483 | if (x > (World.RegionInfo.RegionSizeX - 1) || x < 0 || y > (World.RegionInfo.RegionSizeY - 1) || y < 0) |
484 | OSSLError("osGetTerrainHeight: Coordinate out of bounds"); | 484 | OSSLError("osGetTerrainHeight: Coordinate out of bounds"); |
485 | 485 | ||
486 | return World.Heightmap[x, y]; | 486 | return World.Heightmap[x, y]; |
@@ -814,7 +814,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
814 | private void TeleportAgent(string agent, int regionX, int regionY, | 814 | private void TeleportAgent(string agent, int regionX, int regionY, |
815 | LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) | 815 | LSL_Types.Vector3 position, LSL_Types.Vector3 lookat, bool relaxRestrictions) |
816 | { | 816 | { |
817 | ulong regionHandle = Util.UIntsToLong(((uint)regionX * (uint)Constants.RegionSize), ((uint)regionY * (uint)Constants.RegionSize)); | 817 | // ulong regionHandle = Util.UIntsToLong(((uint)regionX * (uint)Constants.RegionSize), ((uint)regionY * (uint)Constants.RegionSize)); |
818 | ulong regionHandle = Util.RegionWorldLocToHandle(Util.RegionToWorldLoc((uint)regionX), Util.RegionToWorldLoc((uint)regionY)); | ||
818 | 819 | ||
819 | m_host.AddScriptLPS(1); | 820 | m_host.AddScriptLPS(1); |
820 | UUID agentId = new UUID(); | 821 | UUID agentId = new UUID(); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index c9902e4..e3f3fc7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -721,8 +721,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
721 | Position.y = ((int)Constants.RegionSize - 1); | 721 | Position.y = ((int)Constants.RegionSize - 1); |
722 | if (Position.y < 0) | 722 | if (Position.y < 0) |
723 | Position.y = 0; | 723 | Position.y = 0; |
724 | if (Position.z > 768) | 724 | if (Position.z > Constants.RegionHeight) |
725 | Position.z = 768; | 725 | Position.z = Constants.RegionHeight; |
726 | if (Position.z < 0) | 726 | if (Position.z < 0) |
727 | Position.z = 0; | 727 | Position.z = 0; |
728 | prim.OSSL.llSetPos(Position); | 728 | prim.OSSL.llSetPos(Position); |