aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs4
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs32
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs4
3 files changed, 33 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
index 61e4934..57794f9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs
@@ -137,7 +137,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
137 if (cmdHandlerThread == null) 137 if (cmdHandlerThread == null)
138 { 138 {
139 // Start the thread that will be doing the work 139 // Start the thread that will be doing the work
140 cmdHandlerThread = Watchdog.StartThread(CmdHandlerThreadLoop, "AsyncLSLCmdHandlerThread", ThreadPriority.Normal, true); 140 cmdHandlerThread
141 = Watchdog.StartThread(
142 CmdHandlerThreadLoop, "AsyncLSLCmdHandlerThread", ThreadPriority.Normal, true, true);
141 } 143 }
142 } 144 }
143 145
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index d0430f4..ba02a78 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -6834,16 +6834,38 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6834 } 6834 }
6835 } 6835 }
6836 6836
6837 public void llSitTarget(LSL_Vector offset, LSL_Rotation rot) 6837 protected void SitTarget(SceneObjectPart part, LSL_Vector offset, LSL_Rotation rot)
6838 { 6838 {
6839 m_host.AddScriptLPS(1);
6840 // LSL quaternions can normalize to 0, normal Quaternions can't. 6839 // LSL quaternions can normalize to 0, normal Quaternions can't.
6841 if (rot.s == 0 && rot.x == 0 && rot.y == 0 && rot.z == 0) 6840 if (rot.s == 0 && rot.x == 0 && rot.y == 0 && rot.z == 0)
6842 rot.z = 1; // ZERO_ROTATION = 0,0,0,1 6841 rot.z = 1; // ZERO_ROTATION = 0,0,0,1
6843 6842
6844 m_host.SitTargetPosition = new Vector3((float)offset.x, (float)offset.y, (float)offset.z); 6843 part.SitTargetPosition = new Vector3((float)offset.x, (float)offset.y, (float)offset.z);
6845 m_host.SitTargetOrientation = Rot2Quaternion(rot); 6844 part.SitTargetOrientation = Rot2Quaternion(rot);
6846 m_host.ParentGroup.HasGroupChanged = true; 6845 part.ParentGroup.HasGroupChanged = true;
6846 }
6847
6848 public void llSitTarget(LSL_Vector offset, LSL_Rotation rot)
6849 {
6850 m_host.AddScriptLPS(1);
6851 SitTarget(m_host, offset, rot);
6852 }
6853
6854 public void llLinkSitTarget(LSL_Integer link, LSL_Vector offset, LSL_Rotation rot)
6855 {
6856 m_host.AddScriptLPS(1);
6857 if (link == ScriptBaseClass.LINK_ROOT)
6858 SitTarget(m_host.ParentGroup.RootPart, offset, rot);
6859 else if (link == ScriptBaseClass.LINK_THIS)
6860 SitTarget(m_host, offset, rot);
6861 else
6862 {
6863 SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(link);
6864 if (null != part)
6865 {
6866 SitTarget(part, offset, rot);
6867 }
6868 }
6847 } 6869 }
6848 6870
6849 public LSL_String llAvatarOnSitTarget() 6871 public LSL_String llAvatarOnSitTarget()
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 2424130..e29ab95 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -2779,7 +2779,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
2779 CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed"); 2779 CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed");
2780 m_host.AddScriptLPS(1); 2780 m_host.AddScriptLPS(1);
2781 ScenePresence avatar = World.GetScenePresence(new UUID(UUID)); 2781 ScenePresence avatar = World.GetScenePresence(new UUID(UUID));
2782 avatar.SpeedModifier = (float)SpeedModifier; 2782
2783 if (avatar != null)
2784 avatar.SpeedModifier = (float)SpeedModifier;
2783 } 2785 }
2784 2786
2785 public void osKickAvatar(string FirstName,string SurName,string alert) 2787 public void osKickAvatar(string FirstName,string SurName,string alert)