From fd63c0cd32739f99af0c93ee3115212bb695f063 Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Sun, 12 Aug 2007 17:37:37 +0000 Subject: Code comments and cleanup, correct datatypes for key, vector, rotation, (hopefully) reference to Axiom during compile, passing of BuiltIns during script load, BuiltIn interface added, etc etc --- .../DotNetEngine/Compiler/LSL/Compiler.cs | 9 +- .../DotNetEngine/Compiler/LSL/LSL2CSConverter.cs | 76 ++-- .../DotNetEngine/Compiler/LSL/LSL_BaseClass.cs | 11 + .../DotNetEngine/Compiler/LSO/LSL_BaseClass.cs | 1 + .../Server_API/LSL_BuiltIn_Commands_Interface.cs | 368 -------------------- .../LSL_BuiltIn_Commands_TestImplementation.cs | 387 --------------------- .../Server_API/LSL_BuiltIn_Commands_Interface.cs | 368 ++++++++++++++++++++ .../LSL_BuiltIn_Commands_TestImplementation.cs | 387 +++++++++++++++++++++ .../ScriptEngine/DotNetEngine/ScriptManager.cs | 2 +- 9 files changed, 797 insertions(+), 812 deletions(-) delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_Interface.cs delete mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs create mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs create mode 100644 OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs (limited to 'OpenSim/Region/ScriptEngine') diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs index 33be6ec..6eadb0e 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs @@ -16,16 +16,21 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL { - string OutFile = Path.GetFileNameWithoutExtension(LSOFileName); + // Output assembly name + string OutFile = Path.GetFileNameWithoutExtension(LSOFileName) + ".dll"; // TODO: Add error handling string CS_Code = LSL_Converter.Convert(File.ReadAllText(LSOFileName)); + // Do actual compile System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters(); - parameters.GenerateExecutable = true; + parameters.IncludeDebugInformation = true; + parameters.ReferencedAssemblies.Add("OpenSim.Region.Environment"); + parameters.GenerateExecutable = false; parameters.OutputAssembly = OutFile; CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, CS_Code); + // Go through errors // TODO: Return errors to user somehow if (results.Errors.Count > 0) { diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs index f058566..d9042b5 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs @@ -18,11 +18,12 @@ namespace LSL2CS.Converter DataTypes.Add("float", "float"); DataTypes.Add("string", "string"); DataTypes.Add("key", "string"); - DataTypes.Add("vector", "vector"); - DataTypes.Add("rotation", "rotation"); + DataTypes.Add("vector", "Axiom.Math.Vector3"); + DataTypes.Add("rotation", "Axiom.Math.Quaternion"); DataTypes.Add("list", "list"); DataTypes.Add("null", "null"); } + @@ -34,37 +35,14 @@ namespace LSL2CS.Converter // Prepare script for processing // - // Here we will remove those linebreaks that are allowed in so many languages. - // One hard-ass regex should do the job. - - // Then we will add some linebreaks. + // Clean up linebreaks Script = Regex.Replace(Script, @"\r\n", "\n"); Script = Regex.Replace(Script, @"\n", "\r\n"); - //Script = Regex.Replace(Script, @"\n\s*{", @"{"); - //Script = Regex.Replace(Script, @"[\r\n]", @""); - - // Then we remove unwanted linebreaks - - - //// - //// Split up script to process line by line - //// - //int count = 0; - //string line; - //Regex r = new Regex("\r?\n", RegexOptions.Multiline | RegexOptions.Compiled); - //string[] lines = r.Split(Script); - - //for (int i = 0; i < lines.Length; i++) - //{ - // // Remove space in front and back - // line = lines[i].Trim(); - // count++; - // Return += count + ". " + translate(line) + "\r\n"; - //} // QUOTE REPLACEMENT - //char[] SA = Script.ToCharArray(); + // temporarily replace quotes so we can work our magic on the script without + // always considering if we are inside our outside ""'s string _Script = ""; string C; bool in_quote = false; @@ -129,8 +107,10 @@ namespace LSL2CS.Converter - + // // PROCESS STATES + // Remove state definitions and add state names to start of each event within state + // int ilevel = 0; int lastlevel = 0; string ret = ""; @@ -190,13 +170,6 @@ namespace LSL2CS.Converter current_statename = ""; } - // if we moved from level 0 to level 1 don't add last word + { - // if we moved from level 1 to level 0 don't add last } - // if level > 0 cache all data so we can run regex on it when going to level 0 - - - - break; } lastlevel = ilevel; @@ -209,17 +182,23 @@ namespace LSL2CS.Converter - // Replace CAST - (integer) with (int) - Script = Regex.Replace(Script, @"\(integer\)", @"(int)", RegexOptions.Compiled | RegexOptions.Multiline); - // Replace return types and function variables - integer a() and f(integer a, integer a) - Script = Regex.Replace(Script, @"(^|;|}|[\(,])(\s*int)eger(\s*)", @"$1$2$3", RegexOptions.Compiled | RegexOptions.Multiline); + foreach (string key in DataTypes.Keys) + { + string val; + DataTypes.TryGetValue(key, out val); + + // Replace CAST - (integer) with (int) + Script = Regex.Replace(Script, @"\(" + key + @"\)", @"(" + val + ")", RegexOptions.Compiled | RegexOptions.Multiline); + // Replace return types and function variables - integer a() and f(integer a, integer a) + Script = Regex.Replace(Script, @"(^|;|}|[\(,])(\s*)" + key + @"(\s*)", @"$1$2" + val + "$3", RegexOptions.Compiled | RegexOptions.Multiline); + } // Add "void" in front of functions that needs it Script = Regex.Replace(Script, @"^(\s*)((?!if|switch|for)[a-zA-Z0-9_]*\s*\([^\)]*\)[^;]*\{)", @"$1void $2", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); // Replace and - Script = Regex.Replace(Script, @"<([^,>]*,[^,>]*,[^,>]*,[^,>]*)>", @"Rotation.Parse($1)", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); - Script = Regex.Replace(Script, @"<([^,>]*,[^,>]*,[^,>]*)>", @"Vector.Parse($1)", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); + Script = Regex.Replace(Script, @"<([^,>]*,[^,>]*,[^,>]*,[^,>]*)>", @"new Axiom.Math.Quaternion($1)", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); + Script = Regex.Replace(Script, @"<([^,>]*,[^,>]*,[^,>]*)>", @"new Axiom.Math.Vector3($1)", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); // Replace List []'s Script = Regex.Replace(Script, @"\[([^\]]*)\]", @"List.Parse($1)", RegexOptions.Compiled | RegexOptions.Multiline | RegexOptions.Singleline); @@ -239,6 +218,7 @@ namespace LSL2CS.Converter } + // Add namespace, class name and inheritance Return = "namespace SecondLife {" + Environment.NewLine; Return += "public class Script : LSL_BaseClass {" + Environment.NewLine; Return += Script; @@ -246,18 +226,6 @@ namespace LSL2CS.Converter return Return; } - //private string GetWord(char[] SA, int p) - //{ - // string ret = ""; - // for (int i = p; p < SA.Length; i++) - // { - // if (!rnw.IsMatch(SA[i].ToString())) - // break; - // ret += SA[i]; - // } - // return ret; - //} - } diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs index 03d8ba5..a065683 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs @@ -1,10 +1,21 @@ using System; using System.Collections.Generic; using System.Text; +using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL { class LSL_BaseClass { + public UInt32 State = 0; + public LSL_BuiltIn_Commands_Interface LSL_Builtins; + + public void Start(LSL_BuiltIn_Commands_Interface LSLBuiltins) + { + LSL_Builtins = LSLBuiltins; + Common.SendToLog("OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass.Start() called"); + + return; + } } } diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs index 99904d4..0fbb2cf 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/LSL_BaseClass.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; using System.IO; +using OpenSim.Region.ScriptEngine.DotNetEngine.Compiler; namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO { diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_Interface.cs deleted file mode 100644 index 8a5d4b6..0000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_Interface.cs +++ /dev/null @@ -1,368 +0,0 @@ -/* -* Copyright (c) Contributors, http://www.openmetaverse.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -/* Original code: Tedd Hansen */ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO -{ - public interface LSL_BuiltIn_Commands_Interface - { - float llSin(float f); - float llCos(float f); - float llTan(float f); - float llAtan2(float x, float y); - float llSqrt(float f); - float llPow(float fbase, float fexponent); - UInt32 llAbs(UInt32 i); - float llFabs(float f); - float llFrand(float mag); - UInt32 llFloor(float f); - UInt32 llCeil(float f); - UInt32 llRound(float f); - float llVecMag(LSO_Enums.Vector v); - LSO_Enums.Vector llVecNorm(LSO_Enums.Vector v); - float llVecDist(LSO_Enums.Vector a, LSO_Enums.Vector b); - LSO_Enums.Vector llRot2Euler(LSO_Enums.Rotation r); - LSO_Enums.Rotation llEuler2Rot(LSO_Enums.Vector v); - LSO_Enums.Rotation llAxes2Rot(LSO_Enums.Vector fwd, LSO_Enums.Vector left, LSO_Enums.Vector up); - LSO_Enums.Vector llRot2Fwd(LSO_Enums.Rotation r); - LSO_Enums.Vector llRot2Left(LSO_Enums.Rotation r); - LSO_Enums.Vector llRot2Up(LSO_Enums.Rotation r); - LSO_Enums.Rotation llRotBetween(LSO_Enums.Vector start, LSO_Enums.Vector end); - void llWhisper(UInt16 channelID, string text); - //void llSay(UInt32 channelID, string text); - void llSay(object channelID, object text); - void llShout(UInt16 channelID, string text); - UInt32 llListen(UInt16 channelID, string name, LSO_Enums.Key ID, string msg); - void llListenControl(UInt32 number, UInt32 active); - void llListenRemove(UInt32 number); - void llSensor(string name, LSO_Enums.Key id, UInt32 type, float range, float arc); - void llSensorRepeat(string name, LSO_Enums.Key id, UInt32 type, float range, float arc, float rate); - void llSensorRemove(); - string llDetectedName(UInt32 number); - LSO_Enums.Key llDetectedKey(UInt32 number); - LSO_Enums.Key llDetectedOwner(UInt32 number); - UInt32 llDetectedType(UInt32 number); - LSO_Enums.Vector llDetectedPos(UInt32 number); - LSO_Enums.Vector llDetectedVel(UInt32 number); - LSO_Enums.Vector llDetectedGrab(UInt32 number); - LSO_Enums.Rotation llDetectedRot(UInt32 number); - UInt32 llDetectedGroup(UInt32 number); - UInt32 llDetectedLinkNumber(UInt32 number); - void llDie(); - float llGround(LSO_Enums.Vector offset); - float llCloud(LSO_Enums.Vector offset); - LSO_Enums.Vector llWind(LSO_Enums.Vector offset); - void llSetStatus(UInt32 status, UInt32 value); - UInt32 llGetStatus(UInt32 status); - void llSetScale(LSO_Enums.Vector scale); - LSO_Enums.Vector llGetScale(); - void llSetColor(LSO_Enums.Vector color, UInt32 face); - float llGetAlpha(UInt32 face); - void llSetAlpha(float alpha, UInt32 face); - LSO_Enums.Vector llGetColor(UInt32 face); - void llSetTexture(string texture, UInt32 face); - void llScaleTexture(float u, float v, UInt32 face); - void llOffsetTexture(float u, float v, UInt32 face); - void llRotateTexture(float rotation, UInt32 face); - string llGetTexture(UInt32 face); - void llSetPos(LSO_Enums.Vector pos); - - void llGetPos(); - void llGetLocalPos(); - void llSetRot(); - void llGetRot(); - void llGetLocalRot(); - void llSetForce(); - void llGetForce(); - void llTarget(); - void llTargetRemove(); - void llRotTarget(); - void llRotTargetRemove(); - void llMoveToTarget(); - void llStopMoveToTarget(); - void llApplyImpulse(); - void llApplyRotationalImpulse(); - void llSetTorque(); - void llGetTorque(); - void llSetForceAndTorque(); - void llGetVel(); - void llGetAccel(); - void llGetOmega(); - void llGetTimeOfDay(); - void llGetWallclock(); - void llGetTime(); - void llResetTime(); - void llGetAndResetTime(); - void llSound(); - void llPlaySound(); - void llLoopSound(); - void llLoopSoundMaster(); - void llLoopSoundSlave(); - void llPlaySoundSlave(); - void llTriggerSound(); - void llStopSound(); - void llPreloadSound(); - void llGetSubString(); - void llDeleteSubString(); - void llInsertString(); - void llToUpper(); - void llToLower(); - void llGiveMoney(); - void llMakeExplosion(); - void llMakeFountain(); - void llMakeSmoke(); - void llMakeFire(); - void llRezObject(); - void llLookAt(); - void llStopLookAt(); - void llSetTimerEvent(); - void llSleep(); - void llGetMass(); - void llCollisionFilter(); - void llTakeControls(); - void llReleaseControls(); - void llAttachToAvatar(); - void llDetachFromAvatar(); - void llTakeCamera(); - void llReleaseCamera(); - void llGetOwner(); - void llInstantMessage(); - void llEmail(); - void llGetNextEmail(); - void llGetKey(); - void llSetBuoyancy(); - void llSetHoverHeight(); - void llStopHover(); - void llMinEventDelay(); - void llSoundPreload(); - void llRotLookAt(); - void llStringLength(); - void llStartAnimation(); - void llStopAnimation(); - void llPointAt(); - void llStopPointAt(); - void llTargetOmega(); - void llGetStartParameter(); - void llGodLikeRezObject(); - void llRequestPermissions(); - void llGetPermissionsKey(); - void llGetPermissions(); - void llGetLinkNumber(); - void llSetLinkColor(); - void llCreateLink(); - void llBreakLink(); - void llBreakAllLinks(); - void llGetLinkKey(); - void llGetLinkName(); - void llGetInventoryNumber(); - void llGetInventoryName(); - void llSetScriptState(); - void llGetEnergy(); - void llGiveInventory(); - void llRemoveInventory(); - void llSetText(); - void llWater(); - void llPassTouches(); - void llRequestAgentData(); - void llRequestInventoryData(); - void llSetDamage(); - void llTeleportAgentHome(); - void llModifyLand(); - void llCollisionSound(); - void llCollisionSprite(); - void llGetAnimation(); - void llResetScript(); - void llMessageLinked(); - void llPushObject(); - void llPassCollisions(); - void llGetScriptName(); - void llGetNumberOfSides(); - void llAxisAngle2Rot(); - void llRot2Axis(); - void llRot2Angle(); - void llAcos(); - void llAsin(); - void llAngleBetween(); - void llGetInventoryKey(); - void llAllowInventoryDrop(); - void llGetSunDirection(); - void llGetTextureOffset(); - void llGetTextureScale(); - void llGetTextureRot(); - void llSubStringIndex(); - void llGetOwnerKey(); - void llGetCenterOfMass(); - void llListSort(); - void llGetListLength(); - void llList2Integer(); - void llList2Float(); - void llList2String(); - void llList2Key(); - void llList2Vector(); - void llList2Rot(); - void llList2List(); - void llDeleteSubList(); - void llGetListEntryType(); - void llList2CSV(); - void llCSV2List(); - void llListRandomize(); - void llList2ListStrided(); - void llGetRegionCorner(); - void llListInsertList(); - void llListFindList(); - void llGetObjectName(); - void llSetObjectName(); - void llGetDate(); - void llEdgeOfWorld(); - void llGetAgentInfo(); - void llAdjustSoundVolume(); - void llSetSoundQueueing(); - void llSetSoundRadius(); - void llKey2Name(); - void llSetTextureAnim(); - void llTriggerSoundLimited(); - void llEjectFromLand(); - void llParseString2List(); - void llOverMyLand(); - void llGetLandOwnerAt(); - void llGetNotecardLine(); - void llGetAgentSize(); - void llSameGroup(); - void llUnSit(); - void llGroundSlope(); - void llGroundNormal(); - void llGroundContour(); - void llGetAttached(); - void llGetFreeMemory(); - void llGetRegionName(); - void llGetRegionTimeDilation(); - void llGetRegionFPS(); - void llParticleSystem(); - void llGroundRepel(); - void llGiveInventoryList(); - void llSetVehicleType(); - void llSetVehicleFloatParam(); - void llSetVehicleVectorParam(); - void llSetVehicleRotationParam(); - void llSetVehicleFlags(); - void llRemoveVehicleFlags(); - void llSitTarget(); - void llAvatarOnSitTarget(); - void llAddToLandPassList(); - void llSetTouchText(); - void llSetSitText(); - void llSetCameraEyeOffset(); - void llSetCameraAtOffset(); - void llDumpList2String(); - void llScriptDanger(); - void llDialog(); - void llVolumeDetect(); - void llResetOtherScript(); - void llGetScriptState(); - void llRemoteLoadScript(); - void llSetRemoteScriptAccessPin(); - void llRemoteLoadScriptPin(); - void llOpenRemoteDataChannel(); - void llSendRemoteData(); - void llRemoteDataReply(); - void llCloseRemoteDataChannel(); - void llMD5String(); - void llSetPrimitiveParams(); - void llStringToBase64(); - void llBase64ToString(); - void llXorBase64Strings(); - void llRemoteDataSetRegion(); - void llLog10(); - void llLog(); - void llGetAnimationList(); - void llSetParcelMusicURL(); - void llGetRootPosition(); - void llGetRootRotation(); - void llGetObjectDesc(); - void llSetObjectDesc(); - void llGetCreator(); - void llGetTimestamp(); - void llSetLinkAlpha(); - void llGetNumberOfPrims(); - void llGetNumberOfNotecardLines(); - void llGetBoundingBox(); - void llGetGeometricCenter(); - void llGetPrimitiveParams(); - void llIntegerToBase64(); - void llBase64ToInteger(); - void llGetGMTclock(); - void llGetSimulatorHostname(); - void llSetLocalRot(); - void llParseStringKeepNulls(); - void llRezAtRoot(); - void llGetObjectPermMask(); - void llSetObjectPermMask(); - void llGetInventoryPermMask(); - void llSetInventoryPermMask(); - void llGetInventoryCreator(); - void llOwnerSay(); - void llRequestSimulatorData(); - void llForceMouselook(); - void llGetObjectMass(); - void llListReplaceList(); - void llLoadURL(); - void llParcelMediaCommandList(); - void llParcelMediaQuery(); - void llModPow(); - void llGetInventoryType(); - void llSetPayPrice(); - void llGetCameraPos(); - void llGetCameraRot(); - void llSetPrimURL(); - void llRefreshPrimURL(); - void llEscapeURL(); - void llUnescapeURL(); - void llMapDestination(); - void llAddToLandBanList(); - void llRemoveFromLandPassList(); - void llRemoveFromLandBanList(); - void llSetCameraParams(); - void llClearCameraParams(); - void llListStatistics(); - void llGetUnixTime(); - void llGetParcelFlags(); - void llGetRegionFlags(); - void llXorBase64StringsCorrect(); - void llHTTPRequest(); - void llResetLandBanList(); - void llResetLandPassList(); - void llGetParcelPrimCount(); - void llGetParcelPrimOwners(); - void llGetObjectPrimCount(); - void llGetParcelMaxPrims(); - void llGetParcelDetails(); - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs deleted file mode 100644 index 38adf9f..0000000 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSO/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs +++ /dev/null @@ -1,387 +0,0 @@ -/* -* Copyright (c) Contributors, http://www.openmetaverse.org/ -* See CONTRIBUTORS.TXT for a full list of copyright holders. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of the OpenSim Project nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -*/ -/* Original code: Tedd Hansen */ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO -{ - public class LSL_BuiltIn_Commands_TestImplementation : LSL_BuiltIn_Commands_Interface - { - public LSL_BuiltIn_Commands_TestImplementation(string FullScriptID) - { - Common.SendToDebug("LSL_BuiltIn_Commands_TestImplementation: Creating object for FullScriptID: " + FullScriptID); - } - - - public float llSin(float f) { return 0; } - public float llCos(float f) { return 0; } - public float llTan(float f) { return 0; } - public float llAtan2(float x, float y) { return 0; } - public float llSqrt(float f) { return 0; } - public float llPow(float fbase, float fexponent) { return 0; } - public UInt32 llAbs(UInt32 i) { return 0; } - public float llFabs(float f) { return 0; } - public float llFrand(float mag) { return 0; } - public UInt32 llFloor(float f) { return 0; } - public UInt32 llCeil(float f) { return 0; } - public UInt32 llRound(float f) { return 0; } - public float llVecMag(LSO_Enums.Vector v) { return 0; } - public LSO_Enums.Vector llVecNorm(LSO_Enums.Vector v) { return new LSO_Enums.Vector(); } - public float llVecDist(LSO_Enums.Vector a, LSO_Enums.Vector b) { return 0; } - public LSO_Enums.Vector llRot2Euler(LSO_Enums.Rotation r) { return new LSO_Enums.Vector(); } - public LSO_Enums.Rotation llEuler2Rot(LSO_Enums.Vector v) { return new LSO_Enums.Rotation(); } - public LSO_Enums.Rotation llAxes2Rot(LSO_Enums.Vector fwd, LSO_Enums.Vector left, LSO_Enums.Vector up) { return new LSO_Enums.Rotation(); } - public LSO_Enums.Vector llRot2Fwd(LSO_Enums.Rotation r) { return new LSO_Enums.Vector(); } - public LSO_Enums.Vector llRot2Left(LSO_Enums.Rotation r) { return new LSO_Enums.Vector(); } - public LSO_Enums.Vector llRot2Up(LSO_Enums.Rotation r) { return new LSO_Enums.Vector(); } - public LSO_Enums.Rotation llRotBetween(LSO_Enums.Vector start, LSO_Enums.Vector end) { return new LSO_Enums.Rotation(); } - public void llWhisper(UInt16 channelID, string text) - { - Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");"); - Common.SendToLog("llWhisper Channel " + channelID + ", Text: \"" + text + "\""); - } - //public void llSay(UInt32 channelID, string text) - public void llSay(object channelID, object text) - { - //TODO: DO SOMETHING USEFUL HERE - Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");"); - Common.SendToLog("llSay Channel " + (UInt32)channelID + ", Text: \"" + (string)text + "\""); - } - public void llShout(UInt16 channelID, string text) { return; } - public UInt32 llListen(UInt16 channelID, string name, LSO_Enums.Key ID, string msg) { return 0; } - public void llListenControl(UInt32 number, UInt32 active) { return; } - public void llListenRemove(UInt32 number) { return; } - public void llSensor(string name, LSO_Enums.Key id, UInt32 type, float range, float arc) { return; } - public void llSensorRepeat(string name, LSO_Enums.Key id, UInt32 type, float range, float arc, float rate) { return; } - public void llSensorRemove() { return; } - public string llDetectedName(UInt32 number) { return ""; } - public LSO_Enums.Key llDetectedKey(UInt32 number) { return new LSO_Enums.Key(); } - public LSO_Enums.Key llDetectedOwner(UInt32 number) { return new LSO_Enums.Key(); } - public UInt32 llDetectedType(UInt32 number) { return 0; } - public LSO_Enums.Vector llDetectedPos(UInt32 number) { return new LSO_Enums.Vector(); } - public LSO_Enums.Vector llDetectedVel(UInt32 number) { return new LSO_Enums.Vector(); } - public LSO_Enums.Vector llDetectedGrab(UInt32 number) { return new LSO_Enums.Vector(); } - public LSO_Enums.Rotation llDetectedRot(UInt32 number) { return new LSO_Enums.Rotation(); } - public UInt32 llDetectedGroup(UInt32 number) { return 0; } - public UInt32 llDetectedLinkNumber(UInt32 number) { return 0; } - public void llDie() { return; } - public float llGround(LSO_Enums.Vector offset) { return 0; } - public float llCloud(LSO_Enums.Vector offset) { return 0; } - public LSO_Enums.Vector llWind(LSO_Enums.Vector offset) { return new LSO_Enums.Vector(); } - public void llSetStatus(UInt32 status, UInt32 value) { return; } - public UInt32 llGetStatus(UInt32 status) { return 0; } - public void llSetScale(LSO_Enums.Vector scale) { return; } - public LSO_Enums.Vector llGetScale() { return new LSO_Enums.Vector(); } - public void llSetColor(LSO_Enums.Vector color, UInt32 face) { return; } - public float llGetAlpha(UInt32 face) { return 0; } - public void llSetAlpha(float alpha, UInt32 face) { return; } - public LSO_Enums.Vector llGetColor(UInt32 face) { return new LSO_Enums.Vector(); } - public void llSetTexture(string texture, UInt32 face) { return; } - public void llScaleTexture(float u, float v, UInt32 face) { return; } - public void llOffsetTexture(float u, float v, UInt32 face) { return; } - public void llRotateTexture(float rotation, UInt32 face) { return; } - public string llGetTexture(UInt32 face) { return ""; } - public void llSetPos(LSO_Enums.Vector pos) { return; } - - - public void llGetPos() { } - public void llGetLocalPos() { } - public void llSetRot() { } - public void llGetRot() { } - public void llGetLocalRot() { } - public void llSetForce() { } - public void llGetForce() { } - public void llTarget() { } - public void llTargetRemove() { } - public void llRotTarget() { } - public void llRotTargetRemove() { } - public void llMoveToTarget() { } - public void llStopMoveToTarget() { } - public void llApplyImpulse() { } - public void llApplyRotationalImpulse() { } - public void llSetTorque() { } - public void llGetTorque() { } - public void llSetForceAndTorque() { } - public void llGetVel() { } - public void llGetAccel() { } - public void llGetOmega() { } - public void llGetTimeOfDay() { } - public void llGetWallclock() { } - public void llGetTime() { } - public void llResetTime() { } - public void llGetAndResetTime() { } - public void llSound() { } - public void llPlaySound() { } - public void llLoopSound() { } - public void llLoopSoundMaster() { } - public void llLoopSoundSlave() { } - public void llPlaySoundSlave() { } - public void llTriggerSound() { } - public void llStopSound() { } - public void llPreloadSound() { } - public void llGetSubString() { } - public void llDeleteSubString() { } - public void llInsertString() { } - public void llToUpper() { } - public void llToLower() { } - public void llGiveMoney() { } - public void llMakeExplosion() { } - public void llMakeFountain() { } - public void llMakeSmoke() { } - public void llMakeFire() { } - public void llRezObject() { } - public void llLookAt() { } - public void llStopLookAt() { } - public void llSetTimerEvent() { } - public void llSleep() { } - public void llGetMass() { } - public void llCollisionFilter() { } - public void llTakeControls() { } - public void llReleaseControls() { } - public void llAttachToAvatar() { } - public void llDetachFromAvatar() { } - public void llTakeCamera() { } - public void llReleaseCamera() { } - public void llGetOwner() { } - public void llInstantMessage() { } - public void llEmail() { } - public void llGetNextEmail() { } - public void llGetKey() { } - public void llSetBuoyancy() { } - public void llSetHoverHeight() { } - public void llStopHover() { } - public void llMinEventDelay() { } - public void llSoundPreload() { } - public void llRotLookAt() { } - public void llStringLength() { } - public void llStartAnimation() { } - public void llStopAnimation() { } - public void llPointAt() { } - public void llStopPointAt() { } - public void llTargetOmega() { } - public void llGetStartParameter() { } - public void llGodLikeRezObject() { } - public void llRequestPermissions() { } - public void llGetPermissionsKey() { } - public void llGetPermissions() { } - public void llGetLinkNumber() { } - public void llSetLinkColor() { } - public void llCreateLink() { } - public void llBreakLink() { } - public void llBreakAllLinks() { } - public void llGetLinkKey() { } - public void llGetLinkName() { } - public void llGetInventoryNumber() { } - public void llGetInventoryName() { } - public void llSetScriptState() { } - public void llGetEnergy() { } - public void llGiveInventory() { } - public void llRemoveInventory() { } - public void llSetText() { } - public void llWater() { } - public void llPassTouches() { } - public void llRequestAgentData() { } - public void llRequestInventoryData() { } - public void llSetDamage() { } - public void llTeleportAgentHome() { } - public void llModifyLand() { } - public void llCollisionSound() { } - public void llCollisionSprite() { } - public void llGetAnimation() { } - public void llResetScript() { } - public void llMessageLinked() { } - public void llPushObject() { } - public void llPassCollisions() { } - public void llGetScriptName() { } - public void llGetNumberOfSides() { } - public void llAxisAngle2Rot() { } - public void llRot2Axis() { } - public void llRot2Angle() { } - public void llAcos() { } - public void llAsin() { } - public void llAngleBetween() { } - public void llGetInventoryKey() { } - public void llAllowInventoryDrop() { } - public void llGetSunDirection() { } - public void llGetTextureOffset() { } - public void llGetTextureScale() { } - public void llGetTextureRot() { } - public void llSubStringIndex() { } - public void llGetOwnerKey() { } - public void llGetCenterOfMass() { } - public void llListSort() { } - public void llGetListLength() { } - public void llList2Integer() { } - public void llList2Float() { } - public void llList2String() { } - public void llList2Key() { } - public void llList2Vector() { } - public void llList2Rot() { } - public void llList2List() { } - public void llDeleteSubList() { } - public void llGetListEntryType() { } - public void llList2CSV() { } - public void llCSV2List() { } - public void llListRandomize() { } - public void llList2ListStrided() { } - public void llGetRegionCorner() { } - public void llListInsertList() { } - public void llListFindList() { } - public void llGetObjectName() { } - public void llSetObjectName() { } - public void llGetDate() { } - public void llEdgeOfWorld() { } - public void llGetAgentInfo() { } - public void llAdjustSoundVolume() { } - public void llSetSoundQueueing() { } - public void llSetSoundRadius() { } - public void llKey2Name() { } - public void llSetTextureAnim() { } - public void llTriggerSoundLimited() { } - public void llEjectFromLand() { } - public void llParseString2List() { } - public void llOverMyLand() { } - public void llGetLandOwnerAt() { } - public void llGetNotecardLine() { } - public void llGetAgentSize() { } - public void llSameGroup() { } - public void llUnSit() { } - public void llGroundSlope() { } - public void llGroundNormal() { } - public void llGroundContour() { } - public void llGetAttached() { } - public void llGetFreeMemory() { } - public void llGetRegionName() { } - public void llGetRegionTimeDilation() { } - public void llGetRegionFPS() { } - public void llParticleSystem() { } - public void llGroundRepel() { } - public void llGiveInventoryList() { } - public void llSetVehicleType() { } - public void llSetVehicleFloatParam() { } - public void llSetVehicleVectorParam() { } - public void llSetVehicleRotationParam() { } - public void llSetVehicleFlags() { } - public void llRemoveVehicleFlags() { } - public void llSitTarget() { } - public void llAvatarOnSitTarget() { } - public void llAddToLandPassList() { } - public void llSetTouchText() { } - public void llSetSitText() { } - public void llSetCameraEyeOffset() { } - public void llSetCameraAtOffset() { } - public void llDumpList2String() { } - public void llScriptDanger() { } - public void llDialog() { } - public void llVolumeDetect() { } - public void llResetOtherScript() { } - public void llGetScriptState() { } - public void llRemoteLoadScript() { } - public void llSetRemoteScriptAccessPin() { } - public void llRemoteLoadScriptPin() { } - public void llOpenRemoteDataChannel() { } - public void llSendRemoteData() { } - public void llRemoteDataReply() { } - public void llCloseRemoteDataChannel() { } - public void llMD5String() { } - public void llSetPrimitiveParams() { } - public void llStringToBase64() { } - public void llBase64ToString() { } - public void llXorBase64Strings() { } - public void llRemoteDataSetRegion() { } - public void llLog10() { } - public void llLog() { } - public void llGetAnimationList() { } - public void llSetParcelMusicURL() { } - public void llGetRootPosition() { } - public void llGetRootRotation() { } - public void llGetObjectDesc() { } - public void llSetObjectDesc() { } - public void llGetCreator() { } - public void llGetTimestamp() { } - public void llSetLinkAlpha() { } - public void llGetNumberOfPrims() { } - public void llGetNumberOfNotecardLines() { } - public void llGetBoundingBox() { } - public void llGetGeometricCenter() { } - public void llGetPrimitiveParams() { } - public void llIntegerToBase64() { } - public void llBase64ToInteger() { } - public void llGetGMTclock() { } - public void llGetSimulatorHostname() { } - public void llSetLocalRot() { } - public void llParseStringKeepNulls() { } - public void llRezAtRoot() { } - public void llGetObjectPermMask() { } - public void llSetObjectPermMask() { } - public void llGetInventoryPermMask() { } - public void llSetInventoryPermMask() { } - public void llGetInventoryCreator() { } - public void llOwnerSay() { } - public void llRequestSimulatorData() { } - public void llForceMouselook() { } - public void llGetObjectMass() { } - public void llListReplaceList() { } - public void llLoadURL() { } - public void llParcelMediaCommandList() { } - public void llParcelMediaQuery() { } - public void llModPow() { } - public void llGetInventoryType() { } - public void llSetPayPrice() { } - public void llGetCameraPos() { } - public void llGetCameraRot() { } - public void llSetPrimURL() { } - public void llRefreshPrimURL() { } - public void llEscapeURL() { } - public void llUnescapeURL() { } - public void llMapDestination() { } - public void llAddToLandBanList() { } - public void llRemoveFromLandPassList() { } - public void llRemoveFromLandBanList() { } - public void llSetCameraParams() { } - public void llClearCameraParams() { } - public void llListStatistics() { } - public void llGetUnixTime() { } - public void llGetParcelFlags() { } - public void llGetRegionFlags() { } - public void llXorBase64StringsCorrect() { } - public void llHTTPRequest() { } - public void llResetLandBanList() { } - public void llResetLandPassList() { } - public void llGetParcelPrimCount() { } - public void llGetParcelPrimOwners() { } - public void llGetObjectPrimCount() { } - public void llGetParcelMaxPrims() { } - public void llGetParcelDetails() { } - - - - } -} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs new file mode 100644 index 0000000..d484a05 --- /dev/null +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_Interface.cs @@ -0,0 +1,368 @@ +/* +* Copyright (c) Contributors, http://www.openmetaverse.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/* Original code: Tedd Hansen */ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler +{ + public interface LSL_BuiltIn_Commands_Interface + { + float llSin(float f); + float llCos(float f); + float llTan(float f); + float llAtan2(float x, float y); + float llSqrt(float f); + float llPow(float fbase, float fexponent); + UInt32 llAbs(UInt32 i); + float llFabs(float f); + float llFrand(float mag); + UInt32 llFloor(float f); + UInt32 llCeil(float f); + UInt32 llRound(float f); + float llVecMag(Axiom.Math.Vector3 v); + Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v); + float llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b); + Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r); + Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v); + Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up); + Axiom.Math.Vector3 llRot2Fwd(Axiom.Math.Quaternion r); + Axiom.Math.Vector3 llRot2Left(Axiom.Math.Quaternion r); + Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r); + Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end); + void llWhisper(UInt16 channelID, string text); + //void llSay(UInt32 channelID, string text); + void llSay(object channelID, object text); + void llShout(UInt16 channelID, string text); + UInt32 llListen(UInt16 channelID, string name, string ID, string msg); + void llListenControl(UInt32 number, UInt32 active); + void llListenRemove(UInt32 number); + void llSensor(string name, string id, UInt32 type, float range, float arc); + void llSensorRepeat(string name, string id, UInt32 type, float range, float arc, float rate); + void llSensorRemove(); + string llDetectedName(UInt32 number); + string llDetectedKey(UInt32 number); + string llDetectedOwner(UInt32 number); + UInt32 llDetectedType(UInt32 number); + Axiom.Math.Vector3 llDetectedPos(UInt32 number); + Axiom.Math.Vector3 llDetectedVel(UInt32 number); + Axiom.Math.Vector3 llDetectedGrab(UInt32 number); + Axiom.Math.Quaternion llDetectedRot(UInt32 number); + UInt32 llDetectedGroup(UInt32 number); + UInt32 llDetectedLinkNumber(UInt32 number); + void llDie(); + float llGround(Axiom.Math.Vector3 offset); + float llCloud(Axiom.Math.Vector3 offset); + Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset); + void llSetStatus(UInt32 status, UInt32 value); + UInt32 llGetStatus(UInt32 status); + void llSetScale(Axiom.Math.Vector3 scale); + Axiom.Math.Vector3 llGetScale(); + void llSetColor(Axiom.Math.Vector3 color, UInt32 face); + float llGetAlpha(UInt32 face); + void llSetAlpha(float alpha, UInt32 face); + Axiom.Math.Vector3 llGetColor(UInt32 face); + void llSetTexture(string texture, UInt32 face); + void llScaleTexture(float u, float v, UInt32 face); + void llOffsetTexture(float u, float v, UInt32 face); + void llRotateTexture(float rotation, UInt32 face); + string llGetTexture(UInt32 face); + void llSetPos(Axiom.Math.Vector3 pos); + + void llGetPos(); + void llGetLocalPos(); + void llSetRot(); + void llGetRot(); + void llGetLocalRot(); + void llSetForce(); + void llGetForce(); + void llTarget(); + void llTargetRemove(); + void llRotTarget(); + void llRotTargetRemove(); + void llMoveToTarget(); + void llStopMoveToTarget(); + void llApplyImpulse(); + void llApplyRotationalImpulse(); + void llSetTorque(); + void llGetTorque(); + void llSetForceAndTorque(); + void llGetVel(); + void llGetAccel(); + void llGetOmega(); + void llGetTimeOfDay(); + void llGetWallclock(); + void llGetTime(); + void llResetTime(); + void llGetAndResetTime(); + void llSound(); + void llPlaySound(); + void llLoopSound(); + void llLoopSoundMaster(); + void llLoopSoundSlave(); + void llPlaySoundSlave(); + void llTriggerSound(); + void llStopSound(); + void llPreloadSound(); + void llGetSubString(); + void llDeleteSubString(); + void llInsertString(); + void llToUpper(); + void llToLower(); + void llGiveMoney(); + void llMakeExplosion(); + void llMakeFountain(); + void llMakeSmoke(); + void llMakeFire(); + void llRezObject(); + void llLookAt(); + void llStopLookAt(); + void llSetTimerEvent(); + void llSleep(); + void llGetMass(); + void llCollisionFilter(); + void llTakeControls(); + void llReleaseControls(); + void llAttachToAvatar(); + void llDetachFromAvatar(); + void llTakeCamera(); + void llReleaseCamera(); + void llGetOwner(); + void llInstantMessage(); + void llEmail(); + void llGetNextEmail(); + void llGetKey(); + void llSetBuoyancy(); + void llSetHoverHeight(); + void llStopHover(); + void llMinEventDelay(); + void llSoundPreload(); + void llRotLookAt(); + void llStringLength(); + void llStartAnimation(); + void llStopAnimation(); + void llPointAt(); + void llStopPointAt(); + void llTargetOmega(); + void llGetStartParameter(); + void llGodLikeRezObject(); + void llRequestPermissions(); + void llGetPermissionsKey(); + void llGetPermissions(); + void llGetLinkNumber(); + void llSetLinkColor(); + void llCreateLink(); + void llBreakLink(); + void llBreakAllLinks(); + void llGetLinkKey(); + void llGetLinkName(); + void llGetInventoryNumber(); + void llGetInventoryName(); + void llSetScriptState(); + void llGetEnergy(); + void llGiveInventory(); + void llRemoveInventory(); + void llSetText(); + void llWater(); + void llPassTouches(); + void llRequestAgentData(); + void llRequestInventoryData(); + void llSetDamage(); + void llTeleportAgentHome(); + void llModifyLand(); + void llCollisionSound(); + void llCollisionSprite(); + void llGetAnimation(); + void llResetScript(); + void llMessageLinked(); + void llPushObject(); + void llPassCollisions(); + void llGetScriptName(); + void llGetNumberOfSides(); + void llAxisAngle2Rot(); + void llRot2Axis(); + void llRot2Angle(); + void llAcos(); + void llAsin(); + void llAngleBetween(); + void llGetInventoryKey(); + void llAllowInventoryDrop(); + void llGetSunDirection(); + void llGetTextureOffset(); + void llGetTextureScale(); + void llGetTextureRot(); + void llSubStringIndex(); + void llGetOwnerKey(); + void llGetCenterOfMass(); + void llListSort(); + void llGetListLength(); + void llList2Integer(); + void llList2Float(); + void llList2String(); + void llList2Key(); + void llList2Vector(); + void llList2Rot(); + void llList2List(); + void llDeleteSubList(); + void llGetListEntryType(); + void llList2CSV(); + void llCSV2List(); + void llListRandomize(); + void llList2ListStrided(); + void llGetRegionCorner(); + void llListInsertList(); + void llListFindList(); + void llGetObjectName(); + void llSetObjectName(); + void llGetDate(); + void llEdgeOfWorld(); + void llGetAgentInfo(); + void llAdjustSoundVolume(); + void llSetSoundQueueing(); + void llSetSoundRadius(); + void llKey2Name(); + void llSetTextureAnim(); + void llTriggerSoundLimited(); + void llEjectFromLand(); + void llParseString2List(); + void llOverMyLand(); + void llGetLandOwnerAt(); + void llGetNotecardLine(); + void llGetAgentSize(); + void llSameGroup(); + void llUnSit(); + void llGroundSlope(); + void llGroundNormal(); + void llGroundContour(); + void llGetAttached(); + void llGetFreeMemory(); + void llGetRegionName(); + void llGetRegionTimeDilation(); + void llGetRegionFPS(); + void llParticleSystem(); + void llGroundRepel(); + void llGiveInventoryList(); + void llSetVehicleType(); + void llSetVehicleFloatParam(); + void llSetVehicleVectorParam(); + void llSetVehicleRotationParam(); + void llSetVehicleFlags(); + void llRemoveVehicleFlags(); + void llSitTarget(); + void llAvatarOnSitTarget(); + void llAddToLandPassList(); + void llSetTouchText(); + void llSetSitText(); + void llSetCameraEyeOffset(); + void llSetCameraAtOffset(); + void llDumpList2String(); + void llScriptDanger(); + void llDialog(); + void llVolumeDetect(); + void llResetOtherScript(); + void llGetScriptState(); + void llRemoteLoadScript(); + void llSetRemoteScriptAccessPin(); + void llRemoteLoadScriptPin(); + void llOpenRemoteDataChannel(); + void llSendRemoteData(); + void llRemoteDataReply(); + void llCloseRemoteDataChannel(); + void llMD5String(); + void llSetPrimitiveParams(); + void llStringToBase64(); + void llBase64ToString(); + void llXorBase64Strings(); + void llRemoteDataSetRegion(); + void llLog10(); + void llLog(); + void llGetAnimationList(); + void llSetParcelMusicURL(); + void llGetRootPosition(); + void llGetRootRotation(); + void llGetObjectDesc(); + void llSetObjectDesc(); + void llGetCreator(); + void llGetTimestamp(); + void llSetLinkAlpha(); + void llGetNumberOfPrims(); + void llGetNumberOfNotecardLines(); + void llGetBoundingBox(); + void llGetGeometricCenter(); + void llGetPrimitiveParams(); + void llIntegerToBase64(); + void llBase64ToInteger(); + void llGetGMTclock(); + void llGetSimulatorHostname(); + void llSetLocalRot(); + void llParseStringKeepNulls(); + void llRezAtRoot(); + void llGetObjectPermMask(); + void llSetObjectPermMask(); + void llGetInventoryPermMask(); + void llSetInventoryPermMask(); + void llGetInventoryCreator(); + void llOwnerSay(); + void llRequestSimulatorData(); + void llForceMouselook(); + void llGetObjectMass(); + void llListReplaceList(); + void llLoadURL(); + void llParcelMediaCommandList(); + void llParcelMediaQuery(); + void llModPow(); + void llGetInventoryType(); + void llSetPayPrice(); + void llGetCameraPos(); + void llGetCameraRot(); + void llSetPrimURL(); + void llRefreshPrimURL(); + void llEscapeURL(); + void llUnescapeURL(); + void llMapDestination(); + void llAddToLandBanList(); + void llRemoveFromLandPassList(); + void llRemoveFromLandBanList(); + void llSetCameraParams(); + void llClearCameraParams(); + void llListStatistics(); + void llGetUnixTime(); + void llGetParcelFlags(); + void llGetRegionFlags(); + void llXorBase64StringsCorrect(); + void llHTTPRequest(); + void llResetLandBanList(); + void llResetLandPassList(); + void llGetParcelPrimCount(); + void llGetParcelPrimOwners(); + void llGetObjectPrimCount(); + void llGetParcelMaxPrims(); + void llGetParcelDetails(); + } +} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs new file mode 100644 index 0000000..f107993 --- /dev/null +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands_TestImplementation.cs @@ -0,0 +1,387 @@ + /* +* Copyright (c) Contributors, http://www.openmetaverse.org/ +* See CONTRIBUTORS.TXT for a full list of copyright holders. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the OpenSim Project nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/* Original code: Tedd Hansen */ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler +{ + public class LSL_BuiltIn_Commands_TestImplementation : LSL_BuiltIn_Commands_Interface + { + public LSL_BuiltIn_Commands_TestImplementation(string FullScriptID) + { + Common.SendToDebug("LSL_BuiltIn_Commands_TestImplementation: Creating object for FullScriptID: " + FullScriptID); + } + + + public float llSin(float f) { return 0; } + public float llCos(float f) { return 0; } + public float llTan(float f) { return 0; } + public float llAtan2(float x, float y) { return 0; } + public float llSqrt(float f) { return 0; } + public float llPow(float fbase, float fexponent) { return 0; } + public UInt32 llAbs(UInt32 i) { return 0; } + public float llFabs(float f) { return 0; } + public float llFrand(float mag) { return 0; } + public UInt32 llFloor(float f) { return 0; } + public UInt32 llCeil(float f) { return 0; } + public UInt32 llRound(float f) { return 0; } + public float llVecMag(Axiom.Math.Vector3 v) { return 0; } + public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); } + public float llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; } + public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); } + public Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up) { return new Axiom.Math.Quaternion(); } + public Axiom.Math.Vector3 llRot2Fwd(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llRot2Left(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end) { return new Axiom.Math.Quaternion(); } + public void llWhisper(UInt16 channelID, string text) + { + Common.SendToDebug("INTERNAL FUNCTION llWhisper(" + channelID + ", \"" + text + "\");"); + Common.SendToLog("llWhisper Channel " + channelID + ", Text: \"" + text + "\""); + } + //public void llSay(UInt32 channelID, string text) + public void llSay(object channelID, object text) + { + //TODO: DO SOMETHING USEFUL HERE + Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");"); + Common.SendToLog("llSay Channel " + (UInt32)channelID + ", Text: \"" + (string)text + "\""); + } + public void llShout(UInt16 channelID, string text) { return; } + public UInt32 llListen(UInt16 channelID, string name, string ID, string msg) { return 0; } + public void llListenControl(UInt32 number, UInt32 active) { return; } + public void llListenRemove(UInt32 number) { return; } + public void llSensor(string name, string id, UInt32 type, float range, float arc) { return; } + public void llSensorRepeat(string name, string id, UInt32 type, float range, float arc, float rate) { return; } + public void llSensorRemove() { return; } + public string llDetectedName(UInt32 number) { return ""; } + public string llDetectedKey(UInt32 number) { return ""; } + public string llDetectedOwner(UInt32 number) { return ""; } + public UInt32 llDetectedType(UInt32 number) { return 0; } + public Axiom.Math.Vector3 llDetectedPos(UInt32 number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llDetectedVel(UInt32 number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llDetectedGrab(UInt32 number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Quaternion llDetectedRot(UInt32 number) { return new Axiom.Math.Quaternion(); } + public UInt32 llDetectedGroup(UInt32 number) { return 0; } + public UInt32 llDetectedLinkNumber(UInt32 number) { return 0; } + public void llDie() { return; } + public float llGround(Axiom.Math.Vector3 offset) { return 0; } + public float llCloud(Axiom.Math.Vector3 offset) { return 0; } + public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } + public void llSetStatus(UInt32 status, UInt32 value) { return; } + public UInt32 llGetStatus(UInt32 status) { return 0; } + public void llSetScale(Axiom.Math.Vector3 scale) { return; } + public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); } + public void llSetColor(Axiom.Math.Vector3 color, UInt32 face) { return; } + public float llGetAlpha(UInt32 face) { return 0; } + public void llSetAlpha(float alpha, UInt32 face) { return; } + public Axiom.Math.Vector3 llGetColor(UInt32 face) { return new Axiom.Math.Vector3(); } + public void llSetTexture(string texture, UInt32 face) { return; } + public void llScaleTexture(float u, float v, UInt32 face) { return; } + public void llOffsetTexture(float u, float v, UInt32 face) { return; } + public void llRotateTexture(float rotation, UInt32 face) { return; } + public string llGetTexture(UInt32 face) { return ""; } + public void llSetPos(Axiom.Math.Vector3 pos) { return; } + + + public void llGetPos() { } + public void llGetLocalPos() { } + public void llSetRot() { } + public void llGetRot() { } + public void llGetLocalRot() { } + public void llSetForce() { } + public void llGetForce() { } + public void llTarget() { } + public void llTargetRemove() { } + public void llRotTarget() { } + public void llRotTargetRemove() { } + public void llMoveToTarget() { } + public void llStopMoveToTarget() { } + public void llApplyImpulse() { } + public void llApplyRotationalImpulse() { } + public void llSetTorque() { } + public void llGetTorque() { } + public void llSetForceAndTorque() { } + public void llGetVel() { } + public void llGetAccel() { } + public void llGetOmega() { } + public void llGetTimeOfDay() { } + public void llGetWallclock() { } + public void llGetTime() { } + public void llResetTime() { } + public void llGetAndResetTime() { } + public void llSound() { } + public void llPlaySound() { } + public void llLoopSound() { } + public void llLoopSoundMaster() { } + public void llLoopSoundSlave() { } + public void llPlaySoundSlave() { } + public void llTriggerSound() { } + public void llStopSound() { } + public void llPreloadSound() { } + public void llGetSubString() { } + public void llDeleteSubString() { } + public void llInsertString() { } + public void llToUpper() { } + public void llToLower() { } + public void llGiveMoney() { } + public void llMakeExplosion() { } + public void llMakeFountain() { } + public void llMakeSmoke() { } + public void llMakeFire() { } + public void llRezObject() { } + public void llLookAt() { } + public void llStopLookAt() { } + public void llSetTimerEvent() { } + public void llSleep() { } + public void llGetMass() { } + public void llCollisionFilter() { } + public void llTakeControls() { } + public void llReleaseControls() { } + public void llAttachToAvatar() { } + public void llDetachFromAvatar() { } + public void llTakeCamera() { } + public void llReleaseCamera() { } + public void llGetOwner() { } + public void llInstantMessage() { } + public void llEmail() { } + public void llGetNextEmail() { } + public void llGetKey() { } + public void llSetBuoyancy() { } + public void llSetHoverHeight() { } + public void llStopHover() { } + public void llMinEventDelay() { } + public void llSoundPreload() { } + public void llRotLookAt() { } + public void llStringLength() { } + public void llStartAnimation() { } + public void llStopAnimation() { } + public void llPointAt() { } + public void llStopPointAt() { } + public void llTargetOmega() { } + public void llGetStartParameter() { } + public void llGodLikeRezObject() { } + public void llRequestPermissions() { } + public void llGetPermissionsKey() { } + public void llGetPermissions() { } + public void llGetLinkNumber() { } + public void llSetLinkColor() { } + public void llCreateLink() { } + public void llBreakLink() { } + public void llBreakAllLinks() { } + public void llGetLinkKey() { } + public void llGetLinkName() { } + public void llGetInventoryNumber() { } + public void llGetInventoryName() { } + public void llSetScriptState() { } + public void llGetEnergy() { } + public void llGiveInventory() { } + public void llRemoveInventory() { } + public void llSetText() { } + public void llWater() { } + public void llPassTouches() { } + public void llRequestAgentData() { } + public void llRequestInventoryData() { } + public void llSetDamage() { } + public void llTeleportAgentHome() { } + public void llModifyLand() { } + public void llCollisionSound() { } + public void llCollisionSprite() { } + public void llGetAnimation() { } + public void llResetScript() { } + public void llMessageLinked() { } + public void llPushObject() { } + public void llPassCollisions() { } + public void llGetScriptName() { } + public void llGetNumberOfSides() { } + public void llAxisAngle2Rot() { } + public void llRot2Axis() { } + public void llRot2Angle() { } + public void llAcos() { } + public void llAsin() { } + public void llAngleBetween() { } + public void llGetInventoryKey() { } + public void llAllowInventoryDrop() { } + public void llGetSunDirection() { } + public void llGetTextureOffset() { } + public void llGetTextureScale() { } + public void llGetTextureRot() { } + public void llSubStringIndex() { } + public void llGetOwnerKey() { } + public void llGetCenterOfMass() { } + public void llListSort() { } + public void llGetListLength() { } + public void llList2Integer() { } + public void llList2Float() { } + public void llList2String() { } + public void llList2Key() { } + public void llList2Vector() { } + public void llList2Rot() { } + public void llList2List() { } + public void llDeleteSubList() { } + public void llGetListEntryType() { } + public void llList2CSV() { } + public void llCSV2List() { } + public void llListRandomize() { } + public void llList2ListStrided() { } + public void llGetRegionCorner() { } + public void llListInsertList() { } + public void llListFindList() { } + public void llGetObjectName() { } + public void llSetObjectName() { } + public void llGetDate() { } + public void llEdgeOfWorld() { } + public void llGetAgentInfo() { } + public void llAdjustSoundVolume() { } + public void llSetSoundQueueing() { } + public void llSetSoundRadius() { } + public void llKey2Name() { } + public void llSetTextureAnim() { } + public void llTriggerSoundLimited() { } + public void llEjectFromLand() { } + public void llParseString2List() { } + public void llOverMyLand() { } + public void llGetLandOwnerAt() { } + public void llGetNotecardLine() { } + public void llGetAgentSize() { } + public void llSameGroup() { } + public void llUnSit() { } + public void llGroundSlope() { } + public void llGroundNormal() { } + public void llGroundContour() { } + public void llGetAttached() { } + public void llGetFreeMemory() { } + public void llGetRegionName() { } + public void llGetRegionTimeDilation() { } + public void llGetRegionFPS() { } + public void llParticleSystem() { } + public void llGroundRepel() { } + public void llGiveInventoryList() { } + public void llSetVehicleType() { } + public void llSetVehicleFloatParam() { } + public void llSetVehicleVectorParam() { } + public void llSetVehicleRotationParam() { } + public void llSetVehicleFlags() { } + public void llRemoveVehicleFlags() { } + public void llSitTarget() { } + public void llAvatarOnSitTarget() { } + public void llAddToLandPassList() { } + public void llSetTouchText() { } + public void llSetSitText() { } + public void llSetCameraEyeOffset() { } + public void llSetCameraAtOffset() { } + public void llDumpList2String() { } + public void llScriptDanger() { } + public void llDialog() { } + public void llVolumeDetect() { } + public void llResetOtherScript() { } + public void llGetScriptState() { } + public void llRemoteLoadScript() { } + public void llSetRemoteScriptAccessPin() { } + public void llRemoteLoadScriptPin() { } + public void llOpenRemoteDataChannel() { } + public void llSendRemoteData() { } + public void llRemoteDataReply() { } + public void llCloseRemoteDataChannel() { } + public void llMD5String() { } + public void llSetPrimitiveParams() { } + public void llStringToBase64() { } + public void llBase64ToString() { } + public void llXorBase64Strings() { } + public void llRemoteDataSetRegion() { } + public void llLog10() { } + public void llLog() { } + public void llGetAnimationList() { } + public void llSetParcelMusicURL() { } + public void llGetRootPosition() { } + public void llGetRootRotation() { } + public void llGetObjectDesc() { } + public void llSetObjectDesc() { } + public void llGetCreator() { } + public void llGetTimestamp() { } + public void llSetLinkAlpha() { } + public void llGetNumberOfPrims() { } + public void llGetNumberOfNotecardLines() { } + public void llGetBoundingBox() { } + public void llGetGeometricCenter() { } + public void llGetPrimitiveParams() { } + public void llIntegerToBase64() { } + public void llBase64ToInteger() { } + public void llGetGMTclock() { } + public void llGetSimulatorHostname() { } + public void llSetLocalRot() { } + public void llParseStringKeepNulls() { } + public void llRezAtRoot() { } + public void llGetObjectPermMask() { } + public void llSetObjectPermMask() { } + public void llGetInventoryPermMask() { } + public void llSetInventoryPermMask() { } + public void llGetInventoryCreator() { } + public void llOwnerSay() { } + public void llRequestSimulatorData() { } + public void llForceMouselook() { } + public void llGetObjectMass() { } + public void llListReplaceList() { } + public void llLoadURL() { } + public void llParcelMediaCommandList() { } + public void llParcelMediaQuery() { } + public void llModPow() { } + public void llGetInventoryType() { } + public void llSetPayPrice() { } + public void llGetCameraPos() { } + public void llGetCameraRot() { } + public void llSetPrimURL() { } + public void llRefreshPrimURL() { } + public void llEscapeURL() { } + public void llUnescapeURL() { } + public void llMapDestination() { } + public void llAddToLandBanList() { } + public void llRemoveFromLandPassList() { } + public void llRemoveFromLandBanList() { } + public void llSetCameraParams() { } + public void llClearCameraParams() { } + public void llListStatistics() { } + public void llGetUnixTime() { } + public void llGetParcelFlags() { } + public void llGetRegionFlags() { } + public void llXorBase64StringsCorrect() { } + public void llHTTPRequest() { } + public void llResetLandBanList() { } + public void llResetLandPassList() { } + public void llGetParcelPrimCount() { } + public void llGetParcelPrimOwners() { } + public void llGetObjectPrimCount() { } + public void llGetParcelMaxPrims() { } + public void llGetParcelDetails() { } + + + + } +} diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs index 6d1ecda..328f456 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/ScriptManager.cs @@ -137,7 +137,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine SetScript(ObjectID, ScriptID, Script); // We need to give (untrusted) assembly a private instance of BuiltIns // this private copy will contain Read-Only FullScriptID so that it can bring that on to the server whenever needed. - OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BuiltIn_Commands_Interface LSLB = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSO.LSL_BuiltIn_Commands_TestImplementation(FullScriptID); + OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_Interface LSLB = new OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL_BuiltIn_Commands_TestImplementation(FullScriptID); // Start the script - giving it BuiltIns Common.SendToDebug("ScriptManager initializing script, handing over private builtin command interface"); Script.Start(LSLB); -- cgit v1.1