From c2a73a26b550c523ed0f87c45caa7382bfc16667 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 5 Mar 2012 02:37:51 +0100 Subject: [PATCH] SL compatibility - return only points on segemtn, not ray in llCastRay --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 5c02d98556..fc6bec1824 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -11574,6 +11574,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api Vector3 rayEnd = new Vector3((float)end.x, (float)end.y, (float)end.z); Vector3 dir = rayEnd - rayStart; + float dist = Vector3.Mag(dir); + int count = 1; bool detectPhantom = false; int dataFlags = 0; @@ -11630,6 +11632,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api int values = 0; foreach (ContactResult result in results) { + if (result.Depth > dist) + continue; + UUID itemID = UUID.Zero; int linkNum = 0;