aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs9
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/EventManager.cs22
3 files changed, 22 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 1469e7e..92e33b8 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -2214,15 +2214,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2214 2214
2215 public LSL_Integer llRotTarget(LSL_Rotation rot, double error) 2215 public LSL_Integer llRotTarget(LSL_Rotation rot, double error)
2216 { 2216 {
2217 m_host.AddScriptLPS(1); 2217 m_host.AddScriptLPS(1);
2218 NotImplemented("llRotTarget"); 2218 return m_host.registerRotTargetWaypoint(new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s), (float)error);
2219 return 0;
2220 } 2219 }
2221 2220
2222 public void llRotTargetRemove(int number) 2221 public void llRotTargetRemove(int number)
2223 { 2222 {
2224 m_host.AddScriptLPS(1); 2223 m_host.AddScriptLPS(1);
2225 NotImplemented("llRotTargetRemove"); 2224 m_host.unregisterRotTargetWaypoint(number);
2226 } 2225 }
2227 2226
2228 public void llMoveToTarget(LSL_Vector target, double tau) 2227 public void llMoveToTarget(LSL_Vector target, double tau)
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
index 15e0408..3456a3c 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/Executor.cs
@@ -62,7 +62,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
62 land_collision = 2048, 62 land_collision = 2048,
63 land_collision_end = 4096, 63 land_collision_end = 4096,
64 land_collision_start = 8192, 64 land_collision_start = 8192,
65 at_target = 16384, 65 at_target = 16384,
66 at_rot_target = 16777216,
66 listen = 32768, 67 listen = 32768,
67 money = 65536, 68 money = 65536,
68 moving_end = 131072, 69 moving_end = 131072,
@@ -204,8 +205,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
204 return; 205 return;
205 } 206 }
206 207
207 m_eventFlagsMap.Add("attach", scriptEvents.attach); 208 m_eventFlagsMap.Add("attach", scriptEvents.attach);
208 // m_eventFlagsMap.Add("at_rot_target",(long)scriptEvents.at_rot_target); 209 m_eventFlagsMap.Add("at_rot_target", scriptEvents.at_rot_target);
209 m_eventFlagsMap.Add("at_target", scriptEvents.at_target); 210 m_eventFlagsMap.Add("at_target", scriptEvents.at_target);
210 // m_eventFlagsMap.Add("changed",(long)scriptEvents.changed); 211 // m_eventFlagsMap.Add("changed",(long)scriptEvents.changed);
211 m_eventFlagsMap.Add("collision", scriptEvents.collision); 212 m_eventFlagsMap.Add("collision", scriptEvents.collision);
diff --git a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs
index b2eab45..ce22ba5 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/EventManager.cs
@@ -58,7 +58,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
58 myScriptEngine.World.EventManager.OnObjectDeGrab += touch_end; 58 myScriptEngine.World.EventManager.OnObjectDeGrab += touch_end;
59 myScriptEngine.World.EventManager.OnScriptChangedEvent += changed; 59 myScriptEngine.World.EventManager.OnScriptChangedEvent += changed;
60 myScriptEngine.World.EventManager.OnScriptAtTargetEvent += at_target; 60 myScriptEngine.World.EventManager.OnScriptAtTargetEvent += at_target;
61 myScriptEngine.World.EventManager.OnScriptNotAtTargetEvent += not_at_target; 61 myScriptEngine.World.EventManager.OnScriptNotAtTargetEvent += not_at_target;
62 myScriptEngine.World.EventManager.OnScriptAtRotTargetEvent += at_rot_target;
63 myScriptEngine.World.EventManager.OnScriptNotAtRotTargetEvent += not_at_rot_target;
62 myScriptEngine.World.EventManager.OnScriptControlEvent += control; 64 myScriptEngine.World.EventManager.OnScriptControlEvent += control;
63 myScriptEngine.World.EventManager.OnScriptColliderStart += collision_start; 65 myScriptEngine.World.EventManager.OnScriptColliderStart += collision_start;
64 myScriptEngine.World.EventManager.OnScriptColliding += collision; 66 myScriptEngine.World.EventManager.OnScriptColliding += collision;
@@ -388,16 +390,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine
388 myScriptEngine.PostObjectEvent(localID, new EventParams( 390 myScriptEngine.PostObjectEvent(localID, new EventParams(
389 "not_at_target",new object[0], 391 "not_at_target",new object[0],
390 new DetectParams[0])); 392 new DetectParams[0]));
391 } 393 }
392 394
393 public void at_rot_target(uint localID, UUID itemID) 395 public void at_rot_target(uint localID, uint handle, Quaternion targetrot,
394 { 396 Quaternion atrot)
395 myScriptEngine.PostObjectEvent(localID, new EventParams( 397 {
396 "at_rot_target",new object[0], 398 myScriptEngine.PostObjectEvent(localID, new EventParams(
399 "at_rot_target", new object[] {
400 new LSL_Types.LSLInteger(handle),
401 new LSL_Types.Quaternion(targetrot.X,targetrot.Y,targetrot.Z,targetrot.W),
402 new LSL_Types.Quaternion(atrot.X,atrot.Y,atrot.Z,atrot.W) },
397 new DetectParams[0])); 403 new DetectParams[0]));
398 } 404 }
399 405
400 public void not_at_rot_target(uint localID, UUID itemID) 406 public void not_at_rot_target(uint localID)
401 { 407 {
402 myScriptEngine.PostObjectEvent(localID, new EventParams( 408 myScriptEngine.PostObjectEvent(localID, new EventParams(
403 "not_at_rot_target",new object[0], 409 "not_at_rot_target",new object[0],