diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ccc483c..def8fbe 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -91,9 +91,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
91 | config.AddConfig("XEngine"); | 91 | config.AddConfig("XEngine"); |
92 | 92 | ||
93 | m_ScriptDelayFactor = config.Configs["XEngine"]. | 93 | m_ScriptDelayFactor = config.Configs["XEngine"]. |
94 | GetFloat("ScriptDelayFactor", 1.0f); | 94 | GetFloat("ScriptDelayFactor", 1.0f); |
95 | m_ScriptDistanceFactor = config.Configs["XEngine"]. | 95 | m_ScriptDistanceFactor = config.Configs["XEngine"]. |
96 | GetFloat("ScriptDistanceLimitFactor", 1.0f); | 96 | GetFloat("ScriptDistanceLimitFactor", 1.0f); |
97 | 97 | ||
98 | AsyncCommands = new AsyncCommandManager(ScriptEngine); | 98 | AsyncCommands = new AsyncCommandManager(ScriptEngine); |
99 | } | 99 | } |
@@ -937,7 +937,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
937 | public LSL_Float llGround(LSL_Vector offset) | 937 | public LSL_Float llGround(LSL_Vector offset) |
938 | { | 938 | { |
939 | m_host.AddScriptLPS(1); | 939 | m_host.AddScriptLPS(1); |
940 | Vector3 pos = m_host.GetWorldPosition(); | 940 | Vector3 pos = m_host.GetWorldPosition(); |
941 | int x = (int)(pos.X + offset.x); | 941 | int x = (int)(pos.X + offset.x); |
942 | int y = (int)(pos.Y + offset.y); | 942 | int y = (int)(pos.Y + offset.y); |
943 | return World.GetLandHeight(x, y); | 943 | return World.GetLandHeight(x, y); |
@@ -1719,9 +1719,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1719 | public LSL_Vector llGetPos() | 1719 | public LSL_Vector llGetPos() |
1720 | { | 1720 | { |
1721 | m_host.AddScriptLPS(1); | 1721 | m_host.AddScriptLPS(1); |
1722 | return new LSL_Vector(m_host.AbsolutePosition.X, | 1722 | Vector3 pos = m_host.GetWorldPosition(); |
1723 | m_host.AbsolutePosition.Y, | 1723 | return new LSL_Vector(pos.X, pos.Y, pos.Z); |
1724 | m_host.AbsolutePosition.Z); | ||
1725 | } | 1724 | } |
1726 | 1725 | ||
1727 | public LSL_Vector llGetLocalPos() | 1726 | public LSL_Vector llGetLocalPos() |
@@ -4845,21 +4844,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4845 | 4844 | ||
4846 | Vector3 p0 = new Vector3(pos.X, pos.Y, | 4845 | Vector3 p0 = new Vector3(pos.X, pos.Y, |
4847 | (float)llGround( | 4846 | (float)llGround( |
4848 | new LSL_Vector(pos.X, pos.Y, pos.Z) | 4847 | new LSL_Vector(pos.X, pos.Y, pos.Z) |
4849 | )); | 4848 | )); |
4850 | Vector3 p1 = new Vector3(pos.X + 1, pos.Y, | 4849 | Vector3 p1 = new Vector3(pos.X + 1, pos.Y, |
4851 | (float)llGround( | 4850 | (float)llGround( |
4852 | new LSL_Vector(pos.X + 1, pos.Y, pos.Z) | 4851 | new LSL_Vector(pos.X + 1, pos.Y, pos.Z) |
4853 | )); | 4852 | )); |
4854 | Vector3 p2 = new Vector3(pos.X, pos.Y + 1, | 4853 | Vector3 p2 = new Vector3(pos.X, pos.Y + 1, |
4855 | (float)llGround( | 4854 | (float)llGround( |
4856 | new LSL_Vector(pos.X, pos.Y + 1, pos.Z) | 4855 | new LSL_Vector(pos.X, pos.Y + 1, pos.Z) |
4857 | )); | 4856 | )); |
4858 | 4857 | ||
4859 | Vector3 v0 = new Vector3( | 4858 | Vector3 v0 = new Vector3(p1.X - p0.X, p1.Y - p0.Y, p1.Z - p0.Z); |
4860 | p1.X - p0.X, p1.Y - p0.Y, p1.Z - p0.Z); | 4859 | Vector3 v1 = new Vector3(p2.X - p1.X, p2.Y - p1.Y, p2.Z - p1.Z); |
4861 | Vector3 v1 = new Vector3( | ||
4862 | p2.X - p1.X, p2.Y - p1.Y, p2.Z - p1.Z); | ||
4863 | 4860 | ||
4864 | v0.Normalize(); | 4861 | v0.Normalize(); |
4865 | v1.Normalize(); | 4862 | v1.Normalize(); |