From 61527e82ff3547ea2000b96fedf6bfcd2af55920 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sun, 30 Oct 2022 20:47:09 +0000 Subject: [PATCH] LSL fix a vector lslvector cast --- .../ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 +++----- OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index c1411310b3..16b3bd409b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -14815,21 +14815,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api break; case ScriptBaseClass.OBJECT_VELOCITY: - Vector3 vel = Vector3.Zero; + Vector3 vel; if (obj.ParentGroup.IsAttachment) { ScenePresence sp = World.GetScenePresence(obj.ParentGroup.AttachedAvatar); - - if (sp != null) - vel = sp.GetWorldVelocity(); + vel = sp != null ? sp.GetWorldVelocity() : Vector3.Zero; } else { vel = obj.Velocity; } - ret.Add(vel); + ret.Add(new LSL_Vector(vel)); break; case ScriptBaseClass.OBJECT_OWNER: ret.Add(new LSL_String(obj.OwnerID.ToString())); diff --git a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs index d70f46342e..e00f47215e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs +++ b/OpenSim/Region/ScriptEngine/Shared/LSL_Types.cs @@ -59,9 +59,9 @@ namespace OpenSim.Region.ScriptEngine.Shared public Vector3(Vector3 vector) { - x = (float)vector.x; - y = (float)vector.y; - z = (float)vector.z; + x = vector.x; + y = vector.y; + z = vector.z; } public Vector3(OMV_Vector3 vector)