From 9c3251b1777cee909246f468aa672c2164a45076 Mon Sep 17 00:00:00 2001 From: Tedd Hansen Date: Wed, 15 Aug 2007 19:25:29 +0000 Subject: [PATCH] Bugfixes in LSL compiler. Changed most datatypes to int (instead of UInt32) and double (instead of float). --- .../DotNetEngine/Compiler/LSL/Compiler.cs | 7 + .../Compiler/LSL/LSL2CSConverter.cs | 9 +- .../Compiler/LSL/LSL_BaseClass.cs | 722 +++++++++++++----- .../LSL_BuiltIn_Commands_Interface.cs | 472 ++++++------ 4 files changed, 774 insertions(+), 436 deletions(-) diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs index 6fe111f525..4ed7bd4d59 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs @@ -40,6 +40,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL Common.SendToDebug("Compiling"); + // DEBUG - write source to disk + try + { + File.WriteAllText(Path.Combine("ScriptEngines", "debug_" + Path.GetFileNameWithoutExtension(LSOFileName) + ".cs"), CS_Code); + } + catch { } + // Do actual compile System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters(); parameters.IncludeDebugInformation = true; diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs index 5c5ac92e75..13e3f2e087 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs @@ -15,7 +15,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL { DataTypes.Add("void", "void"); DataTypes.Add("integer", "int"); - DataTypes.Add("float", "float"); + DataTypes.Add("float", "double"); DataTypes.Add("string", "string"); DataTypes.Add("key", "string"); DataTypes.Add("vector", "Axiom.Math.Vector3"); @@ -58,6 +58,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL C = Script.Substring(p, 1); while (true) { + // found " and last was not \ so this is not an escaped \" if (C == "\"" && last_was_escape == false) { // Toggle inside/outside quote @@ -68,12 +69,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL } else { + if (quote == "") + { + // We didn't replace quote, probably because of empty string? + _Script += quote_replacement_string + quote_replaced_count.ToString().PadLeft(5, "0".ToCharArray()[0]); + } // We just left a quote QUOTES.Add(quote_replacement_string + quote_replaced_count.ToString().PadLeft(5, "0".ToCharArray()[0]), quote); quote = ""; } break; } + if (!in_quote) { // We are not inside a quote diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs index 4af438a700..90c905560b 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs @@ -20,23 +20,23 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL return; } -//These are the implementations of the various ll-functions used by the LSL scripts. + //These are the implementations of the various ll-functions used by the LSL scripts. //starting out, we use the System.Math library for trig functions. - CFK 8-14-07 - public float llSin(float f) { return (float)Math.Sin(f); } - public float llCos(float f) { return (float)Math.Cos(f); } - public float llTan(float f) { return (float)Math.Tan(f); } - public float llAtan2(float x, float y) { return (float)Math.Atan2(y, x); } - public float llSqrt(float f) { return (float)Math.Sqrt(f); } - public float llPow(float fbase, float fexponent) { return (float)Math.Pow(fbase, fexponent); } - public Int32 llAbs(Int32 i) { return (Int32)Math.Abs(i); } - public float llFabs(float f) { return (float)Math.Abs(f); } - public float llFrand(float mag) { return 0; } - public Int32 llFloor(float f) { return (Int32)Math.Floor(f); } - public Int32 llCeil(float f) { return (Int32)Math.Ceiling(f); } - public Int32 llRound(float f) { return (Int32)Math.Round(f, 1); } - public float llVecMag(Axiom.Math.Vector3 v) { return 0; } + public double llSin(double f) { return (double)Math.Sin(f); } + public double llCos(double f) { return (double)Math.Cos(f); } + public double llTan(double f) { return (double)Math.Tan(f); } + public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); } + public double llSqrt(double f) { return (double)Math.Sqrt(f); } + public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); } + public int llAbs(int i) { return (int)Math.Abs(i); } + public double llFabs(double f) { return (double)Math.Abs(f); } + public double llFrand(double mag) { return 0; } + public int llFloor(double f) { return (int)Math.Floor(f); } + public int llCeil(double f) { return (int)Math.Ceiling(f); } + public int llRound(double f) { return (int)Math.Round(f, 1); } + public double 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 double 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(); } @@ -52,54 +52,55 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL //World.SimChat(enc.GetBytes(text), 0, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); } - //public void llSay(UInt32 channelID, string text) + //public void llSay(int channelID, string text) public void llSay(int channelID, string text) { //TODO: DO SOMETHING USEFUL HERE - //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");"); + //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (int)channelID + ", \"" + (string)text + "\");"); Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\""); //type for say is 1 //World.SimChat(enc.GetBytes(text), 1, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); } - public void llShout(UInt16 channelID, string text) { + public void llShout(int channelID, string text) + { Console.WriteLine("llShout Channel " + channelID + ", Text: \"" + text + "\""); //type for shout is 2 //World.SimChat(enc.GetBytes(text), 2, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); } - 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 int llListen(int channelID, string name, string ID, string msg) { return 0; } + public void llListenControl(int number, int active) { return; } + public void llListenRemove(int number) { return; } + public void llSensor(string name, string id, int type, double range, double arc) { return; } + public void llSensorRepeat(string name, string id, int type, double range, double arc, double 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 string llDetectedName(int number) { return ""; } + public string llDetectedKey(int number) { return ""; } + public string llDetectedOwner(int number) { return ""; } + public int llDetectedType(int number) { return 0; } + public Axiom.Math.Vector3 llDetectedPos(int number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llDetectedVel(int number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llDetectedGrab(int number) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Quaternion llDetectedRot(int number) { return new Axiom.Math.Quaternion(); } + public int llDetectedGroup(int number) { return 0; } + public int llDetectedLinkNumber(int 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 double llGround(Axiom.Math.Vector3 offset) { return 0; } + public double 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 llSetStatus(int status, int value) { return; } + public int llGetStatus(int 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 llSetColor(Axiom.Math.Vector3 color, int face) { return; } + public double llGetAlpha(int face) { return 0; } + public void llSetAlpha(double alpha, int face) { return; } + public Axiom.Math.Vector3 llGetColor(int face) { return new Axiom.Math.Vector3(); } + public void llSetTexture(string texture, int face) { return; } + public void llScaleTexture(double u, double v, int face) { return; } + public void llOffsetTexture(double u, double v, int face) { return; } + public void llRotateTexture(double rotation, int face) { return; } + public string llGetTexture(int face) { return ""; } public void llSetPos(Axiom.Math.Vector3 pos) { return; } @@ -108,56 +109,56 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public void llSetRot(Axiom.Math.Quaternion rot) { } public Axiom.Math.Quaternion llGetRot() { return new Axiom.Math.Quaternion(); } public Axiom.Math.Quaternion llGetLocalRot() { return new Axiom.Math.Quaternion(); } - public void llSetForce(Axiom.Math.Vector3 force, Int32 local) { } + public void llSetForce(Axiom.Math.Vector3 force, int local) { } public Axiom.Math.Vector3 llGetForce() { return new Axiom.Math.Vector3(); } - public Int32 llTarget(Axiom.Math.Vector3 position, float range) { return 0; } - public void llTargetRemove(Int32 number) { } - public Int32 llRotTarget(Axiom.Math.Quaternion rot, float error) { return 0; } - public void llRotTargetRemove(Int32 number) { } - public void llMoveToTarget(Axiom.Math.Vector3 target, float tau) { } + public int llTarget(Axiom.Math.Vector3 position, double range) { return 0; } + public void llTargetRemove(int number) { } + public int llRotTarget(Axiom.Math.Quaternion rot, double error) { return 0; } + public void llRotTargetRemove(int number) { } + public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { } public void llStopMoveToTarget() { } - public void llApplyImpulse(Axiom.Math.Vector3 force, Int32 local) { } - public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, Int32 local) { } - public void llSetTorque(Axiom.Math.Vector3 torque, Int32 local) { } + public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { } + public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { } + public void llSetTorque(Axiom.Math.Vector3 torque, int local) { } public Axiom.Math.Vector3 llGetTorque() { return new Axiom.Math.Vector3(); } - public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, Int32 local) { } + public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, int local) { } public Axiom.Math.Vector3 llGetVel() { return new Axiom.Math.Vector3(); } public Axiom.Math.Vector3 llGetAccel() { return new Axiom.Math.Vector3(); } public Axiom.Math.Vector3 llGetOmega() { return new Axiom.Math.Vector3(); } - public float llGetTimeOfDay() { return 0; } - public float llGetWallclock() { return 0; } - public float llGetTime() { return 0; } + public double llGetTimeOfDay() { return 0; } + public double llGetWallclock() { return 0; } + public double llGetTime() { return 0; } public void llResetTime() { } - public float llGetAndResetTime() { return 0; } + public double llGetAndResetTime() { return 0; } public void llSound() { } - public void llPlaySound(string sound, float volume) { } - public void llLoopSound(string sound, float volume) { } - public void llLoopSoundMaster(string sound, float volume) { } - public void llLoopSoundSlave(string sound, float volume) { } - public void llPlaySoundSlave(string sound, float volume) { } - public void llTriggerSound(string sound, float volume) { } + public void llPlaySound(string sound, double volume) { } + public void llLoopSound(string sound, double volume) { } + public void llLoopSoundMaster(string sound, double volume) { } + public void llLoopSoundSlave(string sound, double volume) { } + public void llPlaySoundSlave(string sound, double volume) { } + public void llTriggerSound(string sound, double volume) { } public void llStopSound() { } public void llPreloadSound(string sound) { } - public void llGetSubString(string src, Int32 start, Int32 end) { } - public string llDeleteSubString(string src, Int32 start, Int32 end) { return ""; } - public void llInsertString(string dst, Int32 position, string src) { } + public void llGetSubString(string src, int start, int end) { } + public string llDeleteSubString(string src, int start, int end) { return ""; } + public void llInsertString(string dst, int position, string src) { } public string llToUpper(string source) { return ""; } public string llToLower(string source) { return ""; } - public Int32 llGiveMoney(string destination, Int32 amount) { return 0; } + public int llGiveMoney(string destination, int amount) { return 0; } public void llMakeExplosion() { } public void llMakeFountain() { } public void llMakeSmoke() { } public void llMakeFire() { } - public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, Int32 param) { } - public void llLookAt(Axiom.Math.Vector3 target, float strength, float damping) { } + public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, int param) { } + public void llLookAt(Axiom.Math.Vector3 target, double strength, double damping) { } public void llStopLookAt() { } - public void llSetTimerEvent(float sec) { } - public void llSleep(float sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); } - public float llGetMass() { return 0; } - public void llCollisionFilter(string name, string id, Int32 accept) { } - public void llTakeControls(Int32 controls, Int32 accept, Int32 pass_on) { } + public void llSetTimerEvent(double sec) { } + public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); } + public double llGetMass() { return 0; } + public void llCollisionFilter(string name, string id, int accept) { } + public void llTakeControls(int controls, int accept, int pass_on) { } public void llReleaseControls() { } - public void llAttachToAvatar(Int32 attachment) { } + public void llAttachToAvatar(int attachment) { } public void llDetachFromAvatar() { } public void llTakeCamera() { } public void llReleaseCamera() { } @@ -166,135 +167,135 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public void llEmail(string address, string subject, string message) { } public void llGetNextEmail(string address, string subject) { } public string llGetKey() { return ""; } - public void llSetBuoyancy(float buoyancy) { } - public void llSetHoverHeight(float height, Int32 water, float tau) { } + public void llSetBuoyancy(double buoyancy) { } + public void llSetHoverHeight(double height, int water, double tau) { } public void llStopHover() { } - public void llMinEventDelay(float delay) { } + public void llMinEventDelay(double delay) { } public void llSoundPreload() { } - public void llRotLookAt(Axiom.Math.Quaternion target, float strength, float damping) { } - public Int32 llStringLength(string str) { return 0; } + public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { } + public int llStringLength(string str) { return 0; } public void llStartAnimation(string anim) { } public void llStopAnimation(string anim) { } public void llPointAt() { } public void llStopPointAt() { } - public void llTargetOmega(Axiom.Math.Vector3 axis, float spinrate, float gain) { } - public Int32 llGetStartParameter() { return 0; } + public void llTargetOmega(Axiom.Math.Vector3 axis, double spinrate, double gain) { } + public int llGetStartParameter() { return 0; } public void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos) { } - public void llRequestPermissions(string agent, Int32 perm) { } + public void llRequestPermissions(string agent, int perm) { } public string llGetPermissionsKey() { return ""; } - public Int32 llGetPermissions() { return 0; } - public Int32 llGetLinkNumber() { return 0; } - public void llSetLinkColor(Int32 linknumber, Axiom.Math.Vector3 color, Int32 face) { } - public void llCreateLink(string target, Int32 parent) { } - public void llBreakLink(Int32 linknum) { } + public int llGetPermissions() { return 0; } + public int llGetLinkNumber() { return 0; } + public void llSetLinkColor(int linknumber, Axiom.Math.Vector3 color, int face) { } + public void llCreateLink(string target, int parent) { } + public void llBreakLink(int linknum) { } public void llBreakAllLinks() { } - public string llGetLinkKey(Int32 linknum) { return ""; } - public void llGetLinkName(Int32 linknum) { } - public Int32 llGetInventoryNumber(Int32 type) { return 0; } - public string llGetInventoryName(Int32 type, Int32 number) { return ""; } - public void llSetScriptState(string name, Int32 run) { } - public float llGetEnergy() { return 1.0f; } + public string llGetLinkKey(int linknum) { return ""; } + public void llGetLinkName(int linknum) { } + public int llGetInventoryNumber(int type) { return 0; } + public string llGetInventoryName(int type, int number) { return ""; } + public void llSetScriptState(string name, int run) { } + public double llGetEnergy() { return 1.0f; } public void llGiveInventory(string destination, string inventory) { } public void llRemoveInventory(string item) { } - public void llSetText(string text, Axiom.Math.Vector3 color, float alpha) { } - public float llWater(Axiom.Math.Vector3 offset) { return 0; } - public void llPassTouches(Int32 pass) { } - public string llRequestAgentData(string id, Int32 data) { return ""; } + public void llSetText(string text, Axiom.Math.Vector3 color, double alpha) { } + public double llWater(Axiom.Math.Vector3 offset) { return 0; } + public void llPassTouches(int pass) { } + public string llRequestAgentData(string id, int data) { return ""; } public string llRequestInventoryData(string name) { return ""; } - public void llSetDamage(float damage) { } + public void llSetDamage(double damage) { } public void llTeleportAgentHome(string agent) { } - public void llModifyLand(Int32 action, Int32 brush) { } - public void llCollisionSound(string impact_sound, float impact_volume) { } + public void llModifyLand(int action, int brush) { } + public void llCollisionSound(string impact_sound, double impact_volume) { } public void llCollisionSprite(string impact_sprite) { } public string llGetAnimation(string id) { return ""; } public void llResetScript() { } - public void llMessageLinked(Int32 linknum, Int32 num, string str, string id) { } - public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, Int32 local) { } - public void llPassCollisions(Int32 pass) { } + public void llMessageLinked(int linknum, int num, string str, string id) { } + public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, int local) { } + public void llPassCollisions(int pass) { } public string llGetScriptName() { return ""; } - public Int32 llGetNumberOfSides() { return 0; } - public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, float angle) { return new Axiom.Math.Quaternion(); } + public int llGetNumberOfSides() { return 0; } + public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return new Axiom.Math.Quaternion(); } public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return new Axiom.Math.Vector3(); } public void llRot2Angle() { } - public float llAcos(float val) { return (float)Math.Acos(val); } - public float llAsin(float val) { return (float)Math.Asin(val); } - public float llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; } + public double llAcos(double val) { return (double)Math.Acos(val); } + public double llAsin(double val) { return (double)Math.Asin(val); } + public double llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; } public string llGetInventoryKey(string name) { return ""; } - public void llAllowInventoryDrop(Int32 add) { } + public void llAllowInventoryDrop(int add) { } public Axiom.Math.Vector3 llGetSunDirection() { return new Axiom.Math.Vector3(); } - public Axiom.Math.Vector3 llGetTextureOffset(Int32 face) { return new Axiom.Math.Vector3(); } - public Axiom.Math.Vector3 llGetTextureScale(Int32 side) { return new Axiom.Math.Vector3(); } - public float llGetTextureRot(Int32 side) { return 0; } - public Int32 llSubStringIndex(string source, string pattern) { return 0; } + public Axiom.Math.Vector3 llGetTextureOffset(int face) { return new Axiom.Math.Vector3(); } + public Axiom.Math.Vector3 llGetTextureScale(int side) { return new Axiom.Math.Vector3(); } + public double llGetTextureRot(int side) { return 0; } + public int llSubStringIndex(string source, string pattern) { return 0; } public string llGetOwnerKey(string id) { return ""; } public Axiom.Math.Vector3 llGetCenterOfMass() { return new Axiom.Math.Vector3(); } - public List llListSort(List src, Int32 stride, Int32 ascending) - { return new List(); } - public Int32 llGetListLength(List src) { return 0; } - public Int32 llList2Integer(List src, Int32 index) { return 0;} - public float llList2Float(List src, Int32 index) { return 0; } - public string llList2String(List src, Int32 index) { return ""; } - public string llList2Key(List src, Int32 index) { return ""; } - public Axiom.Math.Vector3 llList2Vector(List src, Int32 index) - { return new Axiom.Math.Vector3(); } - public Axiom.Math.Quaternion llList2Rot(List src, Int32 index) - { return new Axiom.Math.Quaternion(); } - public List llList2List(List src, Int32 start, Int32 end) - { return new List(); } - public List llDeleteSubList(List src, Int32 start, Int32 end) - { return new List(); } - public Int32 llGetListEntryType(List src, Int32 index) { return 0; } + public List llListSort(List src, int stride, int ascending) + { return new List(); } + public int llGetListLength(List src) { return 0; } + public int llList2Integer(List src, int index) { return 0; } + public double llList2double(List src, int index) { return 0; } + public string llList2String(List src, int index) { return ""; } + public string llList2Key(List src, int index) { return ""; } + public Axiom.Math.Vector3 llList2Vector(List src, int index) + { return new Axiom.Math.Vector3(); } + public Axiom.Math.Quaternion llList2Rot(List src, int index) + { return new Axiom.Math.Quaternion(); } + public List llList2List(List src, int start, int end) + { return new List(); } + public List llDeleteSubList(List src, int start, int end) + { return new List(); } + public int llGetListEntryType(List src, int index) { return 0; } public string llList2CSV(List src) { return ""; } public List llCSV2List(string src) - { return new List(); } - public List llListRandomize(List src, Int32 stride) - { return new List(); } - public List llList2ListStrided(List src, Int32 start, Int32 end, Int32 stride) - { return new List(); } + { return new List(); } + public List llListRandomize(List src, int stride) + { return new List(); } + public List llList2ListStrided(List src, int start, int end, int stride) + { return new List(); } public Axiom.Math.Vector3 llGetRegionCorner() { return new Axiom.Math.Vector3(); } - public List llListInsertList(List dest, List src, Int32 start) - { return new List(); } - public Int32 llListFindList(List src, List test) { return 0; } + public List llListInsertList(List dest, List src, int start) + { return new List(); } + public int llListFindList(List src, List test) { return 0; } public string llGetObjectName() { return ""; } public void llSetObjectName(string name) { } public string llGetDate() { return ""; } - public Int32 llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; } - public Int32 llGetAgentInfo(string id) { return 0; } - public void llAdjustSoundVolume(float volume) { } - public void llSetSoundQueueing(Int32 queue) { } - public void llSetSoundRadius(float radius) { } + public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; } + public int llGetAgentInfo(string id) { return 0; } + public void llAdjustSoundVolume(double volume) { } + public void llSetSoundQueueing(int queue) { } + public void llSetSoundRadius(double radius) { } public string llKey2Name(string id) { return ""; } - public void llSetTextureAnim(Int32 mode, Int32 face, Int32 sizex, Int32 sizey, float start, float length, float rate) { } - public void llTriggerSoundLimited(string sound, float volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { } + public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { } + public void llTriggerSoundLimited(string sound, double volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { } public void llEjectFromLand(string pest) { } public void llParseString2List() { } - public Int32 llOverMyLand(string id) { return 0; } + public int llOverMyLand(string id) { return 0; } public string llGetLandOwnerAt(Axiom.Math.Vector3 pos) { return ""; } - public string llGetNotecardLine(string name, Int32 line) { return ""; } + public string llGetNotecardLine(string name, int line) { return ""; } public Axiom.Math.Vector3 llGetAgentSize(string id) { return new Axiom.Math.Vector3(); } - public Int32 llSameGroup(string agent) { return 0; } + public int llSameGroup(string agent) { return 0; } public void llUnSit(string id) { } public Axiom.Math.Vector3 llGroundSlope(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } public Axiom.Math.Vector3 llGroundNormal(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } public Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } - public Int32 llGetAttached() { return 0; } - public Int32 llGetFreeMemory() { return 0; } + public int llGetAttached() { return 0; } + public int llGetFreeMemory() { return 0; } public string llGetRegionName() { return World.RegionInfo.RegionName; } - public float llGetRegionTimeDilation() { return 1.0f; } - public float llGetRegionFPS() { return 10.0f; } + public double llGetRegionTimeDilation() { return 1.0f; } + public double llGetRegionFPS() { return 10.0f; } public void llParticleSystem(List rules) { } - public void llGroundRepel(float height, Int32 water, float tau) { } + public void llGroundRepel(double height, int water, double tau) { } public void llGiveInventoryList() { } - public void llSetVehicleType(Int32 type) { } - public void llSetVehicleFloatParam(Int32 param, float value) { } - public void llSetVehicleVectorParam(Int32 param, Axiom.Math.Vector3 vec) { } - public void llSetVehicleRotationParam(Int32 param, Axiom.Math.Quaternion rot) { } - public void llSetVehicleFlags(Int32 flags) { } - public void llRemoveVehicleFlags(Int32 flags) { } + public void llSetVehicleType(int type) { } + public void llSetVehicledoubleParam(int param, double value) { } + public void llSetVehicleVectorParam(int param, Axiom.Math.Vector3 vec) { } + public void llSetVehicleRotationParam(int param, Axiom.Math.Quaternion rot) { } + public void llSetVehicleFlags(int flags) { } + public void llRemoveVehicleFlags(int flags) { } public void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot) { } public string llAvatarOnSitTarget() { return ""; } - public void llAddToLandPassList(string avatar, float hours) { } + public void llAddToLandPassList(string avatar, double hours) { } public void llSetTouchText(string text) { } @@ -305,18 +306,19 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public void llSetCameraAtOffset(Axiom.Math.Vector3 offset) { } public void llDumpList2String() { } public void llScriptDanger(Axiom.Math.Vector3 pos) { } - public void llDialog(string avatar, string message, List buttons, Int32 chat_channel) { } - public void llVolumeDetect(Int32 detect) { } + public void llDialog(string avatar, string message, List buttons, int chat_channel) { } + public void llVolumeDetect(int detect) { } public void llResetOtherScript(string name) { } - public Int32 llGetScriptState(string name) { return 0; } + public int llGetScriptState(string name) { return 0; } public void llRemoteLoadScript() { } - public void llSetRemoteScriptAccessPin(Int32 pin) { } - public void llRemoteLoadScriptPin(string target, string name, Int32 pin, Int32 running, Int32 start_param) { } + public void llSetRemoteScriptAccessPin(int pin) { } + public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { } public void llOpenRemoteDataChannel() { } - public string llSendRemoteData(string channel, string dest, Int32 idata, string sdata) { return ""; } - public void llRemoteDataReply(string channel, string message_id, string sdata, Int32 idata) { } + public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return ""; } + public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { } public void llCloseRemoteDataChannel(string channel) { } - public string llMD5String(string src, Int32 nonce) { + public string llMD5String(string src, int nonce) + { return OpenSim.Framework.Utilities.Util.Md5Hash(src + ":" + nonce.ToString()); } public void llSetPrimitiveParams(List rules) { } @@ -324,8 +326,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public string llBase64ToString(string str) { return ""; } public void llXorBase64Strings() { } public void llRemoteDataSetRegion() { } - public float llLog10(float val) { return (float)Math.Log10(val); } - public float llLog(float val) { return (float)Math.Log(val); } + public double llLog10(double val) { return (double)Math.Log10(val); } + public double llLog(double val) { return (double)Math.Log(val); } public List llGetAnimationList(string id) { return new List(); } public void llSetParcelMusicURL(string url) { } public Axiom.Math.Vector3 llGetRootPosition() { return new Axiom.Math.Vector3(); } @@ -334,43 +336,44 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public void llSetObjectDesc(string desc) { } public string llGetCreator() { return ""; } public string llGetTimestamp() { return ""; } - public void llSetLinkAlpha(Int32 linknumber, float alpha, Int32 face) { } - public Int32 llGetNumberOfPrims() { return 0; } + public void llSetLinkAlpha(int linknumber, double alpha, int face) { } + public int llGetNumberOfPrims() { return 0; } public string llGetNumberOfNotecardLines(string name) { return ""; } public List llGetBoundingBox(string obj) { return new List(); } public Axiom.Math.Vector3 llGetGeometricCenter() { return new Axiom.Math.Vector3(); } public void llGetPrimitiveParams() { } - public string llIntegerToBase64(Int32 number) { return ""; } - public Int32 llBase64ToInteger(string str) { return 0; } - public float llGetGMTclock() { return 0; } + public string llIntegerToBase64(int number) { return ""; } + public int llBase64ToInteger(string str) { return 0; } + public double llGetGMTclock() { return 0; } public string llGetSimulatorHostname() { return ""; } public void llSetLocalRot(Axiom.Math.Quaternion rot) { } - public List llParseStringKeepNulls(string src, List seperators, List spacers) - { return new List(); } - public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, Int32 param) { } - public Int32 llGetObjectPermMask(Int32 mask) { return 0; } - public void llSetObjectPermMask(Int32 mask, Int32 value) { } - public void llGetInventoryPermMask(string item, Int32 mask) { } - public void llSetInventoryPermMask(string item, Int32 mask, Int32 value) { } + public List llParseStringKeepNulls(string src, List seperators, List spacers) + { return new List(); } + public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, int param) { } + public int llGetObjectPermMask(int mask) { return 0; } + public void llSetObjectPermMask(int mask, int value) { } + public void llGetInventoryPermMask(string item, int mask) { } + public void llSetInventoryPermMask(string item, int mask, int value) { } public string llGetInventoryCreator(string item) { return ""; } public void llOwnerSay(string msg) { } - public void llRequestSimulatorData(string simulator, Int32 data) { } - public void llForceMouselook(Int32 mouselook) { } - public float llGetObjectMass(string id) { return 0; } + public void llRequestSimulatorData(string simulator, int data) { } + public void llForceMouselook(int mouselook) { } + public double llGetObjectMass(string id) { return 0; } public void llListReplaceList() { } public void llLoadURL(string avatar_id, string message, string url) { } public void llParcelMediaCommandList(List commandList) { } public void llParcelMediaQuery() { } - public Int32 llModPow(Int32 a, Int32 b, Int32 c) { + public int llModPow(int a, int b, int c) + { Int64 tmp = 0; Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp); return Convert.ToInt32(tmp); } - public Int32 llGetInventoryType(string name) { return 0; } - public void llSetPayPrice(Int32 price, List quick_pay_buttons) { } + public int llGetInventoryType(string name) { return 0; } + public void llSetPayPrice(int price, List quick_pay_buttons) { } public Axiom.Math.Vector3 llGetCameraPos() { return new Axiom.Math.Vector3(); } public Axiom.Math.Quaternion llGetCameraRot() { return new Axiom.Math.Quaternion(); } public void llSetPrimURL() { } @@ -378,26 +381,347 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL public string llEscapeURL(string url) { return ""; } public string llUnescapeURL(string url) { return ""; } public void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at) { } - public void llAddToLandBanList(string avatar, float hours) { } + public void llAddToLandBanList(string avatar, double hours) { } public void llRemoveFromLandPassList(string avatar) { } public void llRemoveFromLandBanList(string avatar) { } public void llSetCameraParams(List rules) { } public void llClearCameraParams() { } - public float llListStatistics(Int32 operation, List src) { return 0; } - public Int32 llGetUnixTime() { + public double llListStatistics(int operation, List src) { return 0; } + public int llGetUnixTime() + { return OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch(); } - public Int32 llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; } - public Int32 llGetRegionFlags() { return 0; } + public int llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; } + public int llGetRegionFlags() { return 0; } public string llXorBase64StringsCorrect(string str1, string str2) { return ""; } public void llHTTPRequest() { } public void llResetLandBanList() { } public void llResetLandPassList() { } - public Int32 llGetParcelPrimCount(Axiom.Math.Vector3 pos, Int32 category, Int32 sim_wide) { return 0; } + public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return 0; } public List llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return new List(); } - public Int32 llGetObjectPrimCount(string object_id) { return 0; } - public Int32 llGetParcelMaxPrims(Axiom.Math.Vector3 pos, Int32 sim_wide) { return 0; } + public int llGetObjectPrimCount(string object_id) { return 0; } + public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return 0; } public List llGetParcelDetails(Axiom.Math.Vector3 pos, List param) { return new List(); } + + + + // LSL CONSTANTS + public const int TRUE = 1; + public const int FALSE = 0; + public const int STATUS_PHYSICS = 1; + public const int STATUS_ROTATE_X = 2; + public const int STATUS_ROTATE_Y = 4; + public const int STATUS_ROTATE_Z = 8; + public const int STATUS_PHANTOM = 16; + public const int STATUS_SANDBOX = 32; + public const int STATUS_BLOCK_GRAB = 64; + public const int STATUS_DIE_AT_EDGE = 128; + public const int STATUS_RETURN_AT_EDGE = 256; + public const int AGENT = 1; + public const int ACTIVE = 2; + public const int PASSIVE = 4; + public const int SCRIPTED = 8; + public const int CONTROL_FWD = 1; + public const int CONTROL_BACK = 2; + public const int CONTROL_LEFT = 4; + public const int CONTROL_RIGHT = 8; + public const int CONTROL_UP = 16; + public const int CONTROL_DOWN = 32; + public const int CONTROL_ROT_LEFT = 256; + public const int CONTROL_ROT_RIGHT = 512; + public const int CONTROL_LBUTTON = 268435456; + public const int CONTROL_ML_LBUTTON = 1073741824; + public const int PERMISSION_DEBIT = 2; + public const int PERMISSION_TAKE_CONTROLS = 4; + public const int PERMISSION_REMAP_CONTROLS = 8; + public const int PERMISSION_TRIGGER_ANIMATION = 16; + public const int PERMISSION_ATTACH = 32; + public const int PERMISSION_RELEASE_OWNERSHIP = 64; + public const int PERMISSION_CHANGE_LINKS = 128; + public const int PERMISSION_CHANGE_JOINTS = 256; + public const int PERMISSION_CHANGE_PERMISSIONS = 512; + public const int PERMISSION_TRACK_CAMERA = 1024; + public const int AGENT_FLYING = 1; + public const int AGENT_ATTACHMENTS = 2; + public const int AGENT_SCRIPTED = 4; + public const int AGENT_MOUSELOOK = 8; + public const int AGENT_SITTING = 16; + public const int AGENT_ON_OBJECT = 32; + public const int AGENT_AWAY = 64; + public const int AGENT_WALKING = 128; + public const int AGENT_IN_AIR = 256; + public const int AGENT_TYPING = 512; + public const int AGENT_CROUCHING = 1024; + public const int AGENT_BUSY = 2048; + public const int AGENT_ALWAYS_RUN = 4096; + public const int PSYS_PART_INTERP_COLOR_MASK = 1; + public const int PSYS_PART_INTERP_SCALE_MASK = 2; + public const int PSYS_PART_BOUNCE_MASK = 4; + public const int PSYS_PART_WIND_MASK = 8; + public const int PSYS_PART_FOLLOW_SRC_MASK = 16; + public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32; + public const int PSYS_PART_TARGET_POS_MASK = 64; + public const int PSYS_PART_TARGET_LINEAR_MASK = 128; + public const int PSYS_PART_EMISSIVE_MASK = 256; + public const int PSYS_PART_FLAGS = 0; + public const int PSYS_PART_START_COLOR = 1; + public const int PSYS_PART_START_ALPHA = 2; + public const int PSYS_PART_END_COLOR = 3; + public const int PSYS_PART_END_ALPHA = 4; + public const int PSYS_PART_START_SCALE = 5; + public const int PSYS_PART_END_SCALE = 6; + public const int PSYS_PART_MAX_AGE = 7; + public const int PSYS_SRC_ACCEL = 8; + public const int PSYS_SRC_PATTERN = 9; + public const int PSYS_SRC_INNERANGLE = 10; + public const int PSYS_SRC_OUTERANGLE = 11; + public const int PSYS_SRC_TEXTURE = 12; + public const int PSYS_SRC_BURST_RATE = 13; + public const int PSYS_SRC_BURST_PART_COUNT = 15; + public const int PSYS_SRC_BURST_RADIUS = 16; + public const int PSYS_SRC_BURST_SPEED_MIN = 17; + public const int PSYS_SRC_BURST_SPEED_MAX = 18; + public const int PSYS_SRC_MAX_AGE = 19; + public const int PSYS_SRC_TARGET_KEY = 20; + public const int PSYS_SRC_OMEGA = 21; + public const int PSYS_SRC_ANGLE_BEGIN = 22; + public const int PSYS_SRC_ANGLE_END = 23; + public const int PSYS_SRC_PATTERN_DROP = 1; + public const int PSYS_SRC_PATTERN_EXPLODE = 2; + public const int PSYS_SRC_PATTERN_ANGLE = 4; + public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8; + public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16; + public const int VEHICLE_TYPE_NONE = 0; + public const int VEHICLE_TYPE_SLED = 1; + public const int VEHICLE_TYPE_CAR = 2; + public const int VEHICLE_TYPE_BOAT = 3; + public const int VEHICLE_TYPE_AIRPLANE = 4; + public const int VEHICLE_TYPE_BALLOON = 5; + public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16; + public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17; + public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18; + public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20; + public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19; + public const int VEHICLE_HOVER_HEIGHT = 24; + public const int VEHICLE_HOVER_EFFICIENCY = 25; + public const int VEHICLE_HOVER_TIMESCALE = 26; + public const int VEHICLE_BUOYANCY = 27; + public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28; + public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29; + public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30; + public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31; + public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32; + public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33; + public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34; + public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35; + public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36; + public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37; + public const int VEHICLE_BANKING_EFFICIENCY = 38; + public const int VEHICLE_BANKING_MIX = 39; + public const int VEHICLE_BANKING_TIMESCALE = 40; + public const int VEHICLE_REFERENCE_FRAME = 44; + public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1; + public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2; + public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4; + public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8; + public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16; + public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32; + public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64; + public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128; + public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256; + public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512; + public const int INVENTORY_ALL = -1; + public const int INVENTORY_NONE = -1; + public const int INVENTORY_TEXTURE = 0; + public const int INVENTORY_SOUND = 1; + public const int INVENTORY_LANDMARK = 3; + public const int INVENTORY_CLOTHING = 5; + public const int INVENTORY_OBJECT = 6; + public const int INVENTORY_NOTECARD = 7; + public const int INVENTORY_SCRIPT = 10; + public const int INVENTORY_BODYPART = 13; + public const int INVENTORY_ANIMATION = 20; + public const int INVENTORY_GESTURE = 21; + public const int ATTACH_CHEST = 1; + public const int ATTACH_HEAD = 2; + public const int ATTACH_LSHOULDER = 3; + public const int ATTACH_RSHOULDER = 4; + public const int ATTACH_LHAND = 5; + public const int ATTACH_RHAND = 6; + public const int ATTACH_LFOOT = 7; + public const int ATTACH_RFOOT = 8; + public const int ATTACH_BACK = 9; + public const int ATTACH_PELVIS = 10; + public const int ATTACH_MOUTH = 11; + public const int ATTACH_CHIN = 12; + public const int ATTACH_LEAR = 13; + public const int ATTACH_REAR = 14; + public const int ATTACH_LEYE = 15; + public const int ATTACH_REYE = 16; + public const int ATTACH_NOSE = 17; + public const int ATTACH_RUARM = 18; + public const int ATTACH_RLARM = 19; + public const int ATTACH_LUARM = 20; + public const int ATTACH_LLARM = 21; + public const int ATTACH_RHIP = 22; + public const int ATTACH_RULEG = 23; + public const int ATTACH_RLLEG = 24; + public const int ATTACH_LHIP = 25; + public const int ATTACH_LULEG = 26; + public const int ATTACH_LLLEG = 27; + public const int ATTACH_BELLY = 28; + public const int ATTACH_RPEC = 29; + public const int ATTACH_LPEC = 30; + public const int LAND_LEVEL = 0; + public const int LAND_RAISE = 1; + public const int LAND_LOWER = 2; + public const int LAND_SMOOTH = 3; + public const int LAND_NOISE = 4; + public const int LAND_REVERT = 5; + public const int LAND_SMALL_BRUSH = 1; + public const int LAND_MEDIUM_BRUSH = 2; + public const int LAND_LARGE_BRUSH = 3; + public const int DATA_ONLINE = 1; + public const int DATA_NAME = 2; + public const int DATA_BORN = 3; + public const int DATA_RATING = 4; + public const int DATA_SIM_POS = 5; + public const int DATA_SIM_STATUS = 6; + public const int DATA_SIM_RATING = 7; + public const int ANIM_ON = 1; + public const int LOOP = 2; + public const int REVERSE = 4; + public const int PING_PONG = 8; + public const int SMOOTH = 16; + public const int ROTATE = 32; + public const int SCALE = 64; + public const int ALL_SIDES = -1; + public const int LINK_SET = -1; + public const int LINK_ROOT = 1; + public const int LINK_ALL_OTHERS = -2; + public const int LINK_ALL_CHILDREN = -3; + public const int LINK_THIS = -4; + public const int CHANGED_INVENTORY = 1; + public const int CHANGED_COLOR = 2; + public const int CHANGED_SHAPE = 4; + public const int CHANGED_SCALE = 8; + public const int CHANGED_TEXTURE = 16; + public const int CHANGED_LINK = 32; + public const int CHANGED_ALLOWED_DROP = 64; + public const int CHANGED_OWNER = 128; + public const int TYPE_INVALID = 0; + public const int TYPE_INTEGER = 1; + public const int TYPE_double = 2; + public const int TYPE_STRING = 3; + public const int TYPE_KEY = 4; + public const int TYPE_VECTOR = 5; + public const int TYPE_ROTATION = 6; + public const int REMOTE_DATA_CHANNEL = 1; + public const int REMOTE_DATA_REQUEST = 2; + public const int REMOTE_DATA_REPLY = 3; + //public const int PRIM_TYPE = 1; + public const int PRIM_MATERIAL = 2; + public const int PRIM_PHYSICS = 3; + public const int PRIM_TEMP_ON_REZ = 4; + public const int PRIM_PHANTOM = 5; + public const int PRIM_POSITION = 6; + public const int PRIM_SIZE = 7; + public const int PRIM_ROTATION = 8; + public const int PRIM_TYPE = 9; + public const int PRIM_TEXTURE = 17; + public const int PRIM_COLOR = 18; + public const int PRIM_BUMP_SHINY = 19; + public const int PRIM_FULLBRIGHT = 20; + public const int PRIM_FLEXIBLE = 21; + public const int PRIM_TEXGEN = 22; + public const int PRIM_TEXGEN_DEFAULT = 0; + public const int PRIM_TEXGEN_PLANAR = 1; + public const int PRIM_TYPE_BOX = 0; + public const int PRIM_TYPE_CYLINDER = 1; + public const int PRIM_TYPE_PRISM = 2; + public const int PRIM_TYPE_SPHERE = 3; + public const int PRIM_TYPE_TORUS = 4; + public const int PRIM_TYPE_TUBE = 5; + public const int PRIM_TYPE_RING = 6; + public const int PRIM_HOLE_DEFAULT = 0; + public const int PRIM_HOLE_CIRCLE = 16; + public const int PRIM_HOLE_SQUARE = 32; + public const int PRIM_HOLE_TRIANGLE = 48; + public const int PRIM_MATERIAL_STONE = 0; + public const int PRIM_MATERIAL_METAL = 1; + public const int PRIM_MATERIAL_GLASS = 2; + public const int PRIM_MATERIAL_WOOD = 3; + public const int PRIM_MATERIAL_FLESH = 4; + public const int PRIM_MATERIAL_PLASTIC = 5; + public const int PRIM_MATERIAL_RUBBER = 6; + public const int PRIM_MATERIAL_LIGHT = 7; + public const int PRIM_SHINY_NONE = 0; + public const int PRIM_SHINY_LOW = 1; + public const int PRIM_SHINY_MEDIUM = 2; + public const int PRIM_SHINY_HIGH = 3; + public const int PRIM_BUMP_NONE = 0; + public const int PRIM_BUMP_BRIGHT = 1; + public const int PRIM_BUMP_DARK = 2; + public const int PRIM_BUMP_WOOD = 3; + public const int PRIM_BUMP_BARK = 4; + public const int PRIM_BUMP_BRICKS = 5; + public const int PRIM_BUMP_CHECKER = 6; + public const int PRIM_BUMP_CONCRETE = 7; + public const int PRIM_BUMP_TILE = 8; + public const int PRIM_BUMP_STONE = 9; + public const int PRIM_BUMP_DISKS = 10; + public const int PRIM_BUMP_GRAVEL = 11; + public const int PRIM_BUMP_BLOBS = 12; + public const int PRIM_BUMP_SIDING = 13; + public const int PRIM_BUMP_LARGETILE = 14; + public const int PRIM_BUMP_STUCCO = 15; + public const int PRIM_BUMP_SUCTION = 16; + public const int PRIM_BUMP_WEAVE = 17; + public const int MASK_BASE = 0; + public const int MASK_OWNER = 1; + public const int MASK_GROUP = 2; + public const int MASK_EVERYONE = 3; + public const int MASK_NEXT = 4; + public const int PERM_TRANSFER = 8192; + public const int PERM_MODIFY = 16384; + public const int PERM_COPY = 32768; + public const int PERM_MOVE = 524288; + public const int PERM_ALL = 2147483647; + public const int PARCEL_MEDIA_COMMAND_STOP = 0; + public const int PARCEL_MEDIA_COMMAND_PAUSE = 1; + public const int PARCEL_MEDIA_COMMAND_PLAY = 2; + public const int PARCEL_MEDIA_COMMAND_LOOP = 3; + public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4; + public const int PARCEL_MEDIA_COMMAND_URL = 5; + public const int PARCEL_MEDIA_COMMAND_TIME = 6; + public const int PARCEL_MEDIA_COMMAND_AGENT = 7; + public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8; + public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9; + public const int PAY_HIDE = -1; + public const int PAY_DEFAULT = -2; + public const string NULL_KEY = "00000000-0000-0000-0000-000000000000"; + public const string EOF = "\n\n\n"; + public const double PI = 3.14159274f; + public const double TWO_PI = 6.28318548f; + public const double PI_BY_TWO = 1.57079637f; + public const double DEG_TO_RAD = 0.01745329238f; + public const double RAD_TO_DEG = 57.29578f; + public const double SQRT2 = 1.414213538f; + + // Can not be public const? + public Axiom.Math.Vector3 ZERO_VECTOR = new Axiom.Math.Vector3(0, 0, 0); + public Axiom.Math.Quaternion ZERO_ROTATION = new Axiom.Math.Quaternion(0, 0, 0, 0); + + + // Operator overloads + public class Axi + { + } + public static Axi operator *(Axi c1, double c2) + { + + } + } } 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 index d2b8d0acec..a19dee4eef 100644 --- 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 @@ -34,21 +34,21 @@ 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); - Int32 llAbs(Int32 i); - float llFabs(float f); - float llFrand(float mag); - Int32 llFloor(float f); - Int32 llCeil(float f); - Int32 llRound(float f); - float llVecMag(Axiom.Math.Vector3 v); + double llSin(double f); + double llCos(double f); + double llTan(double f); + double llAtan2(double x, double y); + double llSqrt(double f); + double llPow(double fbase, double fexponent); + int llAbs(int i); + double llFabs(double f); + double llFrand(double mag); + int llFloor(double f); + int llCeil(double f); + int llRound(double f); + double llVecMag(Axiom.Math.Vector3 v); Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v); - float llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b); + double 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); @@ -57,42 +57,42 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler Axiom.Math.Vector3 llRot2Up(Axiom.Math.Quaternion r); Axiom.Math.Quaternion llRotBetween(Axiom.Math.Vector3 start, Axiom.Math.Vector3 end); void llWhisper(int channelID, string text); - //void llSay(UInt32 channelID, string text); + //void llSay(int channelID, string text); void llSay(int channelID, string 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 llShout(int channelID, string text); + int llListen(int channelID, string name, string ID, string msg); + void llListenControl(int number, int active); + void llListenRemove(int number); + void llSensor(string name, string id, int type, double range, double arc); + void llSensorRepeat(string name, string id, int type, double range, double arc, double 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); + string llDetectedName(int number); + string llDetectedKey(int number); + string llDetectedOwner(int number); + int llDetectedType(int number); + Axiom.Math.Vector3 llDetectedPos(int number); + Axiom.Math.Vector3 llDetectedVel(int number); + Axiom.Math.Vector3 llDetectedGrab(int number); + Axiom.Math.Quaternion llDetectedRot(int number); + int llDetectedGroup(int number); + int llDetectedLinkNumber(int number); void llDie(); - float llGround(Axiom.Math.Vector3 offset); - float llCloud(Axiom.Math.Vector3 offset); + double llGround(Axiom.Math.Vector3 offset); + double llCloud(Axiom.Math.Vector3 offset); Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset); - void llSetStatus(UInt32 status, UInt32 value); - UInt32 llGetStatus(UInt32 status); + void llSetStatus(int status, int value); + int llGetStatus(int 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 llSetColor(Axiom.Math.Vector3 color, int face); + double llGetAlpha(int face); + void llSetAlpha(double alpha, int face); + Axiom.Math.Vector3 llGetColor(int face); + void llSetTexture(string texture, int face); + void llScaleTexture(double u, double v, int face); + void llOffsetTexture(double u, double v, int face); + void llRotateTexture(double rotation, int face); + string llGetTexture(int face); void llSetPos(Axiom.Math.Vector3 pos); //wiki: vector llGetPos() @@ -106,77 +106,77 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: rotation llGetLocalRot() Axiom.Math.Quaternion llGetLocalRot(); //wiki: llSetForce(vector force, integer local) - void llSetForce(Axiom.Math.Vector3 force, Int32 local); + void llSetForce(Axiom.Math.Vector3 force, int local); //wiki: vector llGetForce() Axiom.Math.Vector3 llGetForce(); - //wiki: integer llTarget(vector position, float range) - Int32 llTarget(Axiom.Math.Vector3 position, float range); + //wiki: integer llTarget(vector position, double range) + int llTarget(Axiom.Math.Vector3 position, double range); //wiki: llTargetRemove(integer number) - void llTargetRemove(Int32 number); - //wiki: integer llRotTarget(rotation rot, float error) - Int32 llRotTarget(Axiom.Math.Quaternion rot, float error); + void llTargetRemove(int number); + //wiki: integer llRotTarget(rotation rot, double error) + int llRotTarget(Axiom.Math.Quaternion rot, double error); //wiki: integer llRotTargetRemove(integer number) - void llRotTargetRemove(Int32 number); - //wiki: llMoveToTarget(vector target, float tau) - void llMoveToTarget(Axiom.Math.Vector3 target, float tau); + void llRotTargetRemove(int number); + //wiki: llMoveToTarget(vector target, double tau) + void llMoveToTarget(Axiom.Math.Vector3 target, double tau); //wiki: llStopMoveToTarget() void llStopMoveToTarget(); //wiki: llApplyImpulse(vector force, integer local) - void llApplyImpulse(Axiom.Math.Vector3 force, Int32 local); + void llApplyImpulse(Axiom.Math.Vector3 force, int local); //wiki: llapplyRotationalImpulse(vector force, integer local) - void llApplyRotationalImpulse(Axiom.Math.Vector3 force, Int32 local); + void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local); //wiki: llSetTorque(vector torque, integer local) - void llSetTorque(Axiom.Math.Vector3 torque, Int32 local); + void llSetTorque(Axiom.Math.Vector3 torque, int local); //wiki: vector llGetTorque() Axiom.Math.Vector3 llGetTorque(); //wiki: llSeForceAndTorque(vector force, vector torque, integer local) - void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, Int32 local); + void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, int local); //wiki: vector llGetVel() Axiom.Math.Vector3 llGetVel(); //wiki: vector llGetAccel() Axiom.Math.Vector3 llGetAccel(); //wiki: vector llGetOmega() Axiom.Math.Vector3 llGetOmega(); - //wiki: float llGetTimeOfDay() - float llGetTimeOfDay(); - //wiki: float llGetWallclock() - float llGetWallclock(); - //wiki: float llGetTime() - float llGetTime(); + //wiki: double llGetTimeOfDay() + double llGetTimeOfDay(); + //wiki: double llGetWallclock() + double llGetWallclock(); + //wiki: double llGetTime() + double llGetTime(); //wiki: llResetTime() void llResetTime(); - //wiki: float llGetAndResetTime() - float llGetAndResetTime(); - //wiki (deprecated) llSound(string sound, float volume, integer queue, integer loop) + //wiki: double llGetAndResetTime() + double llGetAndResetTime(); + //wiki (deprecated) llSound(string sound, double volume, integer queue, integer loop) void llSound(); - //wiki: llPlaySound(string sound, float volume) - void llPlaySound(string sound, float volume); - //wiki: llLoopSound(string sound, float volume) - void llLoopSound(string sound, float volume); - //wiki: llLoopSoundMaster(string sound, float volume) - void llLoopSoundMaster(string sound, float volume); - //wiki: llLoopSoundSlave(string sound, float volume) - void llLoopSoundSlave(string sound, float volume); - //wiki llPlaySoundSlave(string sound, float volume) - void llPlaySoundSlave(string sound, float volume); - //wiki: llTriggerSound(string sound, float volume) - void llTriggerSound(string sound, float volume); + //wiki: llPlaySound(string sound, double volume) + void llPlaySound(string sound, double volume); + //wiki: llLoopSound(string sound, double volume) + void llLoopSound(string sound, double volume); + //wiki: llLoopSoundMaster(string sound, double volume) + void llLoopSoundMaster(string sound, double volume); + //wiki: llLoopSoundSlave(string sound, double volume) + void llLoopSoundSlave(string sound, double volume); + //wiki llPlaySoundSlave(string sound, double volume) + void llPlaySoundSlave(string sound, double volume); + //wiki: llTriggerSound(string sound, double volume) + void llTriggerSound(string sound, double volume); //wiki: llStopSound() void llStopSound(); //wiki: llPreloadSound(string sound) void llPreloadSound(string sound); //wiki: string llGetSubString(string src, integer start, integer end) - void llGetSubString(string src, Int32 start, Int32 end); + void llGetSubString(string src, int start, int end); //wiki: string llDeleteSubString(string src, integer start, integer end) - string llDeleteSubString(string src, Int32 start, Int32 end); + string llDeleteSubString(string src, int start, int end); //wiki string llInsertString(string dst, integer position, string src) - void llInsertString(string dst, Int32 position, string src); + void llInsertString(string dst, int position, string src); //wiki: string llToUpper(string source) string llToUpper(string source); //wiki: string llToLower(string source) string llToLower(string source); //wiki: integer llGiveMoney(key destination, integer amount) - Int32 llGiveMoney(string destination, Int32 amount); + int llGiveMoney(string destination, int amount); //wiki: (deprecated) void llMakeExplosion(); //wiki: (deprecated) @@ -186,25 +186,25 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: (deprecated) void llMakeFire(); //wiki: llRezObject(string inventory, vector pos, vector rel, rotation rot, integer param) - void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, Int32 param); - //wiki: llLookAt(vector target, float strength, float damping) - void llLookAt(Axiom.Math.Vector3 target, float strength, float damping); + void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, int param); + //wiki: llLookAt(vector target, double strength, double damping) + void llLookAt(Axiom.Math.Vector3 target, double strength, double damping); //wiki: llStopLookAt() void llStopLookAt(); - //wiki: llSetTimerEvent(float sec) - void llSetTimerEvent(float sec); - //wiki: llSleep(float sec) - void llSleep(float sec); - //wiki: float llGetMass() - float llGetMass(); + //wiki: llSetTimerEvent(double sec) + void llSetTimerEvent(double sec); + //wiki: llSleep(double sec) + void llSleep(double sec); + //wiki: double llGetMass() + double llGetMass(); //wiki: llCollisionFilter(string name, key id, integer accept) - void llCollisionFilter(string name, string id, Int32 accept); + void llCollisionFilter(string name, string id, int accept); //wiki: llTakeControls(integer controls, integer accept, integer pass_on) - void llTakeControls(Int32 controls, Int32 accept, Int32 pass_on); + void llTakeControls(int controls, int accept, int pass_on); //wiki: llReleaseControls() void llReleaseControls(); //wiki: llAttachToAvatar(integer attachment) - void llAttachToAvatar(Int32 attachment); + void llAttachToAvatar(int attachment); //wiki: llDetachFromAvatar() void llDetachFromAvatar(); //wiki: (deprecated) llTakeCamera() @@ -221,20 +221,20 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler void llGetNextEmail(string address, string subject); //wiki: key llGetKey() string llGetKey(); - //wiki: llSetBuoyancy(float buoyancy) - void llSetBuoyancy(float buoyancy); - //wiki: llSetHoverHeight(float height, integer water, float tau) - void llSetHoverHeight(float height, Int32 water, float tau); + //wiki: llSetBuoyancy(double buoyancy) + void llSetBuoyancy(double buoyancy); + //wiki: llSetHoverHeight(double height, integer water, double tau) + void llSetHoverHeight(double height, int water, double tau); //wiki: llStopHover void llStopHover(); - //wiki: llMinEventDelay(float delay) - void llMinEventDelay(float delay); + //wiki: llMinEventDelay(double delay) + void llMinEventDelay(double delay); //wiki: (deprecated) llSoundPreload() void llSoundPreload(); - //wiki: llRotLookAt(rotation target, float strength, float damping) - void llRotLookAt(Axiom.Math.Quaternion target, float strength, float damping); + //wiki: llRotLookAt(rotation target, double strength, double damping) + void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping); //wiki: integer llStringLength(string str) - Int32 llStringLength(string str); + int llStringLength(string str); //wiki: llStartAnimation(string anim) void llStartAnimation(string anim); //wiki: llStopAnimation(string anim) @@ -243,62 +243,62 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler void llPointAt(); //wiki: (deprecated) llStopPointAt void llStopPointAt(); - //wiki: llTargetOmega(vector axis, float spinrate, float gain) - void llTargetOmega(Axiom.Math.Vector3 axis, float spinrate, float gain); + //wiki: llTargetOmega(vector axis, double spinrate, double gain) + void llTargetOmega(Axiom.Math.Vector3 axis, double spinrate, double gain); //wiki: integer llGetStartParameter() - Int32 llGetStartParameter(); + int llGetStartParameter(); //wiki: llGodLikeRezObject(key inventory, vector pos) void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos); //wiki: llRequestPermissions(key agent, integer perm) - void llRequestPermissions(string agent, Int32 perm); + void llRequestPermissions(string agent, int perm); //wiki: key llGetPermissionsKey() string llGetPermissionsKey(); //wiki: integer llGetPermissions() - Int32 llGetPermissions(); + int llGetPermissions(); //wiki integer llGetLinkNumber() - Int32 llGetLinkNumber(); + int llGetLinkNumber(); //wiki: llSetLinkColor(integer linknumber, vector color, integer face) - void llSetLinkColor(Int32 linknumber, Axiom.Math.Vector3 color, Int32 face); + void llSetLinkColor(int linknumber, Axiom.Math.Vector3 color, int face); //wiki: llCreateLink(key target, integer parent) - void llCreateLink(string target, Int32 parent); + void llCreateLink(string target, int parent); //wiki: llBreakLink(integer linknum) - void llBreakLink(Int32 linknum); + void llBreakLink(int linknum); //wiki: llBreakAllLinks() void llBreakAllLinks(); //wiki: key llGetLinkKey(integer linknum) - string llGetLinkKey(Int32 linknum); + string llGetLinkKey(int linknum); //wiki: llGetLinkName(integer linknum) - void llGetLinkName(Int32 linknum); + void llGetLinkName(int linknum); //wiki: integer llGetInventoryNumber(integer type) - Int32 llGetInventoryNumber(Int32 type); + int llGetInventoryNumber(int type); //wiki: string llGetInventoryName(integer type, integer number) - string llGetInventoryName(Int32 type, Int32 number); + string llGetInventoryName(int type, int number); //wiki: llSetScriptState(string name, integer run) - void llSetScriptState(string name, Int32 run); - //wiki: float llGetEnergy() - float llGetEnergy(); + void llSetScriptState(string name, int run); + //wiki: double llGetEnergy() + double llGetEnergy(); //wiki: llGiveInventory(key destination, string inventory) void llGiveInventory(string destination, string inventory); //wiki: llRemoveInventory(string item) void llRemoveInventory(string item); - //wiki: llSetText(string text, vector color, float alpha) - void llSetText(string text, Axiom.Math.Vector3 color, float alpha); - //wiki: float llWater(vector offset) - float llWater(Axiom.Math.Vector3 offset); + //wiki: llSetText(string text, vector color, double alpha) + void llSetText(string text, Axiom.Math.Vector3 color, double alpha); + //wiki: double llWater(vector offset) + double llWater(Axiom.Math.Vector3 offset); //wiki: llPassTouches(integer pass) - void llPassTouches(Int32 pass); + void llPassTouches(int pass); //wiki: key llRequestAgentData(key id, integer data) - string llRequestAgentData(string id, Int32 data); + string llRequestAgentData(string id, int data); //wiki: key llRequestInventoryData(string name) string llRequestInventoryData(string name); - //wiki: llSetDamage(float damage) - void llSetDamage(float damage); + //wiki: llSetDamage(double damage) + void llSetDamage(double damage); //wiki: llTeleportAgentHome(key agent) void llTeleportAgentHome(string agent); //wiki: llModifyLand(integer action, integer brush) - void llModifyLand(Int32 action, Int32 brush); - //wiki: llCollisionSound(string impact_sound, float impact_volume) - void llCollisionSound(string impact_sound, float impact_volume); + void llModifyLand(int action, int brush); + //wiki: llCollisionSound(string impact_sound, double impact_volume) + void llCollisionSound(string impact_sound, double impact_volume); //wiki: llCollisionSprite(string impact_sprite) void llCollisionSprite(string impact_sprite); //wiki: string llGetAnimation(key id) @@ -306,80 +306,80 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: llResetScript() void llResetScript(); //wiki: llMessageLinked(integer linknum, integer num, string str, key id) - void llMessageLinked(Int32 linknum, Int32 num, string str, string id); + void llMessageLinked(int linknum, int num, string str, string id); //wiki: llPushObject(key target, vector impulse, vector ang_impulse, integer local) - void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, Int32 local); + void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, int local); //wiki: llPassCollisions(integer pass) - void llPassCollisions(Int32 pass); + void llPassCollisions(int pass); //wiki: string llGetScriptName() string llGetScriptName(); //wiki: integer llGetNumberOfSides() - Int32 llGetNumberOfSides(); - //wiki: rotation llAxisAngle2Rot(vector axis, float angle) - Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, float angle); + int llGetNumberOfSides(); + //wiki: rotation llAxisAngle2Rot(vector axis, double angle) + Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle); //wiki: vector llRot2Axis(rotation rot) Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot); void llRot2Angle(); - //wiki: float llAcos(float val) - float llAcos(float val); - //wiki: float llAsin(float val) - float llAsin(float val); - //wiki: float llAngleBetween(rotation a, rotation b) - float llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b); + //wiki: double llAcos(double val) + double llAcos(double val); + //wiki: double llAsin(double val) + double llAsin(double val); + //wiki: double llAngleBetween(rotation a, rotation b) + double llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b); //wiki: string llGetInventoryKey(string name) string llGetInventoryKey(string name); //wiki: llAllowInventoryDrop(integer add) - void llAllowInventoryDrop(Int32 add); + void llAllowInventoryDrop(int add); //wiki: vector llGetSunDirection() Axiom.Math.Vector3 llGetSunDirection(); //wiki: vector llGetTextureOffset(integer face) - Axiom.Math.Vector3 llGetTextureOffset(Int32 face); + Axiom.Math.Vector3 llGetTextureOffset(int face); //wiki: vector llGetTextureScale(integer side) - Axiom.Math.Vector3 llGetTextureScale(Int32 side); - //wiki: float llGetTextureRot(integer side) - float llGetTextureRot(Int32 side); + Axiom.Math.Vector3 llGetTextureScale(int side); + //wiki: double llGetTextureRot(integer side) + double llGetTextureRot(int side); //wiki: integer llSubStringIndex(string source, string pattern) - Int32 llSubStringIndex(string source, string pattern); + int llSubStringIndex(string source, string pattern); //wiki: key llGetOwnerKey(key id) string llGetOwnerKey(string id); //wiki: vector llGetCenterOfMass() Axiom.Math.Vector3 llGetCenterOfMass(); //wiki: list llListSort(list src, integer stride, integer ascending) - List llListSort(List src, Int32 stride, Int32 ascending); + List llListSort(List src, int stride, int ascending); //integer llGetListLength(list src) - Int32 llGetListLength(List src); + int llGetListLength(List src); //wiki: integer llList2Integer(list src, integer index) - Int32 llList2Integer(List src, Int32 index); - //wiki: float llList2Float(list src, integer index) - float llList2Float(List src, Int32 index); + int llList2Integer(List src, int index); + //wiki: double llList2double(list src, integer index) + double llList2double(List src, int index); //wiki: string llList2String(list src, integer index) - string llList2String(List src, Int32 index); + string llList2String(List src, int index); //wiki: key llList2Key(list src, integer index) - string llList2Key(List src, Int32 index); + string llList2Key(List src, int index); //wiki: vector llList2Vector(list src, integer index) - Axiom.Math.Vector3 llList2Vector(List src, Int32 index); + Axiom.Math.Vector3 llList2Vector(List src, int index); //wiki rotation llList2Rot(list src, integer index) - Axiom.Math.Quaternion llList2Rot(List src, Int32 index); + Axiom.Math.Quaternion llList2Rot(List src, int index); //wiki: list llList2List(list src, integer start, integer end) - List llList2List(List src, Int32 start, Int32 end); + List llList2List(List src, int start, int end); //wiki: llDeleteSubList(list src, integer start, integer end) - List llDeleteSubList(List src, Int32 start, Int32 end); + List llDeleteSubList(List src, int start, int end); //wiki: integer llGetListEntryType( list src, integer index ) - Int32 llGetListEntryType(List src, Int32 index); + int llGetListEntryType(List src, int index); //wiki: string llList2CSV( list src ) string llList2CSV(List src); //wiki: list llCSV2List( string src ) List llCSV2List(string src); //wiki: list llListRandomize( list src, integer stride ) - List llListRandomize(List src, Int32 stride); + List llListRandomize(List src, int stride); //wiki: list llList2ListStrided( list src, integer start, integer end, integer stride ) - List llList2ListStrided(List src, Int32 start, Int32 end, Int32 stride); + List llList2ListStrided(List src, int start, int end, int stride); //wiki: vector llGetRegionCorner( ) Axiom.Math.Vector3 llGetRegionCorner(); //wiki: list llListInsertList( list dest, list src, integer start ) - List llListInsertList(List dest, List src, Int32 start); + List llListInsertList(List dest, List src, int start); //wiki: integer llListFindList( list src, list test ) - Int32 llListFindList(List src, List test); + int llListFindList(List src, List test); //wiki: string llGetObjectName() string llGetObjectName(); //wiki: llSetObjectName(string name) @@ -387,34 +387,34 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: string llGetDate() string llGetDate(); //wiki: integer llEdgeOfWorld(vector pos, vector dir) - Int32 llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir); + int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir); //wiki: integer llGetAgentInfo(key id) - Int32 llGetAgentInfo(string id); - //wiki: llAdjustSoundVolume(float volume) - void llAdjustSoundVolume(float volume); + int llGetAgentInfo(string id); + //wiki: llAdjustSoundVolume(double volume) + void llAdjustSoundVolume(double volume); //wiki: llSetSoundQueueing(integer queue) - void llSetSoundQueueing(Int32 queue); - //wiki: llSetSoundRadius(float radius) - void llSetSoundRadius(float radius); + void llSetSoundQueueing(int queue); + //wiki: llSetSoundRadius(double radius) + void llSetSoundRadius(double radius); //wiki: string llKey2Name(key id) string llKey2Name(string id); - //wiki: llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, float start, float length, float rate) - void llSetTextureAnim(Int32 mode, Int32 face, Int32 sizex, Int32 sizey, float start, float length, float rate); - //wiki: llTriggerSoundLimited(string sound, float volume, vector top_north_east, vector bottom_south_west) - void llTriggerSoundLimited(string sound, float volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west); + //wiki: llSetTextureAnim(integer mode, integer face, integer sizex, integer sizey, double start, double length, double rate) + void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate); + //wiki: llTriggerSoundLimited(string sound, double volume, vector top_north_east, vector bottom_south_west) + void llTriggerSoundLimited(string sound, double volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west); //wiki: llEjectFromLand(key pest) void llEjectFromLand(string pest); void llParseString2List(); //wiki: integer llOverMyLand(key id) - Int32 llOverMyLand(string id); + int llOverMyLand(string id); //wiki: key llGetLandOwnerAt(vector pos) string llGetLandOwnerAt(Axiom.Math.Vector3 pos); //wiki: key llGetNotecardLine(string name, integer line) - string llGetNotecardLine(string name, Int32 line); + string llGetNotecardLine(string name, int line); //wiki: vector llGetAgentSize(key id) Axiom.Math.Vector3 llGetAgentSize(string id); //wiki: integer llSameGroup(key agent) - Int32 llSameGroup(string agent); + int llSameGroup(string agent); //wiki: llUnSit(key id) void llUnSit(string id); //wiki: vector llGroundSlope(vector offset) @@ -424,38 +424,38 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: vector llGroundContour(vector offset) Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset); //wiki: integer llGetAttached() - Int32 llGetAttached(); + int llGetAttached(); //wiki: integer llGetFreeMemory() - Int32 llGetFreeMemory(); + int llGetFreeMemory(); //wiki: string llGetRegionName() string llGetRegionName(); - //wiki: float llGetRegionTimeDilation() - float llGetRegionTimeDilation(); - //wiki: float llGetRegionFPS() - float llGetRegionFPS(); + //wiki: double llGetRegionTimeDilation() + double llGetRegionTimeDilation(); + //wiki: double llGetRegionFPS() + double llGetRegionFPS(); //wiki: llParticleSystem(List rules void llParticleSystem(List rules); - //wiki: llGroundRepel(float height, integer water, float tau) - void llGroundRepel(float height, Int32 water, float tau); + //wiki: llGroundRepel(double height, integer water, double tau) + void llGroundRepel(double height, int water, double tau); void llGiveInventoryList(); //wiki: llSetVehicleType(integer type) - void llSetVehicleType(Int32 type); - //wiki: llSetVehicleFloatParam(integer param, float value) - void llSetVehicleFloatParam(Int32 param, float value); + void llSetVehicleType(int type); + //wiki: llSetVehicledoubleParam(integer param, double value) + void llSetVehicledoubleParam(int param, double value); //wiki: llSetVehicleVectorParam(integer param, vector vec) - void llSetVehicleVectorParam(Int32 param, Axiom.Math.Vector3 vec); + void llSetVehicleVectorParam(int param, Axiom.Math.Vector3 vec); //wiki: llSetVehicleRotationParam(integer param, rotation rot) - void llSetVehicleRotationParam(Int32 param, Axiom.Math.Quaternion rot); + void llSetVehicleRotationParam(int param, Axiom.Math.Quaternion rot); //wiki: llSetVehicleFlags(integer flags) - void llSetVehicleFlags(Int32 flags); + void llSetVehicleFlags(int flags); //wiki: llRemoveVehicleFlags(integer flags) - void llRemoveVehicleFlags(Int32 flags); + void llRemoveVehicleFlags(int flags); //wiki: llSitTarget(vector offset, rotation rot) void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot); //wiki key llAvatarOnSitTarget() string llAvatarOnSitTarget(); - //wiki: llAddToLandPassList(key avatar, float hours) - void llAddToLandPassList(string avatar, float hours); + //wiki: llAddToLandPassList(key avatar, double hours) + void llAddToLandPassList(string avatar, double hours); //wiki: llSetTouchText(string text) void llSetTouchText(string text); //wiki: llSetSitText(string text) @@ -468,29 +468,29 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: integer llScriptDanger(vector pos) void llScriptDanger(Axiom.Math.Vector3 pos); //wiki: llDialog( key avatar, string message, list buttons, integer chat_channel ) - void llDialog(string avatar, string message, List buttons, Int32 chat_channel); + void llDialog(string avatar, string message, List buttons, int chat_channel); //wiki: llVolumeDetect(integer detect) - void llVolumeDetect(Int32 detect); + void llVolumeDetect(int detect); //wiki: llResetOtherScript(string name) void llResetOtherScript(string name); //wiki: integer llGetScriptState(string name) - Int32 llGetScriptState(string name); + int llGetScriptState(string name); //wiki: (deprecated) void llRemoteLoadScript(); //wiki: llSetRemoteScriptAccessPin(integer pin) - void llSetRemoteScriptAccessPin(Int32 pin); + void llSetRemoteScriptAccessPin(int pin); //wiki: llRemoteLoadScriptPin(key target, string name, integer pin, integer running, integer start_param) - void llRemoteLoadScriptPin(string target, string name, Int32 pin, Int32 running, Int32 start_param); + void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param); //wiki: llOpenRemoteDataChannel() void llOpenRemoteDataChannel(); //wiki: key llSendRemoteData(key channel, string dest, integer idata, string sdata) - string llSendRemoteData(string channel, string dest, Int32 idata, string sdata); + string llSendRemoteData(string channel, string dest, int idata, string sdata); //wiki: llRemoteDataReply(key channel, key message_id, string sdata, integer idata) - void llRemoteDataReply(string channel, string message_id, string sdata, Int32 idata); + void llRemoteDataReply(string channel, string message_id, string sdata, int idata); //wiki: llCloseRemoteDataChannel(key channel) void llCloseRemoteDataChannel(string channel); //wiki: string llMD5String(string src, integer nonce) - string llMD5String(string src, Int32 nonce); + string llMD5String(string src, int nonce); //wiki: llSetPrimitiveParams( list rules ) void llSetPrimitiveParams(List rules); //wiki: string llStringToBase64(string str) @@ -501,10 +501,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler void llXorBase64Strings(); //wiki: llRemoteDataSetRegion() void llRemoteDataSetRegion(); - //wiki: float llLog10(float val) - float llLog10(float val); - //wiki: float llLog(float val) - float llLog(float val); + //wiki: double llLog10(double val) + double llLog10(double val); + //wiki: double llLog(double val) + double llLog(double val); //wiki: list llGetAnimationList( key id ) List llGetAnimationList(string id); //wiki: llSetParcelMusicURL(string url) @@ -521,10 +521,10 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler string llGetCreator(); //wiki: string llGetTimestamp() string llGetTimestamp(); - //wiki: llSetLinkAlpha(integer linknumber, float alpha, integer face) - void llSetLinkAlpha(Int32 linknumber, float alpha, Int32 face); + //wiki: llSetLinkAlpha(integer linknumber, double alpha, integer face) + void llSetLinkAlpha(int linknumber, double alpha, int face); //wiki: integer llGetNumberOfPrims() - Int32 llGetNumberOfPrims(); + int llGetNumberOfPrims(); //wiki: key llGetNumberOfNotecardLines(string name) string llGetNumberOfNotecardLines(string name); //wiki: list llGetBoundingBox( key object ) @@ -533,11 +533,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler Axiom.Math.Vector3 llGetGeometricCenter(); void llGetPrimitiveParams(); //wiki: string llIntegerToBase64(integer number) - string llIntegerToBase64(Int32 number); + string llIntegerToBase64(int number); //wiki integer llBase64ToInteger(string str) - Int32 llBase64ToInteger(string str); - //wiki: float llGetGMTclock() - float llGetGMTclock(); + int llBase64ToInteger(string str); + //wiki: double llGetGMTclock() + double llGetGMTclock(); //wiki: string llGetSimulatorHostname() string llGetSimulatorHostname(); //llSetLocalRot(rotation rot) @@ -545,25 +545,25 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: list llParseStringKeepNulls( string src, list separators, list spacers ) List llParseStringKeepNulls(string src, List seperators, List spacers); //wiki: llRezAtRoot(string inventory, vector position, vector velocity, rotation rot, integer param) - void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, Int32 param); + void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, int param); //wiki: integer llGetObjectPermMask(integer mask) - Int32 llGetObjectPermMask(Int32 mask); + int llGetObjectPermMask(int mask); //wiki: llSetObjectPermMask(integer mask, integer value) - void llSetObjectPermMask(Int32 mask, Int32 value); + void llSetObjectPermMask(int mask, int value); //wiki integer llGetInventoryPermMask(string item, integer mask) - void llGetInventoryPermMask(string item, Int32 mask); + void llGetInventoryPermMask(string item, int mask); //wiki: llSetInventoryPermMask(string item, integer mask, integer value) - void llSetInventoryPermMask(string item, Int32 mask, Int32 value); + void llSetInventoryPermMask(string item, int mask, int value); //wiki: key llGetInventoryCreator(string item) string llGetInventoryCreator(string item); //wiki: llOwnerSay(string msg) void llOwnerSay(string msg); //wiki: key llRequestSimulatorData(string simulator, integer data) - void llRequestSimulatorData(string simulator, Int32 data); + void llRequestSimulatorData(string simulator, int data); //wiki: llForceMouselook(integer mouselook) - void llForceMouselook(Int32 mouselook); - //wiki: float llGetObjectMass(key id) - float llGetObjectMass(string id); + void llForceMouselook(int mouselook); + //wiki: double llGetObjectMass(key id) + double llGetObjectMass(string id); void llListReplaceList(); //wiki: llLoadURL(key avatar_id, string message, string url) void llLoadURL(string avatar_id, string message, string url); @@ -571,11 +571,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler void llParcelMediaCommandList(List commandList); void llParcelMediaQuery(); //wiki integer llModPow(integer a, integer b, integer c) - Int32 llModPow(Int32 a, Int32 b, Int32 c); + int llModPow(int a, int b, int c); //wiki: integer llGetInventoryType(string name) - Int32 llGetInventoryType(string name); + int llGetInventoryType(string name); //wiki: llSetPayPrice( integer price, list quick_pay_buttons ) - void llSetPayPrice(Int32 price, List quick_pay_buttons); + void llSetPayPrice(int price, List quick_pay_buttons); //wiki: vector llGetCameraPos() Axiom.Math.Vector3 llGetCameraPos(); //wiki rotation llGetCameraRot() @@ -590,8 +590,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler string llUnescapeURL(string url); //wiki: llMapDestination(string simname, vector pos, vector look_at) void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at); - //wiki: llAddToLandBanList(key avatar, float hours) - void llAddToLandBanList(string avatar, float hours); + //wiki: llAddToLandBanList(key avatar, double hours) + void llAddToLandBanList(string avatar, double hours); //wiki: llRemoveFromLandPassList(key avatar) void llRemoveFromLandPassList(string avatar); //wiki: llRemoveFromLandBanList(key avatar) @@ -600,14 +600,14 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler void llSetCameraParams(List rules); //wiki: llClearCameraParams() void llClearCameraParams(); - //wiki: float llListStatistics( integer operation, list src ) - float llListStatistics(Int32 operation, List src); + //wiki: double llListStatistics( integer operation, list src ) + double llListStatistics(int operation, List src); //wiki: integer llGetUnixTime() - Int32 llGetUnixTime(); + int llGetUnixTime(); //wiki: integer llGetParcelFlags(vector pos) - Int32 llGetParcelFlags(Axiom.Math.Vector3 pos); + int llGetParcelFlags(Axiom.Math.Vector3 pos); //wiki: integer llGetRegionFlags() - Int32 llGetRegionFlags(); + int llGetRegionFlags(); //wiki: string llXorBase64StringsCorrect(string str1, string str2) string llXorBase64StringsCorrect(string str1, string str2); void llHTTPRequest(); @@ -616,13 +616,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler //wiki: llResetLandPassList() void llResetLandPassList(); //wiki integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide) - Int32 llGetParcelPrimCount(Axiom.Math.Vector3 pos, Int32 category, Int32 sim_wide); + int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide); //wiki: list llGetParcelPrimOwners( vector pos ) List llGetParcelPrimOwners(Axiom.Math.Vector3 pos); //wiki: integer llGetObjectPrimCount(key object_id) - Int32 llGetObjectPrimCount(string object_id); + int llGetObjectPrimCount(string object_id); //wiki: integer llGetParcelMaxPrims( vector pos, integer sim_wide ) - Int32 llGetParcelMaxPrims(Axiom.Math.Vector3 pos, Int32 sim_wide); + int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide); //wiki list llGetParcelDetails(vector pos, list params) List llGetParcelDetails(Axiom.Math.Vector3 pos, List param); }