From 39842eb4af3b5a8c52d56c0f7f05ad54f0651bb0 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Wed, 16 Sep 2009 15:45:40 -0700 Subject: * Adding Scale to EntityBase * Fixing the incorrect initialization of EntityBase.Rotation * Removed SceneObjectGroup.GroupRotation and added overrides for Scale/Rotation/Velocity --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 8 ++++---- OpenSim/Region/ScriptEngine/Shared/Helpers.cs | 12 +++++------- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index ba42678..39f620b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -2004,10 +2004,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api q = avatar.Rotation; // Currently infrequently updated so may be inaccurate } else - q = part.ParentGroup.GroupRotation; // Likely never get here but just in case + q = part.ParentGroup.Rotation; // Likely never get here but just in case } else - q = part.ParentGroup.GroupRotation; // just the group rotation + q = part.ParentGroup.Rotation; // just the group rotation return new LSL_Rotation(q.X, q.Y, q.Z, q.W); } q = part.GetWorldRotation(); @@ -7171,10 +7171,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else q = avatar.Rotation; // Currently infrequently updated so may be inaccurate else - q = m_host.ParentGroup.GroupRotation; // Likely never get here but just in case + q = m_host.ParentGroup.Rotation; // Likely never get here but just in case } else - q = m_host.ParentGroup.GroupRotation; // just the group rotation + q = m_host.ParentGroup.Rotation; // just the group rotation return new LSL_Rotation(q.X, q.Y, q.Z, q.W); } diff --git a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs index 4855d64..84ccafe 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Helpers.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Helpers.cs @@ -218,16 +218,14 @@ namespace OpenSim.Region.ScriptEngine.Shared } } - Position = new LSL_Types.Vector3(part.AbsolutePosition.X, - part.AbsolutePosition.Y, - part.AbsolutePosition.Z); + Vector3 absPos = part.AbsolutePosition; + Position = new LSL_Types.Vector3(absPos.X, absPos.Y, absPos.Z); - Quaternion wr = part.ParentGroup.GroupRotation; + Quaternion wr = part.ParentGroup.Rotation; Rotation = new LSL_Types.Quaternion(wr.X, wr.Y, wr.Z, wr.W); - Velocity = new LSL_Types.Vector3(part.Velocity.X, - part.Velocity.Y, - part.Velocity.Z); + Vector3 vel = part.Velocity; + Velocity = new LSL_Types.Vector3(vel.X, vel.Y, vel.Z); } } -- cgit v1.1 From 5757afe7665543e8b3ed4a322a7d6e095dafcdb3 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 07:48:21 -0700 Subject: First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. --- .../Shared/Api/Implementation/LSL_Api.cs | 11 ++++++---- .../Shared/Api/Implementation/OSSL_Api.cs | 25 +++++++++++++--------- 2 files changed, 22 insertions(+), 14 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 4c52b11..1ebe24e 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -50,6 +50,9 @@ using OpenSim.Region.ScriptEngine.Shared.Api.Plugins; using OpenSim.Region.ScriptEngine.Shared.ScriptBase; using OpenSim.Region.ScriptEngine.Interfaces; using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces; +using OpenSim.Services.Interfaces; + +using GridRegion = OpenSim.Services.Interfaces.GridRegion; using AssetLandmark = OpenSim.Framework.AssetLandmark; @@ -5226,12 +5229,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - List neighbors = World.CommsManager.GridService.RequestNeighbours(World.RegionInfo.RegionLocX, World.RegionInfo.RegionLocY); + List neighbors = World.GridService.GetNeighbours(World.RegionInfo.ScopeID, World.RegionInfo.RegionID); uint neighborX = World.RegionInfo.RegionLocX + (uint)dir.x; uint neighborY = World.RegionInfo.RegionLocY + (uint)dir.y; - foreach (SimpleRegionInfo sri in neighbors) + foreach (GridRegion sri in neighbors) { if (sri.RegionLocX == neighborX && sri.RegionLocY == neighborY) return 0; @@ -8181,7 +8184,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api string reply = String.Empty; - RegionInfo info = m_ScriptEngine.World.RequestClosestRegion(simulator); + GridRegion info = m_ScriptEngine.World.GridService.GetRegionByName(m_ScriptEngine.World.RegionInfo.ScopeID, simulator); switch (data) { @@ -8208,7 +8211,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ConditionalScriptSleep(1000); return UUID.Zero.ToString(); } - int access = info.RegionSettings.Maturity; + int access = info.Maturity; if (access == 0) reply = "PG"; else if (access == 1) diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index ccdd4c5..0b95abc 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -48,6 +48,8 @@ using OpenSim.Region.ScriptEngine.Shared.ScriptBase; using OpenSim.Region.ScriptEngine.Interfaces; using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces; using TPFlags = OpenSim.Framework.Constants.TeleportFlags; +using OpenSim.Services.Interfaces; +using GridRegion = OpenSim.Services.Interfaces.GridRegion; using System.Text.RegularExpressions; using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; @@ -599,17 +601,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (regionName.Contains(".") && regionName.Contains(":")) { // Try to link the region - RegionInfo regInfo = HGHyperlink.TryLinkRegion(World, - presence.ControllingClient, - regionName); - // Get the region name - if (regInfo != null) + IHyperlinkService hyperService = World.RequestModuleInterface(); + if (hyperService != null) { - regionName = regInfo.RegionName; - } - else - { - // Might need to ping the client here in case of failure?? + GridRegion regInfo = hyperService.TryLinkRegion(presence.ControllingClient, + regionName); + // Get the region name + if (regInfo != null) + { + regionName = regInfo.RegionName; + } + else + { + // Might need to ping the client here in case of failure?? + } } } presence.ControllingClient.SendTeleportLocationStart(); -- cgit v1.1 From f00126dc2dfc9e23aa50227f02ee9adbe1efdfa6 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Tue, 29 Sep 2009 08:32:59 +0900 Subject: Add copyright header. Formatting cleanup. --- .../ScriptEngine/Shared/CodeTools/Compiler.cs | 50 ++++++++++------------ 1 file changed, 22 insertions(+), 28 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs index 5a94957..fe26429 100644 --- a/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/Shared/CodeTools/Compiler.cs @@ -546,11 +546,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools bool retried = false; do { - lock (CScodeProvider) - { - results = CScodeProvider.CompileAssemblyFromSource( - parameters, Script); - } + lock (CScodeProvider) + { + results = CScodeProvider.CompileAssemblyFromSource( + parameters, Script); + } // Deal with an occasional segv in the compiler. // Rarely, if ever, occurs twice in succession. // Line # == 0 and no file name are indications that @@ -573,20 +573,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools { complete = true; } - } - while(!complete); + } while (!complete); break; case enumCompileType.js: results = JScodeProvider.CompileAssemblyFromSource( - parameters, Script); + parameters, Script); break; case enumCompileType.yp: results = YPcodeProvider.CompileAssemblyFromSource( - parameters, Script); + parameters, Script); break; default: throw new Exception("Compiler is not able to recongnize "+ - "language type \"" + lang.ToString() + "\""); + "language type \"" + lang.ToString() + "\""); } // Check result @@ -602,12 +601,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools { foreach (CompilerError CompErr in results.Errors) { - - string severity = "Error"; - if (CompErr.IsWarning) - { - severity = "Warning"; - } + string severity = CompErr.IsWarning ? "Warning" : "Error"; KeyValuePair lslPos; @@ -615,18 +609,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools if (severity == "Error") { - lslPos = FindErrorPosition(CompErr.Line, CompErr.Column); - string text = CompErr.ErrorText; - - // Use LSL type names - if (lang == enumCompileType.lsl) - text = ReplaceTypes(CompErr.ErrorText); - - // The Second Life viewer's script editor begins - // countingn lines and columns at 0, so we subtract 1. - errtext += String.Format("Line ({0},{1}): {4} {2}: {3}\n", - lslPos.Key - 1, lslPos.Value - 1, - CompErr.ErrorNumber, text, severity); + lslPos = FindErrorPosition(CompErr.Line, CompErr.Column); + string text = CompErr.ErrorText; + + // Use LSL type names + if (lang == enumCompileType.lsl) + text = ReplaceTypes(CompErr.ErrorText); + + // The Second Life viewer's script editor begins + // countingn lines and columns at 0, so we subtract 1. + errtext += String.Format("Line ({0},{1}): {4} {2}: {3}\n", + lslPos.Key - 1, lslPos.Value - 1, + CompErr.ErrorNumber, text, severity); hadErrors = true; } } -- cgit v1.1 From a43706862c13944c92b3762ed8742415a0363275 Mon Sep 17 00:00:00 2001 From: Alan M Webb Date: Tue, 29 Sep 2009 07:10:54 -0400 Subject: Given the perverse way that strided works, if there is only one element in the range, it must also coincide with the specified stride. The existing code assumes that the stride starts at start ( which is the expected and most useful behavior). Signed-off-by: dr scofield (aka dirk husemann) --- .../Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 1ebe24e..0bd6546 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -4999,6 +4999,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (end > src.Length) end = src.Length; + if (stride == 0) + stride = 1; + // There may be one or two ranges to be considered if (start != end) @@ -5025,9 +5028,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // A negative stride reverses the direction of the // scan producing an inverted list as a result. - if (stride == 0) - stride = 1; - if (stride > 0) { for (int i = 0; i < src.Length; i += stride) @@ -5051,7 +5051,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else { - result.Add(src.Data[start]); + if (start%stride == 0) + { + result.Add(src.Data[start]); + } } return result; -- cgit v1.1 From ee205e7e812e170f670e690a4e0fa9caa652f226 Mon Sep 17 00:00:00 2001 From: Jeff Ames Date: Thu, 1 Oct 2009 01:00:09 +0900 Subject: Formatting cleanup. --- OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | 4 ++-- OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index d0df390..8dcb1f5 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs @@ -95,7 +95,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase return m_OSSL_Functions.osWindActiveModelPluginName(); } -// Not yet plugged in as available OSSL functions, so commented out +// Not yet plugged in as available OSSL functions, so commented out // void osWindParamSet(string plugin, string param, float value) // { // m_OSSL_Functions.osWindParamSet(plugin, param, value); @@ -329,7 +329,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase public string osGetSimulatorVersion() { - return m_OSSL_Functions.osGetSimulatorVersion(); + return m_OSSL_Functions.osGetSimulatorVersion(); } public Hashtable osParseJSON(string JSON) diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 650d9fa..97166cf 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs @@ -261,7 +261,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance "SecondLife.Script"); //ILease lease = (ILease)RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass); - RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass); + RemotingServices.GetLifetimeService(m_Script as ScriptBaseClass); // lease.Register(this); } catch (Exception) @@ -430,7 +430,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance permsGranter = part.TaskInventory[m_ItemID].PermsGranter; permsMask = part.TaskInventory[m_ItemID].PermsMask; - } + } if ((permsMask & ScriptBaseClass.PERMISSION_TAKE_CONTROLS) != 0) { @@ -630,7 +630,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance /// /// Process the next event queued for this script /// - /// + /// public object EventProcessor() { lock (m_Script) @@ -925,7 +925,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance public override string ToString() { - return String.Format("{0} {1} on {2}", m_ScriptName, m_ItemID, m_PrimName); + return String.Format("{0} {1} on {2}", m_ScriptName, m_ItemID, m_PrimName); } string FormatException(Exception e) -- cgit v1.1