diff options
Merge branch 'master' into careminster
Conflicts:
OpenSim/Region/CoreModules/Scripting/LSLHttp/UrlModule.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 466e540..943f37d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -140,11 +140,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
140 | m_TransferModule = | 140 | m_TransferModule = |
141 | m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>(); | 141 | m_ScriptEngine.World.RequestModuleInterface<IMessageTransferModule>(); |
142 | m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>(); | 142 | m_UrlModule = m_ScriptEngine.World.RequestModuleInterface<IUrlModule>(); |
143 | if (m_UrlModule != null) | ||
144 | { | ||
145 | m_ScriptEngine.OnScriptRemoved += m_UrlModule.ScriptRemoved; | ||
146 | m_ScriptEngine.OnObjectRemoved += m_UrlModule.ObjectRemoved; | ||
147 | } | ||
148 | 143 | ||
149 | AsyncCommands = new AsyncCommandManager(ScriptEngine); | 144 | AsyncCommands = new AsyncCommandManager(ScriptEngine); |
150 | } | 145 | } |
@@ -3063,6 +3058,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3063 | // we need to convert from a vector describing | 3058 | // we need to convert from a vector describing |
3064 | // the angles of rotation in radians into rotation value | 3059 | // the angles of rotation in radians into rotation value |
3065 | 3060 | ||
3061 | <<<<<<< HEAD:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3066 | LSL_Types.Quaternion rot = llEuler2Rot(angle); | 3062 | LSL_Types.Quaternion rot = llEuler2Rot(angle); |
3067 | 3063 | ||
3068 | // This would only work if your physics system contains an APID controller: | 3064 | // This would only work if your physics system contains an APID controller: |
@@ -3095,10 +3091,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3095 | LSL_Vector ae = new LSL_Vector(0.0f, terot, 0.0f); | 3091 | LSL_Vector ae = new LSL_Vector(0.0f, terot, 0.0f); |
3096 | LSL_Types.Quaternion spin = llEuler2Rot(az); | 3092 | LSL_Types.Quaternion spin = llEuler2Rot(az); |
3097 | LSL_Types.Quaternion rot = llEuler2Rot(ae) * spin; | 3093 | LSL_Types.Quaternion rot = llEuler2Rot(ae) * spin; |
3094 | ======= | ||
3095 | LSL_Rotation rot = llEuler2Rot(angle); | ||
3096 | |||
3097 | // Per discussion with Melanie, for non-physical objects llLookAt appears to simply | ||
3098 | // set the rotation of the object, copy that behavior | ||
3099 | if (strength == 0 || m_host.PhysActor == null || !m_host.PhysActor.IsPhysical) | ||
3100 | { | ||
3101 | >>>>>>> master:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3098 | llSetRot(rot); | 3102 | llSetRot(rot); |
3099 | } | 3103 | } |
3100 | else | 3104 | else |
3101 | { | 3105 | { |
3106 | <<<<<<< HEAD:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3102 | // Physical, send the target vector to RotLookAt method inside a 'rotation', the .w -99.9 value indicates it is really a LookAt. | 3107 | // Physical, send the target vector to RotLookAt method inside a 'rotation', the .w -99.9 value indicates it is really a LookAt. |
3103 | Quaternion q = new Quaternion((float)target.x, (float)target.y, (float)target.z, -99.9f); | 3108 | Quaternion q = new Quaternion((float)target.x, (float)target.y, (float)target.z, -99.9f); |
3104 | m_host.RotLookAt(q, (float)strength, (float)damping); | 3109 | m_host.RotLookAt(q, (float)strength, (float)damping); |
@@ -3112,6 +3117,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3112 | // NotImplemented("llRotLookAt"); | 3117 | // NotImplemented("llRotLookAt"); |
3113 | m_host.RotLookAt(Rot2Quaternion(target), (float)strength, (float)damping); | 3118 | m_host.RotLookAt(Rot2Quaternion(target), (float)strength, (float)damping); |
3114 | 3119 | ||
3120 | ======= | ||
3121 | m_host.StartLookAt(Rot2Quaternion(rot), (float)strength, (float)damping); | ||
3122 | } | ||
3123 | >>>>>>> master:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3115 | } | 3124 | } |
3116 | 3125 | ||
3117 | public void llStopLookAt() | 3126 | public void llStopLookAt() |
@@ -3534,6 +3543,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3534 | m_host.AddScriptLPS(1); | 3543 | m_host.AddScriptLPS(1); |
3535 | } | 3544 | } |
3536 | 3545 | ||
3546 | <<<<<<< HEAD:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3547 | ======= | ||
3548 | public void llRotLookAt(LSL_Rotation target, double strength, double damping) | ||
3549 | { | ||
3550 | m_host.AddScriptLPS(1); | ||
3551 | |||
3552 | // Per discussion with Melanie, for non-physical objects llLookAt appears to simply | ||
3553 | // set the rotation of the object, copy that behavior | ||
3554 | if (strength == 0 || m_host.PhysActor == null || !m_host.PhysActor.IsPhysical) | ||
3555 | { | ||
3556 | llSetLocalRot(target); | ||
3557 | } | ||
3558 | else | ||
3559 | { | ||
3560 | m_host.RotLookAt(Rot2Quaternion(target), (float)strength, (float)damping); | ||
3561 | } | ||
3562 | } | ||
3563 | |||
3564 | >>>>>>> master:OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | ||
3537 | public LSL_Integer llStringLength(string str) | 3565 | public LSL_Integer llStringLength(string str) |
3538 | { | 3566 | { |
3539 | m_host.AddScriptLPS(1); | 3567 | m_host.AddScriptLPS(1); |