From 44e566260c9da5ff62c448cfdd67063c7a486126 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 23 Sep 2008 11:41:34 +0000 Subject: Mantis #2243 Thank you, tyre, for a patch that refactors LSL to use a unified set of method signatures and type names, reorders methods and removes unused and adds new method stubs. --- .../Shared/Api/Implementation/LSL_Api.cs | 1035 +++++++++++--------- 1 file changed, 551 insertions(+), 484 deletions(-) (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation') diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 110ece4..512fcd9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -50,6 +50,14 @@ using OpenSim.Region.ScriptEngine.Shared.ScriptBase; using OpenSim.Region.ScriptEngine.Interfaces; using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces; +using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; +using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; +using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; +using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; +using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; +using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; +using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; + namespace OpenSim.Region.ScriptEngine.Shared.Api { /// @@ -87,6 +95,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api AsyncCommands = (AsyncCommandManager)ScriptEngine.AsyncCommands; } + private DateTime m_timer = DateTime.Now; + private bool m_waitingForScriptAnswer=false; protected void ScriptSleep(int delay) { delay = (int)((float)delay * m_ScriptDelayFactor); @@ -95,8 +105,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api System.Threading.Thread.Sleep(delay); } - private DateTime m_timer = DateTime.Now; - private bool m_waitingForScriptAnswer=false; // Object never expires @@ -252,55 +260,55 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } //These are the implementations of the various ll-functions used by the LSL scripts. - public LSL_Types.LSLFloat llSin(double f) + public LSL_Float llSin(double f) { m_host.AddScriptLPS(1); return (double)Math.Sin(f); } - public LSL_Types.LSLFloat llCos(double f) + public LSL_Float llCos(double f) { m_host.AddScriptLPS(1); return (double)Math.Cos(f); } - public LSL_Types.LSLFloat llTan(double f) + public LSL_Float llTan(double f) { m_host.AddScriptLPS(1); return (double)Math.Tan(f); } - public LSL_Types.LSLFloat llAtan2(double x, double y) + public LSL_Float llAtan2(double x, double y) { m_host.AddScriptLPS(1); return (double)Math.Atan2(y, x); } - public LSL_Types.LSLFloat llSqrt(double f) + public LSL_Float llSqrt(double f) { m_host.AddScriptLPS(1); return (double)Math.Sqrt(f); } - public LSL_Types.LSLFloat llPow(double fbase, double fexponent) + public LSL_Float llPow(double fbase, double fexponent) { m_host.AddScriptLPS(1); return (double)Math.Pow(fbase, fexponent); } - public LSL_Types.LSLInteger llAbs(int i) + public LSL_Integer llAbs(int i) { m_host.AddScriptLPS(1); return (int)Math.Abs(i); } - public LSL_Types.LSLFloat llFabs(double f) + public LSL_Float llFabs(double f) { m_host.AddScriptLPS(1); return (double)Math.Abs(f); } - public LSL_Types.LSLFloat llFrand(double mag) + public LSL_Float llFrand(double mag) { m_host.AddScriptLPS(1); lock (Util.RandomClass) @@ -309,44 +317,44 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llFloor(double f) + public LSL_Integer llFloor(double f) { m_host.AddScriptLPS(1); return (int)Math.Floor(f); } - public LSL_Types.LSLInteger llCeil(double f) + public LSL_Integer llCeil(double f) { m_host.AddScriptLPS(1); return (int)Math.Ceiling(f); } // Xantor 01/May/2008 fixed midpointrounding (2.5 becomes 3.0 instead of 2.0, default = ToEven) - public LSL_Types.LSLInteger llRound(double f) + public LSL_Integer llRound(double f) { m_host.AddScriptLPS(1); return (int)Math.Round(f, MidpointRounding.AwayFromZero); } //This next group are vector operations involving squaring and square root. ckrinke - public LSL_Types.LSLFloat llVecMag(LSL_Types.Vector3 v) + public LSL_Float llVecMag(LSL_Vector v) { m_host.AddScriptLPS(1); - return LSL_Types.Vector3.Mag(v); + return LSL_Vector.Mag(v); } - public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) + public LSL_Vector llVecNorm(LSL_Vector v) { m_host.AddScriptLPS(1); - double mag = LSL_Types.Vector3.Mag(v); - LSL_Types.Vector3 nor = new LSL_Types.Vector3(); + double mag = LSL_Vector.Mag(v); + LSL_Vector nor = new LSL_Vector(); nor.x = v.x / mag; nor.y = v.y / mag; nor.z = v.z / mag; return nor; } - public LSL_Types.LSLFloat llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) + public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b) { m_host.AddScriptLPS(1); double dx = a.x - b.x; @@ -369,23 +377,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Old implementation of llRot2Euler, now normalized - public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) + public LSL_Vector llRot2Euler(LSL_Rotation r) { m_host.AddScriptLPS(1); //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke - LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); + LSL_Rotation t = new LSL_Rotation(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); double m = (t.x + t.y + t.z + t.s); - if (m == 0) return new LSL_Types.Vector3(); + if (m == 0) return new LSL_Vector(); double n = 2 * (r.y * r.s + r.x * r.z); double p = m * m - n * n; if (p > 0) - return new LSL_Types.Vector3(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))), + return new LSL_Vector(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))), NormalizeAngle(Math.Atan2(n, Math.Sqrt(p))), NormalizeAngle(Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s)))); else if (n > 0) - return new LSL_Types.Vector3(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); + return new LSL_Vector(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); else - return new LSL_Types.Vector3(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); + return new LSL_Vector(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); } /* From wiki: @@ -433,7 +441,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api * Apparently in some cases this is better from a numerical precision perspective? */ - public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) + public LSL_Rotation llEuler2Rot(LSL_Vector v) { m_host.AddScriptLPS(1); @@ -451,10 +459,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api z = s1*s2*c3+c1*c2*s3; s = c1*c2*c3-s1*s2*s3; - return new LSL_Types.Quaternion(x, y, z, s); + return new LSL_Rotation(x, y, z, s); } - public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) + public LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up) { m_host.AddScriptLPS(1); double x, y, z, s; @@ -487,7 +495,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (f == 5) { z = -z; } if (f == 6) { y = -y; } - LSL_Types.Quaternion result = new LSL_Types.Quaternion(x, y, z, s); + LSL_Rotation result = new LSL_Rotation(x, y, z, s); // a hack to correct a few questionable angles :( if (llVecDist(llRot2Fwd(result), fwd) > 0.001 || llVecDist(llRot2Left(result), left) > 0.001) @@ -496,7 +504,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return result; } - public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) + public LSL_Vector llRot2Fwd(LSL_Rotation r) { m_host.AddScriptLPS(1); @@ -518,10 +526,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api x = r.x * r.x - r.y * r.y - r.z * r.z + r.s * r.s; y = 2 * (r.x * r.y + r.z * r.s); z = 2 * (r.x * r.z - r.y * r.s); - return (new LSL_Types.Vector3(x, y, z)); + return (new LSL_Vector(x, y, z)); } - public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) + public LSL_Vector llRot2Left(LSL_Rotation r) { m_host.AddScriptLPS(1); @@ -543,10 +551,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api x = 2 * (r.x * r.y - r.z * r.s); y = -r.x * r.x + r.y * r.y - r.z * r.z + r.s * r.s; z = 2 * (r.x * r.s + r.y * r.z); - return (new LSL_Types.Vector3(x, y, z)); + return (new LSL_Vector(x, y, z)); } - public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) + public LSL_Vector llRot2Up(LSL_Rotation r) { m_host.AddScriptLPS(1); double x, y, z, m; @@ -567,18 +575,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api x = 2 * (r.x * r.z + r.y * r.s); y = 2 * (-r.x * r.s + r.y * r.z); z = -r.x * r.x - r.y * r.y + r.z * r.z + r.s * r.s; - return (new LSL_Types.Vector3(x, y, z)); + return (new LSL_Vector(x, y, z)); } - public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 a, LSL_Types.Vector3 b) + public LSL_Rotation llRotBetween(LSL_Vector a, LSL_Vector b) { //A and B should both be normalized m_host.AddScriptLPS(1); - double dotProduct = LSL_Types.Vector3.Dot(a, b); - LSL_Types.Vector3 crossProduct = LSL_Types.Vector3.Cross(a, b); - double magProduct = LSL_Types.Vector3.Mag(a) * LSL_Types.Vector3.Mag(b); + double dotProduct = LSL_Vector.Dot(a, b); + LSL_Vector crossProduct = LSL_Vector.Cross(a, b); + double magProduct = LSL_Vector.Mag(a) * LSL_Vector.Mag(b); double angle = Math.Acos(dotProduct / magProduct); - LSL_Types.Vector3 axis = LSL_Types.Vector3.Norm(crossProduct); + LSL_Vector axis = LSL_Vector.Norm(crossProduct); double s = Math.Sin(angle / 2); double x = axis.x * s; @@ -587,9 +595,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api double w = Math.Cos(angle / 2); if (Double.IsNaN(x) || Double.IsNaN(y) || Double.IsNaN(z) || Double.IsNaN(w)) - return new LSL_Types.Quaternion(0.0f, 0.0f, 0.0f, 1.0f); + return new LSL_Rotation(0.0f, 0.0f, 0.0f, 1.0f); - return new LSL_Types.Quaternion((float)x, (float)y, (float)z, (float)w); + return new LSL_Rotation((float)x, (float)y, (float)z, (float)w); } public void llWhisper(int channelID, string text) @@ -651,7 +659,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api wComm.DeliverMessage(ChatTypeEnum.Region, channelID, m_host.Name, m_host.UUID, text); } - public LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg) + public LSL_Integer llListen(int channelID, string name, string ID, string msg) { m_host.AddScriptLPS(1); UUID keyID; @@ -726,7 +734,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return SensedObject.Name; } - public LSL_Types.LSLString llDetectedName(int number) + public LSL_String llDetectedName(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); @@ -735,7 +743,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return d.Name; } - public LSL_Types.LSLString llDetectedKey(int number) + public LSL_String llDetectedKey(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); @@ -744,7 +752,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return d.Key.ToString(); } - public LSL_Types.LSLString llDetectedOwner(int number) + public LSL_String llDetectedOwner(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); @@ -753,71 +761,113 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return d.Owner.ToString(); } - public LSL_Types.LSLInteger llDetectedType(int number) + public LSL_Integer llDetectedType(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); if (d == null) return 0; - return new LSL_Types.LSLInteger(d.Type); + return new LSL_Integer(d.Type); } - public LSL_Types.Vector3 llDetectedPos(int number) + public LSL_Vector llDetectedPos(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); if (d == null) - return new LSL_Types.Vector3(); + return new LSL_Vector(); return d.Position; } - public LSL_Types.Vector3 llDetectedVel(int number) + public LSL_Vector llDetectedVel(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); if (d == null) - return new LSL_Types.Vector3(); + return new LSL_Vector(); return d.Velocity; } - public LSL_Types.Vector3 llDetectedGrab(int number) + public LSL_Vector llDetectedGrab(int number) { m_host.AddScriptLPS(1); DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); if (parms == null) - return new LSL_Types.Vector3(0, 0, 0); + return new LSL_Vector(0, 0, 0); return parms.OffsetPos; } - public LSL_Types.Quaternion llDetectedRot(int number) + public LSL_Rotation llDetectedRot(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); if (d == null) - return new LSL_Types.Quaternion(); + return new LSL_Rotation(); return d.Rotation; } - public LSL_Types.LSLInteger llDetectedGroup(int number) + public LSL_Integer llDetectedGroup(int number) { m_host.AddScriptLPS(1); DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); if (d == null) - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(0); if (m_host.GroupID == d.Group) - return new LSL_Types.LSLInteger(1); - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(1); + return new LSL_Integer(0); } - public LSL_Types.LSLInteger llDetectedLinkNumber(int number) + public LSL_Integer llDetectedLinkNumber(int number) { m_host.AddScriptLPS(1); DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); if (parms == null) - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(0); + + return new LSL_Integer(parms.LinkNum); + } + + public LSL_Vector llDetectedTouchBinormal(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchBinormal"); + return new LSL_Vector(); + } + + public LSL_Integer llDetectedTouchFace(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchFace"); + return new LSL_Integer(0); + } + + public LSL_Vector llDetectedTouchNormal(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchNormal"); + return new LSL_Vector(); + } + + public LSL_Vector llDetectedTouchPos(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchPos"); + return new LSL_Vector(); + } - return new LSL_Types.LSLInteger(parms.LinkNum); + public LSL_Vector llDetectedTouchST(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchST"); + return new LSL_Vector(); + } + + public LSL_Vector llDetectedTouchUV(int index) + { + m_host.AddScriptLPS(1); + NotImplemented("llDetectedTouchUV"); + return new LSL_Vector(); } public void llDie() @@ -826,7 +876,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api throw new SelfDeleteException(); } - public LSL_Types.LSLFloat llGround(LSL_Types.Vector3 offset) + public LSL_Float llGround(LSL_Vector offset) { m_host.AddScriptLPS(1); int x = (int)(m_host.OffsetPosition.X + offset.x); @@ -834,16 +884,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return World.GetLandHeight(x, y); } - public LSL_Types.LSLFloat llCloud(LSL_Types.Vector3 offset) + public LSL_Float llCloud(LSL_Vector offset) { m_host.AddScriptLPS(1); return 0; } - public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) + public LSL_Vector llWind(LSL_Vector offset) { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(); + return new LSL_Vector(); } public void llSetStatus(int status, int value) @@ -934,7 +984,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetStatus(int status) + public LSL_Integer llGetStatus(int status) { m_host.AddScriptLPS(1); // Console.WriteLine(m_host.ToString() + " status is " + m_host.GetEffectiveObjectFlags().ToString()); @@ -994,13 +1044,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 0; } - public void llSetScale(LSL_Types.Vector3 scale) + public void llSetScale(LSL_Vector scale) { m_host.AddScriptLPS(1); SetScale(m_host, scale); } - private void SetScale(SceneObjectPart part, LSL_Types.Vector3 scale) + private void SetScale(SceneObjectPart part, LSL_Vector scale) { // TODO: this needs to trigger a persistance save as well @@ -1030,20 +1080,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.SendFullUpdateToAllClients(); } - public LSL_Types.Vector3 llGetScale() + public LSL_Vector llGetScale() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); + return new LSL_Vector(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); } - public void llSetColor(LSL_Types.Vector3 color, int face) + public void llSetClickAction(int action) + { + m_host.AddScriptLPS(1); + NotImplemented("llSetClickAction"); + return; + } + + public void llSetColor(LSL_Vector color, int face) { m_host.AddScriptLPS(1); SetColor(m_host, color, face); } - private void SetColor(SceneObjectPart part, LSL_Types.Vector3 color, int face) + private void SetColor(SceneObjectPart part, LSL_Vector color, int face) { Primitive.TextureEntry tex = part.Shape.Textures; Color4 texcolor; @@ -1180,14 +1237,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLFloat llGetAlpha(int face) + public LSL_Float llGetAlpha(int face) { m_host.AddScriptLPS(1); return GetAlpha(m_host, face); } - private LSL_Types.LSLFloat GetAlpha(SceneObjectPart part, int face) + private LSL_Float GetAlpha(SceneObjectPart part, int face) { Primitive.TextureEntry tex = part.Shape.Textures; if (face == ScriptBaseClass.ALL_SIDES) @@ -1257,7 +1314,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// /// private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction, - float wind, float tension, LSL_Types.Vector3 Force) + float wind, float tension, LSL_Vector Force) { if (part == null) return; @@ -1315,7 +1372,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// /// /// - private void SetPointLight(SceneObjectPart part, bool light, LSL_Types.Vector3 color, float intensity, float radius, float falloff) + private void SetPointLight(SceneObjectPart part, bool light, LSL_Vector color, float intensity, float radius, float falloff) { if (part == null) return; @@ -1339,17 +1396,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.ScheduleFullUpdate(); } - public LSL_Types.Vector3 llGetColor(int face) + public LSL_Vector llGetColor(int face) { m_host.AddScriptLPS(1); return GetColor(m_host, face); } - private LSL_Types.Vector3 GetColor(SceneObjectPart part, int face) + private LSL_Vector GetColor(SceneObjectPart part, int face) { Primitive.TextureEntry tex = part.Shape.Textures; Color4 texcolor; - LSL_Types.Vector3 rgb = new LSL_Types.Vector3(); + LSL_Vector rgb = new LSL_Vector(); if (face == ScriptBaseClass.ALL_SIDES) { int i; @@ -1378,7 +1435,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } else { - return new LSL_Types.Vector3(); + return new LSL_Vector(); } } @@ -1532,13 +1589,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llGetTexture(int face) + public LSL_String llGetTexture(int face) { m_host.AddScriptLPS(1); return GetTexture(m_host, face); } - private LSL_Types.LSLString GetTexture(SceneObjectPart part, int face) + private LSL_String GetTexture(SceneObjectPart part, int face) { Primitive.TextureEntry tex = part.Shape.Textures; if (face == ScriptBaseClass.ALL_SIDES) @@ -1557,7 +1614,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public void llSetPos(LSL_Types.Vector3 pos) + public void llSetPos(LSL_Vector pos) { m_host.AddScriptLPS(1); @@ -1566,10 +1623,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScriptSleep(200); } - private void SetPos(SceneObjectPart part, LSL_Types.Vector3 targetPos) + private void SetPos(SceneObjectPart part, LSL_Vector targetPos) { // Capped movemment if distance > 10m (http://wiki.secondlife.com/wiki/LlSetPos) - LSL_Types.Vector3 currentPos = llGetLocalPos(); + LSL_Vector currentPos = llGetLocalPos(); if (llVecDist(currentPos, targetPos) > 10.0f * m_ScriptDistanceFactor) { targetPos = currentPos + m_ScriptDistanceFactor * 10 * llVecNorm(targetPos - currentPos); @@ -1585,32 +1642,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.Vector3 llGetPos() + public LSL_Vector llGetPos() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.AbsolutePosition.X, + return new LSL_Vector(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, m_host.AbsolutePosition.Z); } - public LSL_Types.Vector3 llGetLocalPos() + public LSL_Vector llGetLocalPos() { m_host.AddScriptLPS(1); if (m_host.ParentID != 0) { - return new LSL_Types.Vector3(m_host.OffsetPosition.X, + return new LSL_Vector(m_host.OffsetPosition.X, m_host.OffsetPosition.Y, m_host.OffsetPosition.Z); } else { - return new LSL_Types.Vector3(m_host.AbsolutePosition.X, + return new LSL_Vector(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, m_host.AbsolutePosition.Z); } } - public void llSetRot(LSL_Types.Quaternion rot) + public void llSetRot(LSL_Rotation rot) { m_host.AddScriptLPS(1); @@ -1619,27 +1676,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ScriptSleep(200); } - private void SetRot(SceneObjectPart part, LSL_Types.Quaternion rot) + private void SetRot(SceneObjectPart part, LSL_Rotation rot) { part.UpdateRotation(new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); // Update rotation does not move the object in the physics scene if it's a linkset. part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition; } - public LSL_Types.Quaternion llGetRot() + public LSL_Rotation llGetRot() { m_host.AddScriptLPS(1); Quaternion q = m_host.RotationOffset; - return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); + return new LSL_Rotation(q.X, q.Y, q.Z, q.W); } - public LSL_Types.Quaternion llGetLocalRot() + public LSL_Rotation llGetLocalRot() { m_host.AddScriptLPS(1); - return new LSL_Types.Quaternion(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); + return new LSL_Rotation(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); } - public void llSetForce(LSL_Types.Vector3 force, int local) + public void llSetForce(LSL_Vector force, int local) { m_host.AddScriptLPS(1); @@ -1655,9 +1712,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.Vector3 llGetForce() + public LSL_Vector llGetForce() { - LSL_Types.Vector3 force = new LSL_Types.Vector3(0.0, 0.0, 0.0); + LSL_Vector force = new LSL_Vector(0.0, 0.0, 0.0); m_host.AddScriptLPS(1); @@ -1675,7 +1732,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return force; } - public LSL_Types.LSLInteger llTarget(LSL_Types.Vector3 position, double range) + public LSL_Integer llTarget(LSL_Vector position, double range) { m_host.AddScriptLPS(1); return m_host.registerTargetWaypoint(new Vector3((float)position.x, (float)position.y, (float)position.z), (float)range); @@ -1687,7 +1744,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.unregisterTargetWaypoint(number); } - public LSL_Types.LSLInteger llRotTarget(LSL_Types.Quaternion rot, double error) + public LSL_Integer llRotTarget(LSL_Rotation rot, double error) { m_host.AddScriptLPS(1); NotImplemented("llRotTarget"); @@ -1700,7 +1757,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llRotTargetRemove"); } - public void llMoveToTarget(LSL_Types.Vector3 target, double tau) + public void llMoveToTarget(LSL_Vector target, double tau) { m_host.AddScriptLPS(1); m_host.MoveToTarget(new Vector3((float)target.x, (float)target.y, (float)target.z), (float)tau); @@ -1712,7 +1769,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.StopMoveToTarget(); } - public void llApplyImpulse(LSL_Types.Vector3 force, int local) + public void llApplyImpulse(LSL_Vector force, int local) { m_host.AddScriptLPS(1); //No energy force yet @@ -1727,62 +1784,62 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ApplyImpulse(new Vector3((float)force.x, (float)force.y, (float)force.z), local != 0); } - public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) + public void llApplyRotationalImpulse(LSL_Vector force, int local) { m_host.AddScriptLPS(1); NotImplemented("llApplyRotationalImpulse"); } - public void llSetTorque(LSL_Types.Vector3 torque, int local) + public void llSetTorque(LSL_Vector torque, int local) { m_host.AddScriptLPS(1); NotImplemented("llSetTorque"); } - public LSL_Types.Vector3 llGetTorque() + public LSL_Vector llGetTorque() { m_host.AddScriptLPS(1); NotImplemented("llGetTorque"); - return new LSL_Types.Vector3(); + return new LSL_Vector(); } - public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) + public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local) { m_host.AddScriptLPS(1); NotImplemented("llSetForceAndTorque"); } - public LSL_Types.Vector3 llGetVel() + public LSL_Vector llGetVel() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); + return new LSL_Vector(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); } - public LSL_Types.Vector3 llGetAccel() + public LSL_Vector llGetAccel() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); + return new LSL_Vector(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); } - public LSL_Types.Vector3 llGetOmega() + public LSL_Vector llGetOmega() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z); + return new LSL_Vector(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z); } - public LSL_Types.LSLFloat llGetTimeOfDay() + public LSL_Float llGetTimeOfDay() { m_host.AddScriptLPS(1); return (double)(((DateTime.Now.TimeOfDay.TotalMilliseconds / 1000) % (3600 * 4)) * World.TimeDilation); } - public LSL_Types.LSLFloat llGetWallclock() + public LSL_Float llGetWallclock() { m_host.AddScriptLPS(1); return DateTime.Now.TimeOfDay.TotalSeconds; } - public LSL_Types.LSLFloat llGetTime() + public LSL_Float llGetTime() { m_host.AddScriptLPS(1); TimeSpan ScriptTime = DateTime.Now - m_timer; @@ -1795,7 +1852,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_timer = DateTime.Now; } - public LSL_Types.LSLFloat llGetAndResetTime() + public LSL_Float llGetAndResetTime() { m_host.AddScriptLPS(1); TimeSpan ScriptTime = DateTime.Now - m_timer; @@ -1900,7 +1957,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// this more complicated than it might otherwise seem. /// - public LSL_Types.LSLString llGetSubString(string src, int start, int end) + public LSL_String llGetSubString(string src, int start, int end) { m_host.AddScriptLPS(1); @@ -1996,7 +2053,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// i.e. end < start. /// - public LSL_Types.LSLString llDeleteSubString(string src, int start, int end) + public LSL_String llDeleteSubString(string src, int start, int end) { m_host.AddScriptLPS(1); @@ -2079,7 +2136,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// string bound, with the result being a concatenation. /// - public LSL_Types.LSLString llInsertString(string dest, int index, string src) + public LSL_String llInsertString(string dest, int index, string src) { m_host.AddScriptLPS(1); @@ -2117,19 +2174,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public LSL_Types.LSLString llToUpper(string src) + public LSL_String llToUpper(string src) { m_host.AddScriptLPS(1); return src.ToUpper(); } - public LSL_Types.LSLString llToLower(string src) + public LSL_String llToLower(string src) { m_host.AddScriptLPS(1); return src.ToLower(); } - public LSL_Types.LSLInteger llGiveMoney(string destination, int amount) + public LSL_Integer llGiveMoney(string destination, int amount) { UUID invItemID=InventorySelf(); if (invItemID == UUID.Zero) @@ -2198,7 +2255,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(100); } - public void llRezAtRoot(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) + public void llRezAtRoot(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param) { m_host.AddScriptLPS(1); @@ -2244,14 +2301,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "object_rez", new Object[] { - new LSL_Types.LSLString( + new LSL_String( new_group.RootPart.UUID.ToString()) }, new DetectParams[0])); float groupmass = new_group.GetMass(); //Recoil. - llApplyImpulse(new LSL_Types.Vector3(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); + llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) ScriptSleep((int)((groupmass * velmag) / 10)); // ScriptSleep(100); @@ -2261,12 +2318,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api llSay(0, "Could not find object " + inventory); } - public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) + public void llRezObject(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param) { llRezAtRoot(inventory, pos, vel, rot, param); } - public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) + public void llLookAt(LSL_Vector target, double strength, double damping) { m_host.AddScriptLPS(1); NotImplemented("llLookAt"); @@ -2291,7 +2348,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api Thread.Sleep((int)(sec * 1000)); } - public LSL_Types.LSLFloat llGetMass() + public LSL_Float llGetMass() { m_host.AddScriptLPS(1); return m_host.GetMass(); @@ -2325,7 +2382,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } m_host.AddScriptLPS(1); - //NotImplemented("llTakeControls"); } public void llReleaseControls() @@ -2378,7 +2434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api Deprecated("llReleaseCamera"); } - public LSL_Types.LSLString llGetOwner() + public LSL_String llGetOwner() { m_host.AddScriptLPS(1); @@ -2428,8 +2484,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api msg.binaryBucket = new byte[0];// binaryBucket; World.TriggerGridInstantMessage(msg, InstantMessageReceiver.IMModule); // ScriptSleep(2000); - - // NotImplemented("llInstantMessage"); } public void llEmail(string address, string subject, string message) @@ -2459,16 +2513,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptEngine.PostObjectEvent(m_host.LocalId, new EventParams("email", new Object[] { - new LSL_Types.LSLString(email.time), - new LSL_Types.LSLString(email.sender), - new LSL_Types.LSLString(email.subject), - new LSL_Types.LSLString(email.message), - new LSL_Types.LSLInteger(email.numLeft)}, + new LSL_String(email.time), + new LSL_String(email.sender), + new LSL_String(email.subject), + new LSL_String(email.message), + new LSL_Integer(email.numLeft)}, new DetectParams[0])); } - public LSL_Types.LSLString llGetKey() + public LSL_String llGetKey() { m_host.AddScriptLPS(1); return m_host.UUID.ToString(); @@ -2512,13 +2566,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llSoundPreload"); } - public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) + public void llRotLookAt(LSL_Rotation target, double strength, double damping) { m_host.AddScriptLPS(1); NotImplemented("llRotLookAt"); } - public LSL_Types.LSLInteger llStringLength(string str) + public LSL_Integer llStringLength(string str) { m_host.AddScriptLPS(1); if (str.Length > 0) @@ -2602,7 +2656,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llStopPointAt"); } - public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) + public void llTargetOmega(LSL_Vector axis, double spinrate, double gain) { m_host.AddScriptLPS(1); m_host.RotationalVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); @@ -2612,13 +2666,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.HasGroupChanged = true; } - public LSL_Types.LSLInteger llGetStartParameter() + public LSL_Integer llGetStartParameter() { m_host.AddScriptLPS(1); return m_ScriptEngine.GetStartParameter(m_itemID); } - public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) + public void llGodLikeRezObject(string inventory, LSL_Vector pos) { m_host.AddScriptLPS(1); NotImplemented("llGodLikeRezObject"); @@ -2645,7 +2699,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "run_time_permissions", new Object[] { - new LSL_Types.LSLInteger(0) }, + new LSL_Integer(0) }, new DetectParams[0])); return; @@ -2671,7 +2725,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "run_time_permissions", new Object[] { - new LSL_Types.LSLInteger(perm) }, + new LSL_Integer(perm) }, new DetectParams[0])); return; @@ -2691,7 +2745,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "run_time_permissions", new Object[] { - new LSL_Types.LSLInteger(perm) }, + new LSL_Integer(perm) }, new DetectParams[0])); return; @@ -2721,7 +2775,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Requested agent is not in range, refuse perms m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "run_time_permissions", new Object[] { - new LSL_Types.LSLInteger(0) }, + new LSL_Integer(0) }, new DetectParams[0])); } @@ -2744,11 +2798,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.TaskInventory[invItemID].PermsMask=answer; m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "run_time_permissions", new Object[] { - new LSL_Types.LSLInteger(answer) }, + new LSL_Integer(answer) }, new DetectParams[0])); } - public LSL_Types.LSLString llGetPermissionsKey() + public LSL_String llGetPermissionsKey() { m_host.AddScriptLPS(1); @@ -2763,7 +2817,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero.ToString(); } - public LSL_Types.LSLInteger llGetPermissions() + public LSL_Integer llGetPermissions() { m_host.AddScriptLPS(1); @@ -2778,7 +2832,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 0; } - public LSL_Types.LSLInteger llGetLinkNumber() + public LSL_Integer llGetLinkNumber() { m_host.AddScriptLPS(1); @@ -2792,7 +2846,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) + public void llSetLinkColor(int linknumber, LSL_Vector color, int face) { List parts = GetLinkParts(linknumber); @@ -2915,7 +2969,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llGetLinkKey(int linknum) + public LSL_String llGetLinkKey(int linknum) { m_host.AddScriptLPS(1); SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); @@ -2929,7 +2983,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llGetLinkName(int linknum) + public LSL_String llGetLinkName(int linknum) { m_host.AddScriptLPS(1); SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); @@ -2943,7 +2997,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetInventoryNumber(int type) + public LSL_Integer llGetInventoryNumber(int type) { m_host.AddScriptLPS(1); int count = 0; @@ -2957,7 +3011,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return count; } - public LSL_Types.LSLString llGetInventoryName(int type, int number) + public LSL_String llGetInventoryName(int type, int number) { m_host.AddScriptLPS(1); ArrayList keys = new ArrayList(); @@ -2999,7 +3053,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLFloat llGetEnergy() + public LSL_Float llGetEnergy() { m_host.AddScriptLPS(1); // TODO: figure out real energy value @@ -3063,7 +3117,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public void llSetText(string text, LSL_Types.Vector3 color, double alpha) + public void llSetText(string text, LSL_Vector color, double alpha) { m_host.AddScriptLPS(1); Vector3 av3 = new Vector3(Util.Clip((float)color.x, 0.0f, 1.0f), @@ -3073,7 +3127,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.HasGroupChanged = true; } - public LSL_Types.LSLFloat llWater(LSL_Types.Vector3 offset) + public LSL_Float llWater(LSL_Vector offset) { m_host.AddScriptLPS(1); return World.RegionInfo.RegionSettings.WaterHeight; @@ -3085,7 +3139,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llPassTouches"); } - public LSL_Types.LSLString llRequestAgentData(string id, int data) + public LSL_String llRequestAgentData(string id, int data) { m_host.AddScriptLPS(1); @@ -3140,7 +3194,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return tid.ToString(); } - public LSL_Types.LSLString llRequestInventoryData(string name) + public LSL_String llRequestInventoryData(string name) { m_host.AddScriptLPS(1); @@ -3203,6 +3257,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(5000); } + public void llTextBox(string avatar, string message, int chat_channel) + { + m_host.AddScriptLPS(1); + NotImplemented("llTextBox"); + } + public void llModifyLand(int action, int brush) { m_host.AddScriptLPS(1); @@ -3221,7 +3281,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llCollisionSprite"); } - public LSL_Types.LSLString llGetAnimation(string id) + public LSL_String llGetAnimation(string id) { m_host.AddScriptLPS(1); NotImplemented("llGetAnimation"); @@ -3259,7 +3319,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api object[] resobj = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3283,7 +3343,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api partItemID = item.ItemID; Object[] resobj = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3311,7 +3371,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api partItemID = item.ItemID; Object[] resobj = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3341,7 +3401,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api partItemID = item.ItemID; Object[] resobj = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3365,7 +3425,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api object[] resobj = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3392,7 +3452,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api partItemID = item.ItemID; Object[] resObjDef = new object[] { - new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) + new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) }; m_ScriptEngine.PostScriptEvent(partItemID, @@ -3410,7 +3470,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) + public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local) { m_host.AddScriptLPS(1); SceneObjectPart targ = World.GetSceneObjectPart(target); @@ -3425,7 +3485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llPassCollisions"); } - public LSL_Types.LSLString llGetScriptName() + public LSL_String llGetScriptName() { string result = String.Empty; @@ -3502,7 +3562,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public LSL_Types.LSLInteger llGetNumberOfSides() + public LSL_Integer llGetNumberOfSides() { m_host.AddScriptLPS(1); @@ -3597,7 +3657,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Xantor 29/apr/2008 // Returns rotation described by rotating angle radians about axis. // q = cos(a/2) + i (x * sin(a/2)) + j (y * sin(a/2)) + k (z * sin(a/2)) - public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) + public LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle) { m_host.AddScriptLPS(1); @@ -3609,13 +3669,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api y = axis.y * t; z = axis.z * t; - return new LSL_Types.Quaternion(x,y,z,s); + return new LSL_Rotation(x,y,z,s); } // Xantor 29/apr/2008 // converts a Quaternion to X,Y,Z axis rotations - public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) + public LSL_Vector llRot2Axis(LSL_Rotation rot) { m_host.AddScriptLPS(1); double x,y,z; @@ -3646,12 +3706,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api z = rot.z / s; } - return new LSL_Types.Vector3(x,y,z); + return new LSL_Vector(x,y,z); } // Returns the angle of a quaternion (see llRot2Axis for the axis) - public LSL_Types.LSLFloat llRot2Angle(LSL_Types.Quaternion rot) + public LSL_Float llRot2Angle(LSL_Rotation rot) { m_host.AddScriptLPS(1); @@ -3671,27 +3731,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return angle; } - public LSL_Types.LSLFloat llAcos(double val) + public LSL_Float llAcos(double val) { m_host.AddScriptLPS(1); return (double)Math.Acos(val); } - public LSL_Types.LSLFloat llAsin(double val) + public LSL_Float llAsin(double val) { m_host.AddScriptLPS(1); return (double)Math.Asin(val); } // Xantor 30/apr/2008 - public LSL_Types.LSLFloat llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) + public LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b) { m_host.AddScriptLPS(1); return (double) Math.Acos(a.x * b.x + a.y * b.y + a.z * b.z + a.s * b.s) * 2; } - public LSL_Types.LSLString llGetInventoryKey(string name) + public LSL_String llGetInventoryKey(string name) { m_host.AddScriptLPS(1); foreach (KeyValuePair inv in m_host.TaskInventory) @@ -3721,15 +3781,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.RootPart.AllowedDrop = false; } - public LSL_Types.Vector3 llGetSunDirection() + public LSL_Vector llGetSunDirection() { m_host.AddScriptLPS(1); - LSL_Types.Vector3 SunDoubleVector3; + LSL_Vector SunDoubleVector3; Vector3 SunFloatVector3; // sunPosition estate setting is set in OpenSim.Region.Environment.Modules.SunModule - // have to convert from Vector3 (float) to LSL_Types.Vector3 (double) + // have to convert from Vector3 (float) to LSL_Vector (double) SunFloatVector3 = World.RegionInfo.RegionSettings.SunVector; SunDoubleVector3.x = (double)SunFloatVector3.X; SunDoubleVector3.y = (double)SunFloatVector3.Y; @@ -3738,16 +3798,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return SunDoubleVector3; } - public LSL_Types.Vector3 llGetTextureOffset(int face) + public LSL_Vector llGetTextureOffset(int face) { m_host.AddScriptLPS(1); return GetTextureOffset(m_host, face); } - private LSL_Types.Vector3 GetTextureOffset(SceneObjectPart part, int face) + private LSL_Vector GetTextureOffset(SceneObjectPart part, int face) { Primitive.TextureEntry tex = part.Shape.Textures; - LSL_Types.Vector3 offset = new LSL_Types.Vector3(); + LSL_Vector offset = new LSL_Vector(); if (face == ScriptBaseClass.ALL_SIDES) { face = 0; @@ -3765,11 +3825,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.Vector3 llGetTextureScale(int side) + public LSL_Vector llGetTextureScale(int side) { m_host.AddScriptLPS(1); Primitive.TextureEntry tex = m_host.Shape.Textures; - LSL_Types.Vector3 scale; + LSL_Vector scale; if (side == -1) { side = 0; @@ -3780,13 +3840,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return scale; } - public LSL_Types.LSLFloat llGetTextureRot(int face) + public LSL_Float llGetTextureRot(int face) { m_host.AddScriptLPS(1); return GetTextureRot(m_host, face); } - private LSL_Types.LSLFloat GetTextureRot(SceneObjectPart part, int face) + private LSL_Float GetTextureRot(SceneObjectPart part, int face) { Primitive.TextureEntry tex = part.Shape.Textures; if (face == -1) @@ -3803,13 +3863,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llSubStringIndex(string source, string pattern) + public LSL_Integer llSubStringIndex(string source, string pattern) { m_host.AddScriptLPS(1); return source.IndexOf(pattern); } - public LSL_Types.LSLString llGetOwnerKey(string id) + public LSL_String llGetOwnerKey(string id) { m_host.AddScriptLPS(1); UUID key = new UUID(); @@ -3834,14 +3894,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.Vector3 llGetCenterOfMass() + public LSL_Vector llGetCenterOfMass() { m_host.AddScriptLPS(1); NotImplemented("llGetCenterOfMass"); - return new LSL_Types.Vector3(); + return new LSL_Vector(); } - public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) + public LSL_List llListSort(LSL_List src, int stride, int ascending) { m_host.AddScriptLPS(1); @@ -3852,7 +3912,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return src.Sort(stride, ascending); } - public LSL_Types.LSLInteger llGetListLength(LSL_Types.list src) + public LSL_Integer llGetListLength(LSL_List src) { m_host.AddScriptLPS(1); @@ -3866,7 +3926,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index) + public LSL_Integer llList2Integer(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3879,12 +3939,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } try { - if (src.Data[index] is LSL_Types.LSLInteger) - return Convert.ToInt32(((LSL_Types.LSLInteger) src.Data[index]).value); - else if (src.Data[index] is LSL_Types.LSLFloat) - return Convert.ToInt32(((LSL_Types.LSLFloat) src.Data[index]).value); - else if (src.Data[index] is LSL_Types.LSLString) - return Convert.ToInt32(((LSL_Types.LSLString) src.Data[index]).m_string); + if (src.Data[index] is LSL_Integer) + return Convert.ToInt32(((LSL_Integer) src.Data[index]).value); + else if (src.Data[index] is LSL_Float) + return Convert.ToInt32(((LSL_Float) src.Data[index]).value); + else if (src.Data[index] is LSL_String) + return Convert.ToInt32(((LSL_String) src.Data[index]).m_string); return Convert.ToInt32(src.Data[index]); } catch (FormatException) @@ -3893,7 +3953,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLFloat llList2Float(LSL_Types.list src, int index) + public LSL_Float llList2Float(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3906,12 +3966,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } try { - if (src.Data[index] is LSL_Types.LSLInteger) - return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value); - else if (src.Data[index] is LSL_Types.LSLFloat) - return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value); - else if (src.Data[index] is LSL_Types.LSLString) - return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string); + if (src.Data[index] is LSL_Integer) + return Convert.ToDouble(((LSL_Integer) src.Data[index]).value); + else if (src.Data[index] is LSL_Float) + return Convert.ToDouble(((LSL_Float) src.Data[index]).value); + else if (src.Data[index] is LSL_String) + return Convert.ToDouble(((LSL_String) src.Data[index]).m_string); return Convert.ToDouble(src.Data[index]); } catch (FormatException) @@ -3920,7 +3980,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llList2String(LSL_Types.list src, int index) + public LSL_String llList2String(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3934,7 +3994,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return src.Data[index].ToString(); } - public LSL_Types.LSLString llList2Key(LSL_Types.list src, int index) + public LSL_String llList2Key(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3948,7 +4008,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return src.Data[index].ToString(); } - public LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index) + public LSL_Vector llList2Vector(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3957,19 +4017,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } if (index >= src.Length) { - return new LSL_Types.Vector3(0, 0, 0); + return new LSL_Vector(0, 0, 0); } - if (src.Data[index].GetType() == typeof(LSL_Types.Vector3)) + if (src.Data[index].GetType() == typeof(LSL_Vector)) { - return (LSL_Types.Vector3)src.Data[index]; + return (LSL_Vector)src.Data[index]; } else { - return new LSL_Types.Vector3(src.Data[index].ToString()); + return new LSL_Vector(src.Data[index].ToString()); } } - public LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index) + public LSL_Rotation llList2Rot(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -3978,30 +4038,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } if (index >= src.Length) { - return new LSL_Types.Quaternion(0, 0, 0, 1); + return new LSL_Rotation(0, 0, 0, 1); } - if (src.Data[index].GetType() == typeof(LSL_Types.Quaternion)) + if (src.Data[index].GetType() == typeof(LSL_Rotation)) { - return (LSL_Types.Quaternion)src.Data[index]; + return (LSL_Rotation)src.Data[index]; } else { - return new LSL_Types.Quaternion(src.Data[index].ToString()); + return new LSL_Rotation(src.Data[index].ToString()); } } - public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) + public LSL_List llList2List(LSL_List src, int start, int end) { m_host.AddScriptLPS(1); return src.GetSublist(start, end); } - public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) + public LSL_List llDeleteSubList(LSL_List src, int start, int end) { return src.DeleteSublist(end, start); } - public LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index) + public LSL_Integer llGetListEntryType(LSL_List src, int index) { m_host.AddScriptLPS(1); if (index < 0) @@ -4013,11 +4073,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 0; } - if (src.Data[index] is LSL_Types.LSLInteger || src.Data[index] is Int32) + if (src.Data[index] is LSL_Integer || src.Data[index] is Int32) return 1; - if (src.Data[index] is LSL_Types.LSLFloat || src.Data[index] is Single || src.Data[index] is Double) + if (src.Data[index] is LSL_Float || src.Data[index] is Single || src.Data[index] is Double) return 2; - if (src.Data[index] is LSL_Types.LSLString || src.Data[index] is String) + if (src.Data[index] is LSL_String || src.Data[index] is String) { UUID tuuid; if (UUID.TryParse(src.Data[index].ToString(), out tuuid)) @@ -4029,11 +4089,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 3; } } - if (src.Data[index] is LSL_Types.Vector3) + if (src.Data[index] is LSL_Vector) return 5; - if (src.Data[index] is LSL_Types.Quaternion) + if (src.Data[index] is LSL_Rotation) return 6; - if (src.Data[index] is LSL_Types.list) + if (src.Data[index] is LSL_List) return 7; return 0; @@ -4046,7 +4106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// each comma. /// - public LSL_Types.LSLString llList2CSV(LSL_Types.list src) + public LSL_String llList2CSV(LSL_List src) { string ret = String.Empty; @@ -4074,10 +4134,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// before or after an element is trimmed. /// - public LSL_Types.list llCSV2List(string src) + public LSL_List llCSV2List(string src) { - LSL_Types.list result = new LSL_Types.list(); + LSL_List result = new LSL_List(); int parens = 0; int start = 0; int length = 0; @@ -4131,9 +4191,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// sizes. /// - public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) + public LSL_List llListRandomize(LSL_List src, int stride) { - LSL_Types.list result; + LSL_List result; Random rand = new Random(); int chunkk; @@ -4174,7 +4234,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Construct the randomized list - result = new LSL_Types.list(); + result = new LSL_List(); for (int i = 0; i < chunkk; i++) { @@ -4187,7 +4247,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else { object[] array = new object[src.Length]; Array.Copy(src.Data, 0, array, 0, src.Length); - result = new LSL_Types.list(array); + result = new LSL_List(array); } return result; @@ -4201,10 +4261,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// range are included in the result. /// - public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) + public LSL_List llList2ListStrided(LSL_List src, int start, int end, int stride) { - LSL_Types.list result = new LSL_Types.list(); + LSL_List result = new LSL_List(); int[] si = new int[2]; int[] ei = new int[2]; bool twopass = false; @@ -4281,10 +4341,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return result; } - public LSL_Types.Vector3 llGetRegionCorner() + public LSL_Integer llGetRegionAgentCount() + { + m_host.AddScriptLPS(1); + NotImplemented("llGetRegionAgentCount"); + return new LSL_Integer(0); + } + + public LSL_Vector llGetRegionCorner() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0); + return new LSL_Vector(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0); } /// @@ -4293,11 +4360,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// new element has the index specified by /// - public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int index) + public LSL_List llListInsertList(LSL_List dest, LSL_List src, int index) { - LSL_Types.list pref = null; - LSL_Types.list suff = null; + LSL_List pref = null; + LSL_List suff = null; m_host.AddScriptLPS(1); @@ -4343,7 +4410,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// in src. /// - public LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test) + public LSL_Integer llListFindList(LSL_List src, LSL_List test) { int index = -1; @@ -4376,7 +4443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public LSL_Types.LSLString llGetObjectName() + public LSL_String llGetObjectName() { m_host.AddScriptLPS(1); return m_host.Name!=null?m_host.Name:String.Empty; @@ -4388,7 +4455,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.Name = name!=null?name:String.Empty; } - public LSL_Types.LSLString llGetDate() + public LSL_String llGetDate() { m_host.AddScriptLPS(1); DateTime date = DateTime.Now.ToUniversalTime(); @@ -4396,14 +4463,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return result; } - public LSL_Types.LSLInteger llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) + public LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir) { m_host.AddScriptLPS(1); NotImplemented("llEdgeOfWorld"); return 0; } - public LSL_Types.LSLInteger llGetAgentInfo(string id) + public LSL_Integer llGetAgentInfo(string id) { m_host.AddScriptLPS(1); NotImplemented("llGetAgentInfo"); @@ -4429,7 +4496,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.SoundRadius = radius; } - public LSL_Types.LSLString llKey2Name(string id) + public LSL_String llKey2Name(string id) { m_host.AddScriptLPS(1); UUID key = new UUID(); @@ -4475,8 +4542,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.ParentGroup.HasGroupChanged = true; } - public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, - LSL_Types.Vector3 bottom_south_west) + public void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, + LSL_Vector bottom_south_west) { m_host.AddScriptLPS(1); NotImplemented("llTriggerSoundLimited"); @@ -4499,10 +4566,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(5000); } - public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers) + public LSL_List llParseString2List(string str, LSL_List separators, LSL_List spacers) { m_host.AddScriptLPS(1); - LSL_Types.list ret = new LSL_Types.list(); + LSL_List ret = new LSL_List(); object[] delimiters = new object[separators.Length + spacers.Length]; separators.Data.CopyTo(delimiters, 0); spacers.Data.CopyTo(delimiters, separators.Length); @@ -4555,7 +4622,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ret; } - public LSL_Types.LSLInteger llOverMyLand(string id) + public LSL_Integer llOverMyLand(string id) { m_host.AddScriptLPS(1); UUID key = new UUID(); @@ -4578,17 +4645,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 0; } - public LSL_Types.LSLString llGetLandOwnerAt(LSL_Types.Vector3 pos) + public LSL_String llGetLandOwnerAt(LSL_Vector pos) { m_host.AddScriptLPS(1); return World.GetLandOwner((float)pos.x, (float)pos.y).ToString(); } - public LSL_Types.Vector3 llGetAgentSize(string id) + public LSL_Vector llGetAgentSize(string id) { m_host.AddScriptLPS(1); ScenePresence avatar = World.GetScenePresence(id); - LSL_Types.Vector3 agentSize; + LSL_Vector agentSize; if (avatar == null) { agentSize = ScriptBaseClass.ZERO_VECTOR; @@ -4596,25 +4663,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else { PhysicsVector size = avatar.PhysicsActor.Size; - agentSize = new LSL_Types.Vector3(size.X, size.Y, size.Z); + agentSize = new LSL_Vector(size.X, size.Y, size.Z); } return agentSize; } - public LSL_Types.LSLInteger llSameGroup(string agent) + public LSL_Integer llSameGroup(string agent) { m_host.AddScriptLPS(1); UUID agentId = new UUID(); if (!UUID.TryParse(agent, out agentId)) - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(0); ScenePresence presence = World.GetScenePresence(agentId); if (presence == null) - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(0); IClientAPI client = presence.ControllingClient; if (m_host.GroupID == client.ActiveGroupId) - return new LSL_Types.LSLInteger(1); + return new LSL_Integer(1); else - return new LSL_Types.LSLInteger(0); + return new LSL_Integer(0); } public void llUnSit(string id) @@ -4660,7 +4727,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) + public LSL_Vector llGroundSlope(LSL_Vector offset) { m_host.AddScriptLPS(1); @@ -4670,15 +4737,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api Vector3 p0 = new Vector3(pos.X, pos.Y, (float)llGround( - new LSL_Types.Vector3(pos.X, pos.Y, pos.Z) + new LSL_Vector(pos.X, pos.Y, pos.Z) )); Vector3 p1 = new Vector3(pos.X + 1, pos.Y, (float)llGround( - new LSL_Types.Vector3(pos.X + 1, pos.Y, pos.Z) + new LSL_Vector(pos.X + 1, pos.Y, pos.Z) )); Vector3 p2 = new Vector3(pos.X, pos.Y + 1, (float)llGround( - new LSL_Types.Vector3(pos.X, pos.Y + 1, pos.Z) + new LSL_Vector(pos.X, pos.Y + 1, pos.Z) )); Vector3 v0 = new Vector3( @@ -4694,50 +4761,50 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api tv.Y = (v0.Z * v1.X) - (v0.X * v1.Z); tv.Z = (v0.X * v1.Y) - (v0.Y * v1.X); - return new LSL_Types.Vector3(tv.X, tv.Y, tv.Z); + return new LSL_Vector(tv.X, tv.Y, tv.Z); } - public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) + public LSL_Vector llGroundNormal(LSL_Vector offset) { m_host.AddScriptLPS(1); - LSL_Types.Vector3 x = llGroundSlope(offset); - return new LSL_Types.Vector3(x.x, x.y, 1.0); + LSL_Vector x = llGroundSlope(offset); + return new LSL_Vector(x.x, x.y, 1.0); } - public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) + public LSL_Vector llGroundContour(LSL_Vector offset) { m_host.AddScriptLPS(1); - LSL_Types.Vector3 x = llGroundSlope(offset); - return new LSL_Types.Vector3(-x.y, x.x, 0.0); + LSL_Vector x = llGroundSlope(offset); + return new LSL_Vector(-x.y, x.x, 0.0); } - public LSL_Types.LSLInteger llGetAttached() + public LSL_Integer llGetAttached() { m_host.AddScriptLPS(1); NotImplemented("llGetAttached"); return 0; } - public LSL_Types.LSLInteger llGetFreeMemory() + public LSL_Integer llGetFreeMemory() { m_host.AddScriptLPS(1); // Make scripts designed for LSO happy return 16384; } - public LSL_Types.LSLString llGetRegionName() + public LSL_String llGetRegionName() { m_host.AddScriptLPS(1); return World.RegionInfo.RegionName; } - public LSL_Types.LSLFloat llGetRegionTimeDilation() + public LSL_Float llGetRegionTimeDilation() { m_host.AddScriptLPS(1); return (double)World.TimeDilation; } - public LSL_Types.LSLFloat llGetRegionFPS() + public LSL_Float llGetRegionFPS() { m_host.AddScriptLPS(1); //TODO: return actual FPS @@ -4803,7 +4870,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ps; } - public void llParticleSystem(LSL_Types.list rules) + public void llParticleSystem(LSL_List rules) { m_host.AddScriptLPS(1); if (rules.Length == 0) @@ -4814,7 +4881,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api else { Primitive.ParticleSystem prules = getNewParticleSystemWithSLDefaultValues(); - LSL_Types.Vector3 tempv = new LSL_Types.Vector3(); + LSL_Vector tempv = new LSL_Vector(); float tempf = 0; @@ -4968,7 +5035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero; } - public void llGiveInventoryList(string destination, string category, LSL_Types.list inventory) + public void llGiveInventoryList(string destination, string category, LSL_List inventory) { m_host.AddScriptLPS(1); @@ -5017,13 +5084,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llSetVehicleFloatParam"); } - public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) + public void llSetVehicleVectorParam(int param, LSL_Vector vec) { m_host.AddScriptLPS(1); NotImplemented("llSetVehicleVectorParam"); } - public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) + public void llSetVehicleRotationParam(int param, LSL_Rotation rot) { m_host.AddScriptLPS(1); NotImplemented("llSetVehicleRotationParam"); @@ -5041,7 +5108,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llRemoveVehicleFlags"); } - public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) + public void llSitTarget(LSL_Vector offset, LSL_Rotation rot) { m_host.AddScriptLPS(1); // LSL quaternions can normalize to 0, normal Quaternions can't. @@ -5052,7 +5119,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.SitTargetOrientation = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); } - public LSL_Types.LSLString llAvatarOnSitTarget() + public LSL_String llAvatarOnSitTarget() { m_host.AddScriptLPS(1); return m_host.GetAvatarOnSitTarget().ToString(); @@ -5089,19 +5156,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.SitName = text; } - public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) + public void llSetCameraEyeOffset(LSL_Vector offset) { m_host.AddScriptLPS(1); m_host.SetCameraEyeOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); } - public void llSetCameraAtOffset(LSL_Types.Vector3 offset) + public void llSetCameraAtOffset(LSL_Vector offset) { m_host.AddScriptLPS(1); m_host.SetCameraAtOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); } - public LSL_Types.LSLString llDumpList2String(LSL_Types.list src, string seperator) + public LSL_String llDumpList2String(LSL_List src, string seperator) { m_host.AddScriptLPS(1); if (src.Length == 0) @@ -5117,7 +5184,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ret; } - public LSL_Types.LSLInteger llScriptDanger(LSL_Types.Vector3 pos) + public LSL_Integer llScriptDanger(LSL_Vector pos) { m_host.AddScriptLPS(1); bool result = World.scriptDanger(m_host.LocalId, new Vector3((float)pos.x, (float)pos.y, (float)pos.z)); @@ -5132,7 +5199,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) + public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel) { m_host.AddScriptLPS(1); UUID av = new UUID(); @@ -5188,7 +5255,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ShoutError("llResetOtherScript: script "+name+" not found"); } - public LSL_Types.LSLInteger llGetScriptState(string name) + public LSL_Integer llGetScriptState(string name) { UUID item; @@ -5273,7 +5340,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (xmlrpcMod.IsEnabled()) { UUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, UUID.Zero); - object[] resobj = new object[] { new LSL_Types.LSLInteger(1), new LSL_Types.LSLString(channelID.ToString()), new LSL_Types.LSLString(UUID.Zero.ToString()), new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLInteger(0), new LSL_Types.LSLString(String.Empty) }; + object[] resobj = new object[] { new LSL_Integer(1), new LSL_String(channelID.ToString()), new LSL_String(UUID.Zero.ToString()), new LSL_String(String.Empty), new LSL_Integer(0), new LSL_String(String.Empty) }; m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( "remote_data", resobj, new DetectParams[0])); @@ -5281,7 +5348,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(1000); } - public LSL_Types.LSLString llSendRemoteData(string channel, string dest, int idata, string sdata) + public LSL_String llSendRemoteData(string channel, string dest, int idata, string sdata) { m_host.AddScriptLPS(1); IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface(); @@ -5305,13 +5372,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(1000); } - public LSL_Types.LSLString llMD5String(string src, int nonce) + public LSL_String llMD5String(string src, int nonce) { m_host.AddScriptLPS(1); return Util.Md5Hash(src + ":" + nonce.ToString()); } - private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist) + private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist) { ObjectShapePacket.ObjectDataBlock shapeBlock = new ObjectShapePacket.ObjectDataBlock(); @@ -5381,7 +5448,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return shapeBlock; } - private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 taper_b, LSL_Types.Vector3 topshear, byte fudge) + private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector taper_b, LSL_Vector topshear, byte fudge) { ObjectShapePacket.ObjectDataBlock shapeBlock; @@ -5429,7 +5496,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.UpdateShape(shapeBlock); } - private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 dimple, byte fudge) + private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector dimple, byte fudge) { ObjectShapePacket.ObjectDataBlock shapeBlock; @@ -5470,7 +5537,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.UpdateShape(shapeBlock); } - private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 holesize, LSL_Types.Vector3 topshear, LSL_Types.Vector3 profilecut, LSL_Types.Vector3 taper_a, float revolutions, float radiusoffset, float skew, byte fudge) + private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector holesize, LSL_Vector topshear, LSL_Vector profilecut, LSL_Vector taper_a, float revolutions, float radiusoffset, float skew, byte fudge) { ObjectShapePacket.ObjectDataBlock shapeBlock; @@ -5622,12 +5689,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api part.UpdateShape(shapeBlock); } - public void llSetPrimitiveParams(LSL_Types.list rules) + public void llSetPrimitiveParams(LSL_List rules) { SetPrimParams(m_host, rules); } - public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules) + public void llSetLinkPrimitiveParams(int linknumber, LSL_List rules) { m_host.AddScriptLPS(1); @@ -5637,7 +5704,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api SetPrimParams(part, rules); } - private void SetPrimParams(SceneObjectPart part, LSL_Types.list rules) + private void SetPrimParams(SceneObjectPart part, LSL_List rules) { int idx = 0; @@ -5648,7 +5715,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api int remain = rules.Length - idx; int face; - LSL_Types.Vector3 v; + LSL_Vector v; switch (code) { @@ -5672,7 +5739,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (remain < 1) return; - LSL_Types.Quaternion q = rules.GetQuaternionItem(idx++); + LSL_Rotation q = rules.GetQuaternionItem(idx++); SetRot(part, q); break; @@ -5685,14 +5752,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api remain = rules.Length - idx; float hollow; - LSL_Types.Vector3 twist; - LSL_Types.Vector3 taper_b; - LSL_Types.Vector3 topshear; + LSL_Vector twist; + LSL_Vector taper_b; + LSL_Vector topshear; float revolutions; float radiusoffset; float skew; - LSL_Types.Vector3 holesize; - LSL_Types.Vector3 profilecut; + LSL_Vector holesize; + LSL_Vector profilecut; switch (code) { @@ -5829,8 +5896,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api face=(int)rules.GetLSLIntegerItem(idx++); string tex=rules.Data[idx++].ToString(); - LSL_Types.Vector3 repeats=rules.GetVector3Item(idx++); - LSL_Types.Vector3 offsets=rules.GetVector3Item(idx++); + LSL_Vector repeats=rules.GetVector3Item(idx++); + LSL_Vector offsets=rules.GetVector3Item(idx++); double rotation=(double)rules.GetLSLFloatItem(idx++); SetTexture(part, tex, face); @@ -5845,7 +5912,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return; face=(int)rules.GetLSLIntegerItem(idx++); - LSL_Types.Vector3 color=rules.GetVector3Item(idx++); + LSL_Vector color=rules.GetVector3Item(idx++); double alpha=(double)rules.GetLSLFloatItem(idx++); SetColor(part, color, face); @@ -5862,7 +5929,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api float friction = (float)rules.GetLSLFloatItem(idx++); float wind = (float)rules.GetLSLFloatItem(idx++); float tension = (float)rules.GetLSLFloatItem(idx++); - LSL_Types.Vector3 force = rules.GetVector3Item(idx++); + LSL_Vector force = rules.GetVector3Item(idx++); SetFlexi(part, flexi, softness, gravity, friction, wind, tension, force); @@ -5871,7 +5938,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (remain < 5) return; bool light = rules.GetLSLIntegerItem(idx++); - LSL_Types.Vector3 lightcolor = rules.GetVector3Item(idx++); + LSL_Vector lightcolor = rules.GetVector3Item(idx++); float intensity = (float)rules.GetLSLFloatItem(idx++); float radius = (float)rules.GetLSLFloatItem(idx++); float falloff = (float)rules.GetLSLFloatItem(idx++); @@ -5951,7 +6018,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llStringToBase64(string str) + public LSL_String llStringToBase64(string str) { m_host.AddScriptLPS(1); try @@ -5967,7 +6034,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llBase64ToString(string str) + public LSL_String llBase64ToString(string str) { m_host.AddScriptLPS(1); UTF8Encoding encoder = new UTF8Encoding(); @@ -6000,23 +6067,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llRemoteDataSetRegion"); } - public LSL_Types.LSLFloat llLog10(double val) + public LSL_Float llLog10(double val) { m_host.AddScriptLPS(1); return (double)Math.Log10(val); } - public LSL_Types.LSLFloat llLog(double val) + public LSL_Float llLog(double val) { m_host.AddScriptLPS(1); return (double)Math.Log(val); } - public LSL_Types.list llGetAnimationList( string id ) + public LSL_List llGetAnimationList( string id ) { m_host.AddScriptLPS(1); - LSL_Types.list l = new LSL_Types.list(); + LSL_List l = new LSL_List(); ScenePresence av = World.GetScenePresence(id); if (av == null) return l; @@ -6043,19 +6110,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(2000); } - public LSL_Types.Vector3 llGetRootPosition() + public LSL_Vector llGetRootPosition() { m_host.AddScriptLPS(1); - return new LSL_Types.Vector3(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); + return new LSL_Vector(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); } - public LSL_Types.Quaternion llGetRootRotation() + public LSL_Rotation llGetRootRotation() { m_host.AddScriptLPS(1); - return new LSL_Types.Quaternion(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); + return new LSL_Rotation(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); } - public LSL_Types.LSLString llGetObjectDesc() + public LSL_String llGetObjectDesc() { return m_host.Description!=null?m_host.Description:String.Empty; } @@ -6066,13 +6133,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.Description = desc!=null?desc:String.Empty; } - public LSL_Types.LSLString llGetCreator() + public LSL_String llGetCreator() { m_host.AddScriptLPS(1); return m_host.ObjectCreator.ToString(); } - public LSL_Types.LSLString llGetTimestamp() + public LSL_String llGetTimestamp() { m_host.AddScriptLPS(1); return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); @@ -6156,29 +6223,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetNumberOfPrims() + public LSL_Integer llGetNumberOfPrims() { m_host.AddScriptLPS(1); return m_host.ParentGroup.PrimCount; } - public LSL_Types.list llGetBoundingBox(string obj) + public LSL_List llGetBoundingBox(string obj) { m_host.AddScriptLPS(1); NotImplemented("llGetBoundingBox"); - return new LSL_Types.list(); + return new LSL_List(); } - public LSL_Types.Vector3 llGetGeometricCenter() + public LSL_Vector llGetGeometricCenter() { - return new LSL_Types.Vector3(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); + return new LSL_Vector(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); } - public LSL_Types.list llGetPrimitiveParams(LSL_Types.list rules) + public LSL_List llGetPrimitiveParams(LSL_List rules) { m_host.AddScriptLPS(1); - LSL_Types.list res = new LSL_Types.list(); + LSL_List res = new LSL_List(); int idx=0; while (idx < rules.Length) { @@ -6188,44 +6255,44 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api switch (code) { case (int)ScriptBaseClass.PRIM_MATERIAL: - res.Add(new LSL_Types.LSLInteger(m_host.Material)); + res.Add(new LSL_Integer(m_host.Material)); break; case (int)ScriptBaseClass.PRIM_PHYSICS: if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Physics) != 0) - res.Add(new LSL_Types.LSLInteger(1)); + res.Add(new LSL_Integer(1)); else - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ: if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.TemporaryOnRez) != 0) - res.Add(new LSL_Types.LSLInteger(1)); + res.Add(new LSL_Integer(1)); else - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_PHANTOM: if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0) - res.Add(new LSL_Types.LSLInteger(1)); + res.Add(new LSL_Integer(1)); else - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_POSITION: - res.Add(new LSL_Types.Vector3(m_host.AbsolutePosition.X, + res.Add(new LSL_Vector(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y, m_host.AbsolutePosition.Z)); break; case (int)ScriptBaseClass.PRIM_SIZE: - res.Add(new LSL_Types.Vector3(m_host.Scale.X, + res.Add(new LSL_Vector(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z)); break; case (int)ScriptBaseClass.PRIM_ROTATION: - res.Add(new LSL_Types.Quaternion(m_host.RotationOffset.X, + res.Add(new LSL_Rotation(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W)); @@ -6235,69 +6302,69 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // implementing box PrimitiveBaseShape Shape = m_host.Shape; int primType = getScriptPrimType(m_host.Shape); - res.Add(new LSL_Types.LSLInteger(primType)); + res.Add(new LSL_Integer(primType)); switch (primType) { case ScriptBaseClass.PRIM_TYPE_BOX: case ScriptBaseClass.PRIM_TYPE_CYLINDER: case ScriptBaseClass.PRIM_TYPE_PRISM: - res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); - res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); - res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); - res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); - res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); - res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); + res.Add(new LSL_Integer(Shape.ProfileCurve)); + res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); + res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); + res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); + res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); + res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); break; case ScriptBaseClass.PRIM_TYPE_SPHERE: - res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); - res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); - res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); - res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); - res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); + res.Add(new LSL_Integer(Shape.ProfileCurve)); + res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); + res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); + res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); + res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); break; case ScriptBaseClass.PRIM_TYPE_SCULPT: res.Add(Shape.SculptTexture.ToString()); - res.Add(new LSL_Types.LSLInteger(Shape.SculptType)); + res.Add(new LSL_Integer(Shape.SculptType)); break; case ScriptBaseClass.PRIM_TYPE_RING: case ScriptBaseClass.PRIM_TYPE_TUBE: case ScriptBaseClass.PRIM_TYPE_TORUS: // holeshape - res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); + res.Add(new LSL_Integer(Shape.ProfileCurve)); // cut - res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); + res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); // hollow - res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); + res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); // twist - res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); + res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); // vector holesize - res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); + res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); // vector topshear - res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); + res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); // vector profilecut - res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); + res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); // vector tapera - res.Add(new LSL_Types.Vector3(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0)); + res.Add(new LSL_Vector(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0)); // float revolutions, - res.Add(new LSL_Types.LSLFloat(Shape.PathRevolutions / 50.0)); // needs fixing :( + res.Add(new LSL_Float(Shape.PathRevolutions / 50.0)); // needs fixing :( // float radiusoffset, - res.Add(new LSL_Types.LSLFloat(Shape.PathRadiusOffset / 100.0)); + res.Add(new LSL_Float(Shape.PathRadiusOffset / 100.0)); // float skew - res.Add(new LSL_Types.LSLFloat(Shape.PathSkew / 100.0)); + res.Add(new LSL_Float(Shape.PathSkew / 100.0)); break; } @@ -6315,14 +6382,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { Primitive.TextureEntryFace texface = tex.GetFace((uint)face); - res.Add(new LSL_Types.LSLString(texface.TextureID.ToString())); - res.Add(new LSL_Types.Vector3(texface.RepeatU, + res.Add(new LSL_String(texface.TextureID.ToString())); + res.Add(new LSL_Vector(texface.RepeatU, texface.RepeatV, 0)); - res.Add(new LSL_Types.Vector3(texface.OffsetU, + res.Add(new LSL_Vector(texface.OffsetU, texface.OffsetV, 0)); - res.Add(new LSL_Types.LSLFloat(texface.Rotation)); + res.Add(new LSL_Float(texface.Rotation)); } } else @@ -6331,14 +6398,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api { Primitive.TextureEntryFace texface = tex.GetFace((uint)face); - res.Add(new LSL_Types.LSLString(texface.TextureID.ToString())); - res.Add(new LSL_Types.Vector3(texface.RepeatU, + res.Add(new LSL_String(texface.TextureID.ToString())); + res.Add(new LSL_Vector(texface.RepeatU, texface.RepeatV, 0)); - res.Add(new LSL_Types.Vector3(texface.OffsetU, + res.Add(new LSL_Vector(texface.OffsetU, texface.OffsetV, 0)); - res.Add(new LSL_Types.LSLFloat(texface.Rotation)); + res.Add(new LSL_Float(texface.Rotation)); } } break; @@ -6356,19 +6423,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api for (face = 0 ; face < GetNumberOfSides(m_host) ; face++) { texcolor = tex.GetFace((uint)face).RGBA; - res.Add(new LSL_Types.Vector3(texcolor.R, + res.Add(new LSL_Vector(texcolor.R, texcolor.G, texcolor.B)); - res.Add(new LSL_Types.LSLFloat(texcolor.A)); + res.Add(new LSL_Float(texcolor.A)); } } else { texcolor = tex.GetFace((uint)face).RGBA; - res.Add(new LSL_Types.Vector3(texcolor.R, + res.Add(new LSL_Vector(texcolor.R, texcolor.G, texcolor.B)); - res.Add(new LSL_Types.LSLFloat(texcolor.A)); + res.Add(new LSL_Float(texcolor.A)); } break; @@ -6379,8 +6446,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api face=(int)rules.GetLSLIntegerItem(idx++); - res.Add(new LSL_Types.LSLInteger(0)); - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_FULLBRIGHT: @@ -6390,22 +6457,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api face=(int)rules.GetLSLIntegerItem(idx++); - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_FLEXIBLE: PrimitiveBaseShape shape = m_host.Shape; if (shape.FlexiEntry) - res.Add(new LSL_Types.LSLInteger(1)); // active + res.Add(new LSL_Integer(1)); // active else - res.Add(new LSL_Types.LSLInteger(0)); - res.Add(new LSL_Types.LSLInteger(shape.FlexiSoftness));// softness - res.Add(new LSL_Types.LSLFloat(shape.FlexiGravity)); // gravity - res.Add(new LSL_Types.LSLFloat(shape.FlexiDrag)); // friction - res.Add(new LSL_Types.LSLFloat(shape.FlexiWind)); // wind - res.Add(new LSL_Types.LSLFloat(shape.FlexiTension)); // tension - res.Add(new LSL_Types.Vector3(shape.FlexiForceX, // force + res.Add(new LSL_Integer(0)); + res.Add(new LSL_Integer(shape.FlexiSoftness));// softness + res.Add(new LSL_Float(shape.FlexiGravity)); // gravity + res.Add(new LSL_Float(shape.FlexiDrag)); // friction + res.Add(new LSL_Float(shape.FlexiWind)); // wind + res.Add(new LSL_Float(shape.FlexiTension)); // tension + res.Add(new LSL_Vector(shape.FlexiForceX, // force shape.FlexiForceY, shape.FlexiForceZ)); break; @@ -6418,22 +6485,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api face=(int)rules.GetLSLIntegerItem(idx++); - res.Add(new LSL_Types.LSLInteger(0)); + res.Add(new LSL_Integer(0)); break; case (int)ScriptBaseClass.PRIM_POINT_LIGHT: shape = m_host.Shape; if (shape.LightEntry) - res.Add(new LSL_Types.LSLInteger(1)); // active + res.Add(new LSL_Integer(1)); // active else - res.Add(new LSL_Types.LSLInteger(0)); - res.Add(new LSL_Types.Vector3(shape.LightColorR, // color + res.Add(new LSL_Integer(0)); + res.Add(new LSL_Vector(shape.LightColorR, // color shape.LightColorG, shape.LightColorB)); - res.Add(new LSL_Types.LSLFloat(shape.LightIntensity)); // intensity - res.Add(new LSL_Types.LSLFloat(shape.LightRadius)); // radius - res.Add(new LSL_Types.LSLFloat(shape.LightFalloff)); // falloff + res.Add(new LSL_Float(shape.LightIntensity)); // intensity + res.Add(new LSL_Float(shape.LightRadius)); // radius + res.Add(new LSL_Float(shape.LightFalloff)); // falloff break; case (int)ScriptBaseClass.PRIM_GLOW: @@ -6443,7 +6510,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api face=(int)rules.GetLSLIntegerItem(idx++); - res.Add(new LSL_Types.LSLFloat(0)); + res.Add(new LSL_Float(0)); break; } } @@ -6577,7 +6644,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // characters are padded with "=". // - public LSL_Types.LSLString llIntegerToBase64(int number) + public LSL_String llIntegerToBase64(int number) { // uninitialized string @@ -6640,7 +6707,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // // - public LSL_Types.LSLInteger llBase64ToInteger(string str) + public LSL_Integer llBase64ToInteger(string str) { int number = 0; int digit; @@ -6700,19 +6767,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return number; } - public LSL_Types.LSLFloat llGetGMTclock() + public LSL_Float llGetGMTclock() { m_host.AddScriptLPS(1); return DateTime.UtcNow.TimeOfDay.TotalSeconds; } - public LSL_Types.LSLString llGetSimulatorHostname() + public LSL_String llGetSimulatorHostname() { m_host.AddScriptLPS(1); return System.Environment.MachineName; } - public void llSetLocalRot(LSL_Types.Quaternion rot) + public void llSetLocalRot(LSL_Rotation rot) { m_host.AddScriptLPS(1); m_host.RotationOffset = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); @@ -6767,7 +6834,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // of arrays or other objects. // - public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list separators, LSL_Types.list spacers) + public LSL_List llParseStringKeepNulls(string src, LSL_List separators, LSL_List spacers) { int beginning = 0; int srclen = src.Length; @@ -6785,7 +6852,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // Initial capacity reduces resize cost - LSL_Types.list tokens = new LSL_Types.list(); + LSL_List tokens = new LSL_List(); m_host.AddScriptLPS(1); @@ -6895,7 +6962,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return tokens; } - public LSL_Types.LSLInteger llGetObjectPermMask(int mask) + public LSL_Integer llGetObjectPermMask(int mask) { m_host.AddScriptLPS(1); @@ -6968,7 +7035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetInventoryPermMask(string item, int mask) + public LSL_Integer llGetInventoryPermMask(string item, int mask) { m_host.AddScriptLPS(1); foreach (KeyValuePair inv in m_host.TaskInventory) @@ -6999,7 +7066,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api NotImplemented("llSetInventoryPermMask"); } - public LSL_Types.LSLString llGetInventoryCreator(string item) + public LSL_String llGetInventoryCreator(string item) { m_host.AddScriptLPS(1); foreach (KeyValuePair inv in m_host.TaskInventory) @@ -7022,7 +7089,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // wComm.DeliverMessage(ChatTypeEnum.Owner, 0, m_host.Name, m_host.UUID, msg); } - public LSL_Types.LSLString llRequestSimulatorData(string simulator, int data) + public LSL_String llRequestSimulatorData(string simulator, int data) { try { @@ -7040,7 +7107,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(1000); return UUID.Zero.ToString(); } - reply = new LSL_Types.Vector3( + reply = new LSL_Vector( info.RegionLocX * Constants.RegionSize, info.RegionLocY * Constants.RegionSize, 0).ToString(); @@ -7096,7 +7163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api m_host.SetForceMouselook(mouselook != 0); } - public LSL_Types.LSLFloat llGetObjectMass(string id) + public LSL_Float llGetObjectMass(string id) { m_host.AddScriptLPS(1); UUID key = new UUID(); @@ -7119,9 +7186,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api /// and the source list is added as a suffix. /// - public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) + public LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end) { - LSL_Types.list pref = null; + LSL_List pref = null; m_host.AddScriptLPS(1); @@ -7198,7 +7265,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(10000); } - public void llParcelMediaCommandList(LSL_Types.list commandList) + public void llParcelMediaCommandList(LSL_List commandList) { //TO DO: Implement the missing commands //PARCEL_MEDIA_COMMAND_STOP Stop the media stream and go back to the first frame. @@ -7296,10 +7363,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(2000); } - public LSL_Types.list llParcelMediaQuery(LSL_Types.list aList) + public LSL_List llParcelMediaQuery(LSL_List aList) { m_host.AddScriptLPS(1); - LSL_Types.list list = new LSL_Types.list(); + LSL_List list = new LSL_List(); //TO DO: make the implementation for the missing commands //PARCEL_MEDIA_COMMAND_TEXTURE key uuid Use this to get or set the parcel's media texture. //PARCEL_MEDIA_COMMAND_URL string url Used to get or set the parcel's media url. @@ -7315,13 +7382,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api switch ((ParcelMediaCommandEnum) aList.Data[i]) { case ParcelMediaCommandEnum.Url: - list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); + list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); break; case ParcelMediaCommandEnum.Desc: - list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); + list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); break; case ParcelMediaCommandEnum.Texture: - list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); + list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); break; default: ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; @@ -7335,7 +7402,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return list; } - public LSL_Types.LSLInteger llModPow(int a, int b, int c) + public LSL_Integer llModPow(int a, int b, int c) { m_host.AddScriptLPS(1); Int64 tmp = 0; @@ -7344,7 +7411,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return Convert.ToInt32(tmp); } - public LSL_Types.LSLInteger llGetInventoryType(string name) + public LSL_Integer llGetInventoryType(string name) { m_host.AddScriptLPS(1); foreach (KeyValuePair inv in m_host.TaskInventory) @@ -7357,7 +7424,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return -1; } - public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) + public void llSetPayPrice(int price, LSL_List quick_pay_buttons) { m_host.AddScriptLPS(1); @@ -7368,40 +7435,40 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } m_host.ParentGroup.RootPart.PayPrice[0]=price; - m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[0]; - m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[1]; - m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[2]; - m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[3]; + m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Integer)quick_pay_buttons.Data[0]; + m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Integer)quick_pay_buttons.Data[1]; + m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Integer)quick_pay_buttons.Data[2]; + m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Integer)quick_pay_buttons.Data[3]; m_host.ParentGroup.HasGroupChanged = true; } - public LSL_Types.Vector3 llGetCameraPos() + public LSL_Vector llGetCameraPos() { m_host.AddScriptLPS(1); UUID invItemID=InventorySelf(); if (invItemID == UUID.Zero) - return new LSL_Types.Vector3(); + return new LSL_Vector(); if (m_host.TaskInventory[invItemID].PermsGranter == UUID.Zero) - return new LSL_Types.Vector3(); + return new LSL_Vector(); if ((m_host.TaskInventory[invItemID].PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) { ShoutError("No permissions to track the camera"); - return new LSL_Types.Vector3(); + return new LSL_Vector(); } ScenePresence presence = World.GetScenePresence(m_host.OwnerID); if (presence != null) { - LSL_Types.Vector3 pos = new LSL_Types.Vector3(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z); + LSL_Vector pos = new LSL_Vector(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z); return pos; } - return new LSL_Types.Vector3(); + return new LSL_Vector(); } - public LSL_Types.Quaternion llGetCameraRot() + public LSL_Rotation llGetCameraRot() { m_host.AddScriptLPS(1); NotImplemented("llGetCameraRot"); - return new LSL_Types.Quaternion(); + return new LSL_Rotation(); } public void llSetPrimURL() @@ -7418,7 +7485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(20000); } - public LSL_Types.LSLString llEscapeURL(string url) + public LSL_String llEscapeURL(string url) { m_host.AddScriptLPS(1); try @@ -7431,7 +7498,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLString llUnescapeURL(string url) + public LSL_String llUnescapeURL(string url) { m_host.AddScriptLPS(1); try @@ -7444,7 +7511,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) + public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at) { m_host.AddScriptLPS(1); NotImplemented("llMapDestination"); @@ -7514,7 +7581,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(100); } - public void llSetCameraParams(LSL_Types.list rules) + public void llSetCameraParams(LSL_List rules) { m_host.AddScriptLPS(1); @@ -7547,17 +7614,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api case ScriptBaseClass.CAMERA_FOCUS: case ScriptBaseClass.CAMERA_FOCUS_OFFSET: case ScriptBaseClass.CAMERA_POSITION: - LSL_Types.Vector3 v = (LSL_Types.Vector3)data[i]; + LSL_Vector v = (LSL_Vector)data[i]; parameters.Add(type + 1, (float)v.x); parameters.Add(type + 2, (float)v.y); parameters.Add(type + 3, (float)v.z); break; default: // TODO: clean that up as soon as the implicit casts are in - if (data[i] is LSL_Types.LSLFloat) - parameters.Add(type, (float)((LSL_Types.LSLFloat)data[i]).value); - else if (data[i] is LSL_Types.LSLInteger) - parameters.Add(type, (float)((LSL_Types.LSLInteger)data[i]).value); + if (data[i] is LSL_Float) + parameters.Add(type, (float)((LSL_Float)data[i]).value); + else if (data[i] is LSL_Integer) + parameters.Add(type, (float)((LSL_Integer)data[i]).value); else parameters.Add(type, Convert.ToSingle(data[i])); break; } @@ -7590,10 +7657,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api presence.ControllingClient.SendClearFollowCamProperties(objectID); } - public LSL_Types.LSLFloat llListStatistics(int operation, LSL_Types.list src) + public LSL_Float llListStatistics(int operation, LSL_List src) { m_host.AddScriptLPS(1); - LSL_Types.list nums = LSL_Types.list.ToDoubleList(src); + LSL_List nums = LSL_List.ToDoubleList(src); switch (operation) { case ScriptBaseClass.LIST_STAT_RANGE: @@ -7623,19 +7690,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetUnixTime() + public LSL_Integer llGetUnixTime() { m_host.AddScriptLPS(1); return Util.UnixTimeSinceEpoch(); } - public LSL_Types.LSLInteger llGetParcelFlags(LSL_Types.Vector3 pos) + public LSL_Integer llGetParcelFlags(LSL_Vector pos) { m_host.AddScriptLPS(1); return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.Flags; } - public LSL_Types.LSLInteger llGetRegionFlags() + public LSL_Integer llGetRegionFlags() { m_host.AddScriptLPS(1); IEstateModule estate = World.RequestModuleInterface(); @@ -7644,7 +7711,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return (int)estate.GetRegionFlags(); } - public LSL_Types.LSLString llXorBase64StringsCorrect(string str1, string str2) + public LSL_String llXorBase64StringsCorrect(string str1, string str2) { m_host.AddScriptLPS(1); string ret = String.Empty; @@ -7662,7 +7729,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return llStringToBase64(ret); } - public LSL_Types.LSLString llHTTPRequest(string url, LSL_Types.list parameters, string body) + public LSL_String llHTTPRequest(string url, LSL_List parameters, string body) { // Partial implementation: support for parameter flags needed // see http://wiki.secondlife.com/wiki/LlHTTPRequest @@ -7739,7 +7806,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(100); } - public LSL_Types.LSLInteger llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) + public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide) { m_host.AddScriptLPS(1); @@ -7802,11 +7869,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return 0; } - public LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos) + public LSL_List llGetParcelPrimOwners(LSL_Vector pos) { m_host.AddScriptLPS(1); LandObject land = (LandObject)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y); - LSL_Types.list ret = new LSL_Types.list(); + LSL_List ret = new LSL_List(); if (land != null) { foreach (KeyValuePair d in land.getLandObjectOwners()) @@ -7819,7 +7886,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ret; } - public LSL_Types.LSLInteger llGetObjectPrimCount(string object_id) + public LSL_Integer llGetObjectPrimCount(string object_id) { m_host.AddScriptLPS(1); SceneObjectPart part = World.GetSceneObjectPart(new UUID(object_id)); @@ -7833,7 +7900,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } } - public LSL_Types.LSLInteger llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) + public LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide) { m_host.AddScriptLPS(1); // Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation @@ -7863,36 +7930,36 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api } - public LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param) + public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param) { m_host.AddScriptLPS(1); LandData land = World.GetLandData((float)pos.x, (float)pos.y); if (land == null) { - return new LSL_Types.list(0); + return new LSL_List(0); } - LSL_Types.list ret = new LSL_Types.list(); + LSL_List ret = new LSL_List(); foreach (object o in param.Data) { switch (o.ToString()) { case "0": - ret = ret + new LSL_Types.list(land.Name); + ret = ret + new LSL_List(land.Name); break; case "1": - ret = ret + new LSL_Types.list(land.Description); + ret = ret + new LSL_List(land.Description); break; case "2": - ret = ret + new LSL_Types.list(land.OwnerID.ToString()); + ret = ret + new LSL_List(land.OwnerID.ToString()); break; case "3": - ret = ret + new LSL_Types.list(land.GroupID.ToString()); + ret = ret + new LSL_List(land.GroupID.ToString()); break; case "4": - ret = ret + new LSL_Types.list(land.Area); + ret = ret + new LSL_List(land.Area); break; default: - ret = ret + new LSL_Types.list(0); + ret = ret + new LSL_List(0); break; } } @@ -7915,7 +7982,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api // ScriptSleep(200); } - public LSL_Types.LSLString llStringTrim(string src, int type) + public LSL_String llStringTrim(string src, int type) { m_host.AddScriptLPS(1); if (type == (int)ScriptBaseClass.STRING_TRIM_HEAD) { return src.TrimStart(); } @@ -7924,10 +7991,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return src; } - public LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args) + public LSL_List llGetObjectDetails(string id, LSL_List args) { m_host.AddScriptLPS(1); - LSL_Types.list ret = new LSL_Types.list(); + LSL_List ret = new LSL_List(); UUID key = new UUID(); if (UUID.TryParse(id, out key)) { @@ -7946,13 +8013,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ret.Add(""); break; case "3": - ret.Add(new LSL_Types.Vector3((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z)); + ret.Add(new LSL_Vector((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z)); break; case "4": - ret.Add(new LSL_Types.Quaternion((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W)); + ret.Add(new LSL_Rotation((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W)); break; case "5": - ret.Add(new LSL_Types.Vector3(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); + ret.Add(new LSL_Vector(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); break; case "6": ret.Add(id); @@ -7981,13 +8048,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api ret.Add(obj.Description); break; case "3": - ret.Add(new LSL_Types.Vector3(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); + ret.Add(new LSL_Vector(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); break; case "4": - ret.Add(new LSL_Types.Quaternion(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W)); + ret.Add(new LSL_Rotation(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W)); break; case "5": - ret.Add(new LSL_Types.Vector3(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); + ret.Add(new LSL_Vector(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); break; case "6": ret.Add(obj.OwnerID.ToString()); @@ -8003,7 +8070,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return ret; } } - return new LSL_Types.list(); + return new LSL_List(); } @@ -8044,7 +8111,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api World.AssetCache.GetAsset(assetID, delegate(UUID i, AssetBase a) { cb(i, a); }, false); } - public LSL_Types.LSLString llGetNumberOfNotecardLines(string name) + public LSL_String llGetNumberOfNotecardLines(string name) { m_host.AddScriptLPS(1); @@ -8086,7 +8153,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api return UUID.Zero.ToString(); } - public LSL_Types.LSLString llGetNotecardLine(string name, int line) + public LSL_String llGetNotecardLine(string name, int line) { m_host.AddScriptLPS(1); -- cgit v1.1