aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs29
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();