aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL
diff options
context:
space:
mode:
authorTedd Hansen2007-08-15 19:25:29 +0000
committerTedd Hansen2007-08-15 19:25:29 +0000
commit9c3251b1777cee909246f468aa672c2164a45076 (patch)
tree9e27669da596becd2647d350ea617b9fa70e27d6 /OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL
parent*Added the ability to run commands after all regions have started up (diff)
downloadopensim-SC-9c3251b1777cee909246f468aa672c2164a45076.zip
opensim-SC-9c3251b1777cee909246f468aa672c2164a45076.tar.gz
opensim-SC-9c3251b1777cee909246f468aa672c2164a45076.tar.bz2
opensim-SC-9c3251b1777cee909246f468aa672c2164a45076.tar.xz
Bugfixes in LSL compiler. Changed most datatypes to int (instead of UInt32) and double (instead of float).
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs7
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs9
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs722
3 files changed, 538 insertions, 200 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/Compiler.cs
index 6fe111f..4ed7bd4 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
40 40
41 Common.SendToDebug("Compiling"); 41 Common.SendToDebug("Compiling");
42 42
43 // DEBUG - write source to disk
44 try
45 {
46 File.WriteAllText(Path.Combine("ScriptEngines", "debug_" + Path.GetFileNameWithoutExtension(LSOFileName) + ".cs"), CS_Code);
47 }
48 catch { }
49
43 // Do actual compile 50 // Do actual compile
44 System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters(); 51 System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
45 parameters.IncludeDebugInformation = true; 52 parameters.IncludeDebugInformation = true;
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/LSL/LSL2CSConverter.cs
index 5c5ac92..13e3f2e 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
15 { 15 {
16 DataTypes.Add("void", "void"); 16 DataTypes.Add("void", "void");
17 DataTypes.Add("integer", "int"); 17 DataTypes.Add("integer", "int");
18 DataTypes.Add("float", "float"); 18 DataTypes.Add("float", "double");
19 DataTypes.Add("string", "string"); 19 DataTypes.Add("string", "string");
20 DataTypes.Add("key", "string"); 20 DataTypes.Add("key", "string");
21 DataTypes.Add("vector", "Axiom.Math.Vector3"); 21 DataTypes.Add("vector", "Axiom.Math.Vector3");
@@ -58,6 +58,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
58 C = Script.Substring(p, 1); 58 C = Script.Substring(p, 1);
59 while (true) 59 while (true)
60 { 60 {
61 // found " and last was not \ so this is not an escaped \"
61 if (C == "\"" && last_was_escape == false) 62 if (C == "\"" && last_was_escape == false)
62 { 63 {
63 // Toggle inside/outside quote 64 // Toggle inside/outside quote
@@ -68,12 +69,18 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
68 } 69 }
69 else 70 else
70 { 71 {
72 if (quote == "")
73 {
74 // We didn't replace quote, probably because of empty string?
75 _Script += quote_replacement_string + quote_replaced_count.ToString().PadLeft(5, "0".ToCharArray()[0]);
76 }
71 // We just left a quote 77 // We just left a quote
72 QUOTES.Add(quote_replacement_string + quote_replaced_count.ToString().PadLeft(5, "0".ToCharArray()[0]), quote); 78 QUOTES.Add(quote_replacement_string + quote_replaced_count.ToString().PadLeft(5, "0".ToCharArray()[0]), quote);
73 quote = ""; 79 quote = "";
74 } 80 }
75 break; 81 break;
76 } 82 }
83
77 if (!in_quote) 84 if (!in_quote)
78 { 85 {
79 // We are not inside a quote 86 // 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 4af438a..90c9055 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
20 return; 20 return;
21 } 21 }
22 22
23//These are the implementations of the various ll-functions used by the LSL scripts. 23 //These are the implementations of the various ll-functions used by the LSL scripts.
24 //starting out, we use the System.Math library for trig functions. - CFK 8-14-07 24 //starting out, we use the System.Math library for trig functions. - CFK 8-14-07
25 public float llSin(float f) { return (float)Math.Sin(f); } 25 public double llSin(double f) { return (double)Math.Sin(f); }
26 public float llCos(float f) { return (float)Math.Cos(f); } 26 public double llCos(double f) { return (double)Math.Cos(f); }
27 public float llTan(float f) { return (float)Math.Tan(f); } 27 public double llTan(double f) { return (double)Math.Tan(f); }
28 public float llAtan2(float x, float y) { return (float)Math.Atan2(y, x); } 28 public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); }
29 public float llSqrt(float f) { return (float)Math.Sqrt(f); } 29 public double llSqrt(double f) { return (double)Math.Sqrt(f); }
30 public float llPow(float fbase, float fexponent) { return (float)Math.Pow(fbase, fexponent); } 30 public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); }
31 public Int32 llAbs(Int32 i) { return (Int32)Math.Abs(i); } 31 public int llAbs(int i) { return (int)Math.Abs(i); }
32 public float llFabs(float f) { return (float)Math.Abs(f); } 32 public double llFabs(double f) { return (double)Math.Abs(f); }
33 public float llFrand(float mag) { return 0; } 33 public double llFrand(double mag) { return 0; }
34 public Int32 llFloor(float f) { return (Int32)Math.Floor(f); } 34 public int llFloor(double f) { return (int)Math.Floor(f); }
35 public Int32 llCeil(float f) { return (Int32)Math.Ceiling(f); } 35 public int llCeil(double f) { return (int)Math.Ceiling(f); }
36 public Int32 llRound(float f) { return (Int32)Math.Round(f, 1); } 36 public int llRound(double f) { return (int)Math.Round(f, 1); }
37 public float llVecMag(Axiom.Math.Vector3 v) { return 0; } 37 public double llVecMag(Axiom.Math.Vector3 v) { return 0; }
38 public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); } 38 public Axiom.Math.Vector3 llVecNorm(Axiom.Math.Vector3 v) { return new Axiom.Math.Vector3(); }
39 public float llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; } 39 public double llVecDist(Axiom.Math.Vector3 a, Axiom.Math.Vector3 b) { return 0; }
40 public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); } 40 public Axiom.Math.Vector3 llRot2Euler(Axiom.Math.Quaternion r) { return new Axiom.Math.Vector3(); }
41 public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); } 41 public Axiom.Math.Quaternion llEuler2Rot(Axiom.Math.Vector3 v) { return new Axiom.Math.Quaternion(); }
42 public Axiom.Math.Quaternion llAxes2Rot(Axiom.Math.Vector3 fwd, Axiom.Math.Vector3 left, Axiom.Math.Vector3 up) { return new Axiom.Math.Quaternion(); } 42 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
52 //World.SimChat(enc.GetBytes(text), 0, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); 52 //World.SimChat(enc.GetBytes(text), 0, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]);
53 53
54 } 54 }
55 //public void llSay(UInt32 channelID, string text) 55 //public void llSay(int channelID, string text)
56 public void llSay(int channelID, string text) 56 public void llSay(int channelID, string text)
57 { 57 {
58 //TODO: DO SOMETHING USEFUL HERE 58 //TODO: DO SOMETHING USEFUL HERE
59 //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (UInt32)channelID + ", \"" + (string)text + "\");"); 59 //Common.SendToDebug("INTERNAL FUNCTION llSay(" + (int)channelID + ", \"" + (string)text + "\");");
60 Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\""); 60 Console.WriteLine("llSay Channel " + channelID + ", Text: \"" + text + "\"");
61 //type for say is 1 61 //type for say is 1
62 //World.SimChat(enc.GetBytes(text), 1, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); 62 //World.SimChat(enc.GetBytes(text), 1, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]);
63 } 63 }
64 public void llShout(UInt16 channelID, string text) { 64 public void llShout(int channelID, string text)
65 {
65 Console.WriteLine("llShout Channel " + channelID + ", Text: \"" + text + "\""); 66 Console.WriteLine("llShout Channel " + channelID + ", Text: \"" + text + "\"");
66 //type for shout is 2 67 //type for shout is 2
67 //World.SimChat(enc.GetBytes(text), 2, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]); 68 //World.SimChat(enc.GetBytes(text), 2, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)], MY_OBJECT_NAME, World.Objects[World.ConvertLocalIDToFullID(MY_OBJECT_ID)]);
68 69
69 } 70 }
70 public UInt32 llListen(UInt16 channelID, string name, string ID, string msg) { return 0; } 71 public int llListen(int channelID, string name, string ID, string msg) { return 0; }
71 public void llListenControl(UInt32 number, UInt32 active) { return; } 72 public void llListenControl(int number, int active) { return; }
72 public void llListenRemove(UInt32 number) { return; } 73 public void llListenRemove(int number) { return; }
73 public void llSensor(string name, string id, UInt32 type, float range, float arc) { return; } 74 public void llSensor(string name, string id, int type, double range, double arc) { return; }
74 public void llSensorRepeat(string name, string id, UInt32 type, float range, float arc, float rate) { return; } 75 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) { return; }
75 public void llSensorRemove() { return; } 76 public void llSensorRemove() { return; }
76 public string llDetectedName(UInt32 number) { return ""; } 77 public string llDetectedName(int number) { return ""; }
77 public string llDetectedKey(UInt32 number) { return ""; } 78 public string llDetectedKey(int number) { return ""; }
78 public string llDetectedOwner(UInt32 number) { return ""; } 79 public string llDetectedOwner(int number) { return ""; }
79 public UInt32 llDetectedType(UInt32 number) { return 0; } 80 public int llDetectedType(int number) { return 0; }
80 public Axiom.Math.Vector3 llDetectedPos(UInt32 number) { return new Axiom.Math.Vector3(); } 81 public Axiom.Math.Vector3 llDetectedPos(int number) { return new Axiom.Math.Vector3(); }
81 public Axiom.Math.Vector3 llDetectedVel(UInt32 number) { return new Axiom.Math.Vector3(); } 82 public Axiom.Math.Vector3 llDetectedVel(int number) { return new Axiom.Math.Vector3(); }
82 public Axiom.Math.Vector3 llDetectedGrab(UInt32 number) { return new Axiom.Math.Vector3(); } 83 public Axiom.Math.Vector3 llDetectedGrab(int number) { return new Axiom.Math.Vector3(); }
83 public Axiom.Math.Quaternion llDetectedRot(UInt32 number) { return new Axiom.Math.Quaternion(); } 84 public Axiom.Math.Quaternion llDetectedRot(int number) { return new Axiom.Math.Quaternion(); }
84 public UInt32 llDetectedGroup(UInt32 number) { return 0; } 85 public int llDetectedGroup(int number) { return 0; }
85 public UInt32 llDetectedLinkNumber(UInt32 number) { return 0; } 86 public int llDetectedLinkNumber(int number) { return 0; }
86 public void llDie() { return; } 87 public void llDie() { return; }
87 public float llGround(Axiom.Math.Vector3 offset) { return 0; } 88 public double llGround(Axiom.Math.Vector3 offset) { return 0; }
88 public float llCloud(Axiom.Math.Vector3 offset) { return 0; } 89 public double llCloud(Axiom.Math.Vector3 offset) { return 0; }
89 public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } 90 public Axiom.Math.Vector3 llWind(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
90 public void llSetStatus(UInt32 status, UInt32 value) { return; } 91 public void llSetStatus(int status, int value) { return; }
91 public UInt32 llGetStatus(UInt32 status) { return 0; } 92 public int llGetStatus(int status) { return 0; }
92 public void llSetScale(Axiom.Math.Vector3 scale) { return; } 93 public void llSetScale(Axiom.Math.Vector3 scale) { return; }
93 public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); } 94 public Axiom.Math.Vector3 llGetScale() { return new Axiom.Math.Vector3(); }
94 public void llSetColor(Axiom.Math.Vector3 color, UInt32 face) { return; } 95 public void llSetColor(Axiom.Math.Vector3 color, int face) { return; }
95 public float llGetAlpha(UInt32 face) { return 0; } 96 public double llGetAlpha(int face) { return 0; }
96 public void llSetAlpha(float alpha, UInt32 face) { return; } 97 public void llSetAlpha(double alpha, int face) { return; }
97 public Axiom.Math.Vector3 llGetColor(UInt32 face) { return new Axiom.Math.Vector3(); } 98 public Axiom.Math.Vector3 llGetColor(int face) { return new Axiom.Math.Vector3(); }
98 public void llSetTexture(string texture, UInt32 face) { return; } 99 public void llSetTexture(string texture, int face) { return; }
99 public void llScaleTexture(float u, float v, UInt32 face) { return; } 100 public void llScaleTexture(double u, double v, int face) { return; }
100 public void llOffsetTexture(float u, float v, UInt32 face) { return; } 101 public void llOffsetTexture(double u, double v, int face) { return; }
101 public void llRotateTexture(float rotation, UInt32 face) { return; } 102 public void llRotateTexture(double rotation, int face) { return; }
102 public string llGetTexture(UInt32 face) { return ""; } 103 public string llGetTexture(int face) { return ""; }
103 public void llSetPos(Axiom.Math.Vector3 pos) { return; } 104 public void llSetPos(Axiom.Math.Vector3 pos) { return; }
104 105
105 106
@@ -108,56 +109,56 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
108 public void llSetRot(Axiom.Math.Quaternion rot) { } 109 public void llSetRot(Axiom.Math.Quaternion rot) { }
109 public Axiom.Math.Quaternion llGetRot() { return new Axiom.Math.Quaternion(); } 110 public Axiom.Math.Quaternion llGetRot() { return new Axiom.Math.Quaternion(); }
110 public Axiom.Math.Quaternion llGetLocalRot() { return new Axiom.Math.Quaternion(); } 111 public Axiom.Math.Quaternion llGetLocalRot() { return new Axiom.Math.Quaternion(); }
111 public void llSetForce(Axiom.Math.Vector3 force, Int32 local) { } 112 public void llSetForce(Axiom.Math.Vector3 force, int local) { }
112 public Axiom.Math.Vector3 llGetForce() { return new Axiom.Math.Vector3(); } 113 public Axiom.Math.Vector3 llGetForce() { return new Axiom.Math.Vector3(); }
113 public Int32 llTarget(Axiom.Math.Vector3 position, float range) { return 0; } 114 public int llTarget(Axiom.Math.Vector3 position, double range) { return 0; }
114 public void llTargetRemove(Int32 number) { } 115 public void llTargetRemove(int number) { }
115 public Int32 llRotTarget(Axiom.Math.Quaternion rot, float error) { return 0; } 116 public int llRotTarget(Axiom.Math.Quaternion rot, double error) { return 0; }
116 public void llRotTargetRemove(Int32 number) { } 117 public void llRotTargetRemove(int number) { }
117 public void llMoveToTarget(Axiom.Math.Vector3 target, float tau) { } 118 public void llMoveToTarget(Axiom.Math.Vector3 target, double tau) { }
118 public void llStopMoveToTarget() { } 119 public void llStopMoveToTarget() { }
119 public void llApplyImpulse(Axiom.Math.Vector3 force, Int32 local) { } 120 public void llApplyImpulse(Axiom.Math.Vector3 force, int local) { }
120 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, Int32 local) { } 121 public void llApplyRotationalImpulse(Axiom.Math.Vector3 force, int local) { }
121 public void llSetTorque(Axiom.Math.Vector3 torque, Int32 local) { } 122 public void llSetTorque(Axiom.Math.Vector3 torque, int local) { }
122 public Axiom.Math.Vector3 llGetTorque() { return new Axiom.Math.Vector3(); } 123 public Axiom.Math.Vector3 llGetTorque() { return new Axiom.Math.Vector3(); }
123 public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, Int32 local) { } 124 public void llSetForceAndTorque(Axiom.Math.Vector3 force, Axiom.Math.Vector3 torque, int local) { }
124 public Axiom.Math.Vector3 llGetVel() { return new Axiom.Math.Vector3(); } 125 public Axiom.Math.Vector3 llGetVel() { return new Axiom.Math.Vector3(); }
125 public Axiom.Math.Vector3 llGetAccel() { return new Axiom.Math.Vector3(); } 126 public Axiom.Math.Vector3 llGetAccel() { return new Axiom.Math.Vector3(); }
126 public Axiom.Math.Vector3 llGetOmega() { return new Axiom.Math.Vector3(); } 127 public Axiom.Math.Vector3 llGetOmega() { return new Axiom.Math.Vector3(); }
127 public float llGetTimeOfDay() { return 0; } 128 public double llGetTimeOfDay() { return 0; }
128 public float llGetWallclock() { return 0; } 129 public double llGetWallclock() { return 0; }
129 public float llGetTime() { return 0; } 130 public double llGetTime() { return 0; }
130 public void llResetTime() { } 131 public void llResetTime() { }
131 public float llGetAndResetTime() { return 0; } 132 public double llGetAndResetTime() { return 0; }
132 public void llSound() { } 133 public void llSound() { }
133 public void llPlaySound(string sound, float volume) { } 134 public void llPlaySound(string sound, double volume) { }
134 public void llLoopSound(string sound, float volume) { } 135 public void llLoopSound(string sound, double volume) { }
135 public void llLoopSoundMaster(string sound, float volume) { } 136 public void llLoopSoundMaster(string sound, double volume) { }
136 public void llLoopSoundSlave(string sound, float volume) { } 137 public void llLoopSoundSlave(string sound, double volume) { }
137 public void llPlaySoundSlave(string sound, float volume) { } 138 public void llPlaySoundSlave(string sound, double volume) { }
138 public void llTriggerSound(string sound, float volume) { } 139 public void llTriggerSound(string sound, double volume) { }
139 public void llStopSound() { } 140 public void llStopSound() { }
140 public void llPreloadSound(string sound) { } 141 public void llPreloadSound(string sound) { }
141 public void llGetSubString(string src, Int32 start, Int32 end) { } 142 public void llGetSubString(string src, int start, int end) { }
142 public string llDeleteSubString(string src, Int32 start, Int32 end) { return ""; } 143 public string llDeleteSubString(string src, int start, int end) { return ""; }
143 public void llInsertString(string dst, Int32 position, string src) { } 144 public void llInsertString(string dst, int position, string src) { }
144 public string llToUpper(string source) { return ""; } 145 public string llToUpper(string source) { return ""; }
145 public string llToLower(string source) { return ""; } 146 public string llToLower(string source) { return ""; }
146 public Int32 llGiveMoney(string destination, Int32 amount) { return 0; } 147 public int llGiveMoney(string destination, int amount) { return 0; }
147 public void llMakeExplosion() { } 148 public void llMakeExplosion() { }
148 public void llMakeFountain() { } 149 public void llMakeFountain() { }
149 public void llMakeSmoke() { } 150 public void llMakeSmoke() { }
150 public void llMakeFire() { } 151 public void llMakeFire() { }
151 public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, Int32 param) { } 152 public void llRezObject(string inventory, Axiom.Math.Vector3 pos, Axiom.Math.Quaternion rot, int param) { }
152 public void llLookAt(Axiom.Math.Vector3 target, float strength, float damping) { } 153 public void llLookAt(Axiom.Math.Vector3 target, double strength, double damping) { }
153 public void llStopLookAt() { } 154 public void llStopLookAt() { }
154 public void llSetTimerEvent(float sec) { } 155 public void llSetTimerEvent(double sec) { }
155 public void llSleep(float sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); } 156 public void llSleep(double sec) { System.Threading.Thread.Sleep((int)(sec * 1000)); }
156 public float llGetMass() { return 0; } 157 public double llGetMass() { return 0; }
157 public void llCollisionFilter(string name, string id, Int32 accept) { } 158 public void llCollisionFilter(string name, string id, int accept) { }
158 public void llTakeControls(Int32 controls, Int32 accept, Int32 pass_on) { } 159 public void llTakeControls(int controls, int accept, int pass_on) { }
159 public void llReleaseControls() { } 160 public void llReleaseControls() { }
160 public void llAttachToAvatar(Int32 attachment) { } 161 public void llAttachToAvatar(int attachment) { }
161 public void llDetachFromAvatar() { } 162 public void llDetachFromAvatar() { }
162 public void llTakeCamera() { } 163 public void llTakeCamera() { }
163 public void llReleaseCamera() { } 164 public void llReleaseCamera() { }
@@ -166,135 +167,135 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
166 public void llEmail(string address, string subject, string message) { } 167 public void llEmail(string address, string subject, string message) { }
167 public void llGetNextEmail(string address, string subject) { } 168 public void llGetNextEmail(string address, string subject) { }
168 public string llGetKey() { return ""; } 169 public string llGetKey() { return ""; }
169 public void llSetBuoyancy(float buoyancy) { } 170 public void llSetBuoyancy(double buoyancy) { }
170 public void llSetHoverHeight(float height, Int32 water, float tau) { } 171 public void llSetHoverHeight(double height, int water, double tau) { }
171 public void llStopHover() { } 172 public void llStopHover() { }
172 public void llMinEventDelay(float delay) { } 173 public void llMinEventDelay(double delay) { }
173 public void llSoundPreload() { } 174 public void llSoundPreload() { }
174 public void llRotLookAt(Axiom.Math.Quaternion target, float strength, float damping) { } 175 public void llRotLookAt(Axiom.Math.Quaternion target, double strength, double damping) { }
175 public Int32 llStringLength(string str) { return 0; } 176 public int llStringLength(string str) { return 0; }
176 public void llStartAnimation(string anim) { } 177 public void llStartAnimation(string anim) { }
177 public void llStopAnimation(string anim) { } 178 public void llStopAnimation(string anim) { }
178 public void llPointAt() { } 179 public void llPointAt() { }
179 public void llStopPointAt() { } 180 public void llStopPointAt() { }
180 public void llTargetOmega(Axiom.Math.Vector3 axis, float spinrate, float gain) { } 181 public void llTargetOmega(Axiom.Math.Vector3 axis, double spinrate, double gain) { }
181 public Int32 llGetStartParameter() { return 0; } 182 public int llGetStartParameter() { return 0; }
182 public void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos) { } 183 public void llGodLikeRezObject(string inventory, Axiom.Math.Vector3 pos) { }
183 public void llRequestPermissions(string agent, Int32 perm) { } 184 public void llRequestPermissions(string agent, int perm) { }
184 public string llGetPermissionsKey() { return ""; } 185 public string llGetPermissionsKey() { return ""; }
185 public Int32 llGetPermissions() { return 0; } 186 public int llGetPermissions() { return 0; }
186 public Int32 llGetLinkNumber() { return 0; } 187 public int llGetLinkNumber() { return 0; }
187 public void llSetLinkColor(Int32 linknumber, Axiom.Math.Vector3 color, Int32 face) { } 188 public void llSetLinkColor(int linknumber, Axiom.Math.Vector3 color, int face) { }
188 public void llCreateLink(string target, Int32 parent) { } 189 public void llCreateLink(string target, int parent) { }
189 public void llBreakLink(Int32 linknum) { } 190 public void llBreakLink(int linknum) { }
190 public void llBreakAllLinks() { } 191 public void llBreakAllLinks() { }
191 public string llGetLinkKey(Int32 linknum) { return ""; } 192 public string llGetLinkKey(int linknum) { return ""; }
192 public void llGetLinkName(Int32 linknum) { } 193 public void llGetLinkName(int linknum) { }
193 public Int32 llGetInventoryNumber(Int32 type) { return 0; } 194 public int llGetInventoryNumber(int type) { return 0; }
194 public string llGetInventoryName(Int32 type, Int32 number) { return ""; } 195 public string llGetInventoryName(int type, int number) { return ""; }
195 public void llSetScriptState(string name, Int32 run) { } 196 public void llSetScriptState(string name, int run) { }
196 public float llGetEnergy() { return 1.0f; } 197 public double llGetEnergy() { return 1.0f; }
197 public void llGiveInventory(string destination, string inventory) { } 198 public void llGiveInventory(string destination, string inventory) { }
198 public void llRemoveInventory(string item) { } 199 public void llRemoveInventory(string item) { }
199 public void llSetText(string text, Axiom.Math.Vector3 color, float alpha) { } 200 public void llSetText(string text, Axiom.Math.Vector3 color, double alpha) { }
200 public float llWater(Axiom.Math.Vector3 offset) { return 0; } 201 public double llWater(Axiom.Math.Vector3 offset) { return 0; }
201 public void llPassTouches(Int32 pass) { } 202 public void llPassTouches(int pass) { }
202 public string llRequestAgentData(string id, Int32 data) { return ""; } 203 public string llRequestAgentData(string id, int data) { return ""; }
203 public string llRequestInventoryData(string name) { return ""; } 204 public string llRequestInventoryData(string name) { return ""; }
204 public void llSetDamage(float damage) { } 205 public void llSetDamage(double damage) { }
205 public void llTeleportAgentHome(string agent) { } 206 public void llTeleportAgentHome(string agent) { }
206 public void llModifyLand(Int32 action, Int32 brush) { } 207 public void llModifyLand(int action, int brush) { }
207 public void llCollisionSound(string impact_sound, float impact_volume) { } 208 public void llCollisionSound(string impact_sound, double impact_volume) { }
208 public void llCollisionSprite(string impact_sprite) { } 209 public void llCollisionSprite(string impact_sprite) { }
209 public string llGetAnimation(string id) { return ""; } 210 public string llGetAnimation(string id) { return ""; }
210 public void llResetScript() { } 211 public void llResetScript() { }
211 public void llMessageLinked(Int32 linknum, Int32 num, string str, string id) { } 212 public void llMessageLinked(int linknum, int num, string str, string id) { }
212 public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, Int32 local) { } 213 public void llPushObject(string target, Axiom.Math.Vector3 impulse, Axiom.Math.Vector3 ang_impulse, int local) { }
213 public void llPassCollisions(Int32 pass) { } 214 public void llPassCollisions(int pass) { }
214 public string llGetScriptName() { return ""; } 215 public string llGetScriptName() { return ""; }
215 public Int32 llGetNumberOfSides() { return 0; } 216 public int llGetNumberOfSides() { return 0; }
216 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, float angle) { return new Axiom.Math.Quaternion(); } 217 public Axiom.Math.Quaternion llAxisAngle2Rot(Axiom.Math.Vector3 axis, double angle) { return new Axiom.Math.Quaternion(); }
217 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return new Axiom.Math.Vector3(); } 218 public Axiom.Math.Vector3 llRot2Axis(Axiom.Math.Quaternion rot) { return new Axiom.Math.Vector3(); }
218 public void llRot2Angle() { } 219 public void llRot2Angle() { }
219 public float llAcos(float val) { return (float)Math.Acos(val); } 220 public double llAcos(double val) { return (double)Math.Acos(val); }
220 public float llAsin(float val) { return (float)Math.Asin(val); } 221 public double llAsin(double val) { return (double)Math.Asin(val); }
221 public float llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; } 222 public double llAngleBetween(Axiom.Math.Quaternion a, Axiom.Math.Quaternion b) { return 0; }
222 public string llGetInventoryKey(string name) { return ""; } 223 public string llGetInventoryKey(string name) { return ""; }
223 public void llAllowInventoryDrop(Int32 add) { } 224 public void llAllowInventoryDrop(int add) { }
224 public Axiom.Math.Vector3 llGetSunDirection() { return new Axiom.Math.Vector3(); } 225 public Axiom.Math.Vector3 llGetSunDirection() { return new Axiom.Math.Vector3(); }
225 public Axiom.Math.Vector3 llGetTextureOffset(Int32 face) { return new Axiom.Math.Vector3(); } 226 public Axiom.Math.Vector3 llGetTextureOffset(int face) { return new Axiom.Math.Vector3(); }
226 public Axiom.Math.Vector3 llGetTextureScale(Int32 side) { return new Axiom.Math.Vector3(); } 227 public Axiom.Math.Vector3 llGetTextureScale(int side) { return new Axiom.Math.Vector3(); }
227 public float llGetTextureRot(Int32 side) { return 0; } 228 public double llGetTextureRot(int side) { return 0; }
228 public Int32 llSubStringIndex(string source, string pattern) { return 0; } 229 public int llSubStringIndex(string source, string pattern) { return 0; }
229 public string llGetOwnerKey(string id) { return ""; } 230 public string llGetOwnerKey(string id) { return ""; }
230 public Axiom.Math.Vector3 llGetCenterOfMass() { return new Axiom.Math.Vector3(); } 231 public Axiom.Math.Vector3 llGetCenterOfMass() { return new Axiom.Math.Vector3(); }
231 public List<string> llListSort(List<string> src, Int32 stride, Int32 ascending) 232 public List<string> llListSort(List<string> src, int stride, int ascending)
232 { return new List<string>(); } 233 { return new List<string>(); }
233 public Int32 llGetListLength(List<string> src) { return 0; } 234 public int llGetListLength(List<string> src) { return 0; }
234 public Int32 llList2Integer(List<string> src, Int32 index) { return 0;} 235 public int llList2Integer(List<string> src, int index) { return 0; }
235 public float llList2Float(List<string> src, Int32 index) { return 0; } 236 public double llList2double(List<string> src, int index) { return 0; }
236 public string llList2String(List<string> src, Int32 index) { return ""; } 237 public string llList2String(List<string> src, int index) { return ""; }
237 public string llList2Key(List<string> src, Int32 index) { return ""; } 238 public string llList2Key(List<string> src, int index) { return ""; }
238 public Axiom.Math.Vector3 llList2Vector(List<string> src, Int32 index) 239 public Axiom.Math.Vector3 llList2Vector(List<string> src, int index)
239 { return new Axiom.Math.Vector3(); } 240 { return new Axiom.Math.Vector3(); }
240 public Axiom.Math.Quaternion llList2Rot(List<string> src, Int32 index) 241 public Axiom.Math.Quaternion llList2Rot(List<string> src, int index)
241 { return new Axiom.Math.Quaternion(); } 242 { return new Axiom.Math.Quaternion(); }
242 public List<string> llList2List(List<string> src, Int32 start, Int32 end) 243 public List<string> llList2List(List<string> src, int start, int end)
243 { return new List<string>(); } 244 { return new List<string>(); }
244 public List<string> llDeleteSubList(List<string> src, Int32 start, Int32 end) 245 public List<string> llDeleteSubList(List<string> src, int start, int end)
245 { return new List<string>(); } 246 { return new List<string>(); }
246 public Int32 llGetListEntryType(List<string> src, Int32 index) { return 0; } 247 public int llGetListEntryType(List<string> src, int index) { return 0; }
247 public string llList2CSV(List<string> src) { return ""; } 248 public string llList2CSV(List<string> src) { return ""; }
248 public List<string> llCSV2List(string src) 249 public List<string> llCSV2List(string src)
249 { return new List<string>(); } 250 { return new List<string>(); }
250 public List<string> llListRandomize(List<string> src, Int32 stride) 251 public List<string> llListRandomize(List<string> src, int stride)
251 { return new List<string>(); } 252 { return new List<string>(); }
252 public List<string> llList2ListStrided(List<string> src, Int32 start, Int32 end, Int32 stride) 253 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride)
253 { return new List<string>(); } 254 { return new List<string>(); }
254 public Axiom.Math.Vector3 llGetRegionCorner() 255 public Axiom.Math.Vector3 llGetRegionCorner()
255 { return new Axiom.Math.Vector3(); } 256 { return new Axiom.Math.Vector3(); }
256 public List<string> llListInsertList(List<string> dest, List<string> src, Int32 start) 257 public List<string> llListInsertList(List<string> dest, List<string> src, int start)
257 { return new List<string>(); } 258 { return new List<string>(); }
258 public Int32 llListFindList(List<string> src, List<string> test) { return 0; } 259 public int llListFindList(List<string> src, List<string> test) { return 0; }
259 public string llGetObjectName() { return ""; } 260 public string llGetObjectName() { return ""; }
260 public void llSetObjectName(string name) { } 261 public void llSetObjectName(string name) { }
261 public string llGetDate() { return ""; } 262 public string llGetDate() { return ""; }
262 public Int32 llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; } 263 public int llEdgeOfWorld(Axiom.Math.Vector3 pos, Axiom.Math.Vector3 dir) { return 0; }
263 public Int32 llGetAgentInfo(string id) { return 0; } 264 public int llGetAgentInfo(string id) { return 0; }
264 public void llAdjustSoundVolume(float volume) { } 265 public void llAdjustSoundVolume(double volume) { }
265 public void llSetSoundQueueing(Int32 queue) { } 266 public void llSetSoundQueueing(int queue) { }
266 public void llSetSoundRadius(float radius) { } 267 public void llSetSoundRadius(double radius) { }
267 public string llKey2Name(string id) { return ""; } 268 public string llKey2Name(string id) { return ""; }
268 public void llSetTextureAnim(Int32 mode, Int32 face, Int32 sizex, Int32 sizey, float start, float length, float rate) { } 269 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { }
269 public void llTriggerSoundLimited(string sound, float volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { } 270 public void llTriggerSoundLimited(string sound, double volume, Axiom.Math.Vector3 top_north_east, Axiom.Math.Vector3 bottom_south_west) { }
270 public void llEjectFromLand(string pest) { } 271 public void llEjectFromLand(string pest) { }
271 public void llParseString2List() { } 272 public void llParseString2List() { }
272 public Int32 llOverMyLand(string id) { return 0; } 273 public int llOverMyLand(string id) { return 0; }
273 public string llGetLandOwnerAt(Axiom.Math.Vector3 pos) { return ""; } 274 public string llGetLandOwnerAt(Axiom.Math.Vector3 pos) { return ""; }
274 public string llGetNotecardLine(string name, Int32 line) { return ""; } 275 public string llGetNotecardLine(string name, int line) { return ""; }
275 public Axiom.Math.Vector3 llGetAgentSize(string id) { return new Axiom.Math.Vector3(); } 276 public Axiom.Math.Vector3 llGetAgentSize(string id) { return new Axiom.Math.Vector3(); }
276 public Int32 llSameGroup(string agent) { return 0; } 277 public int llSameGroup(string agent) { return 0; }
277 public void llUnSit(string id) { } 278 public void llUnSit(string id) { }
278 public Axiom.Math.Vector3 llGroundSlope(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } 279 public Axiom.Math.Vector3 llGroundSlope(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
279 public Axiom.Math.Vector3 llGroundNormal(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } 280 public Axiom.Math.Vector3 llGroundNormal(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
280 public Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); } 281 public Axiom.Math.Vector3 llGroundContour(Axiom.Math.Vector3 offset) { return new Axiom.Math.Vector3(); }
281 public Int32 llGetAttached() { return 0; } 282 public int llGetAttached() { return 0; }
282 public Int32 llGetFreeMemory() { return 0; } 283 public int llGetFreeMemory() { return 0; }
283 public string llGetRegionName() { return World.RegionInfo.RegionName; } 284 public string llGetRegionName() { return World.RegionInfo.RegionName; }
284 public float llGetRegionTimeDilation() { return 1.0f; } 285 public double llGetRegionTimeDilation() { return 1.0f; }
285 public float llGetRegionFPS() { return 10.0f; } 286 public double llGetRegionFPS() { return 10.0f; }
286 public void llParticleSystem(List<Object> rules) { } 287 public void llParticleSystem(List<Object> rules) { }
287 public void llGroundRepel(float height, Int32 water, float tau) { } 288 public void llGroundRepel(double height, int water, double tau) { }
288 public void llGiveInventoryList() { } 289 public void llGiveInventoryList() { }
289 public void llSetVehicleType(Int32 type) { } 290 public void llSetVehicleType(int type) { }
290 public void llSetVehicleFloatParam(Int32 param, float value) { } 291 public void llSetVehicledoubleParam(int param, double value) { }
291 public void llSetVehicleVectorParam(Int32 param, Axiom.Math.Vector3 vec) { } 292 public void llSetVehicleVectorParam(int param, Axiom.Math.Vector3 vec) { }
292 public void llSetVehicleRotationParam(Int32 param, Axiom.Math.Quaternion rot) { } 293 public void llSetVehicleRotationParam(int param, Axiom.Math.Quaternion rot) { }
293 public void llSetVehicleFlags(Int32 flags) { } 294 public void llSetVehicleFlags(int flags) { }
294 public void llRemoveVehicleFlags(Int32 flags) { } 295 public void llRemoveVehicleFlags(int flags) { }
295 public void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot) { } 296 public void llSitTarget(Axiom.Math.Vector3 offset, Axiom.Math.Quaternion rot) { }
296 public string llAvatarOnSitTarget() { return ""; } 297 public string llAvatarOnSitTarget() { return ""; }
297 public void llAddToLandPassList(string avatar, float hours) { } 298 public void llAddToLandPassList(string avatar, double hours) { }
298 public void llSetTouchText(string text) 299 public void llSetTouchText(string text)
299 { 300 {
300 } 301 }
@@ -305,18 +306,19 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
305 public void llSetCameraAtOffset(Axiom.Math.Vector3 offset) { } 306 public void llSetCameraAtOffset(Axiom.Math.Vector3 offset) { }
306 public void llDumpList2String() { } 307 public void llDumpList2String() { }
307 public void llScriptDanger(Axiom.Math.Vector3 pos) { } 308 public void llScriptDanger(Axiom.Math.Vector3 pos) { }
308 public void llDialog(string avatar, string message, List<string> buttons, Int32 chat_channel) { } 309 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { }
309 public void llVolumeDetect(Int32 detect) { } 310 public void llVolumeDetect(int detect) { }
310 public void llResetOtherScript(string name) { } 311 public void llResetOtherScript(string name) { }
311 public Int32 llGetScriptState(string name) { return 0; } 312 public int llGetScriptState(string name) { return 0; }
312 public void llRemoteLoadScript() { } 313 public void llRemoteLoadScript() { }
313 public void llSetRemoteScriptAccessPin(Int32 pin) { } 314 public void llSetRemoteScriptAccessPin(int pin) { }
314 public void llRemoteLoadScriptPin(string target, string name, Int32 pin, Int32 running, Int32 start_param) { } 315 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { }
315 public void llOpenRemoteDataChannel() { } 316 public void llOpenRemoteDataChannel() { }
316 public string llSendRemoteData(string channel, string dest, Int32 idata, string sdata) { return ""; } 317 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { return ""; }
317 public void llRemoteDataReply(string channel, string message_id, string sdata, Int32 idata) { } 318 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { }
318 public void llCloseRemoteDataChannel(string channel) { } 319 public void llCloseRemoteDataChannel(string channel) { }
319 public string llMD5String(string src, Int32 nonce) { 320 public string llMD5String(string src, int nonce)
321 {
320 return OpenSim.Framework.Utilities.Util.Md5Hash(src + ":" + nonce.ToString()); 322 return OpenSim.Framework.Utilities.Util.Md5Hash(src + ":" + nonce.ToString());
321 } 323 }
322 public void llSetPrimitiveParams(List<string> rules) { } 324 public void llSetPrimitiveParams(List<string> rules) { }
@@ -324,8 +326,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
324 public string llBase64ToString(string str) { return ""; } 326 public string llBase64ToString(string str) { return ""; }
325 public void llXorBase64Strings() { } 327 public void llXorBase64Strings() { }
326 public void llRemoteDataSetRegion() { } 328 public void llRemoteDataSetRegion() { }
327 public float llLog10(float val) { return (float)Math.Log10(val); } 329 public double llLog10(double val) { return (double)Math.Log10(val); }
328 public float llLog(float val) { return (float)Math.Log(val); } 330 public double llLog(double val) { return (double)Math.Log(val); }
329 public List<string> llGetAnimationList(string id) { return new List<string>(); } 331 public List<string> llGetAnimationList(string id) { return new List<string>(); }
330 public void llSetParcelMusicURL(string url) { } 332 public void llSetParcelMusicURL(string url) { }
331 public Axiom.Math.Vector3 llGetRootPosition() { return new Axiom.Math.Vector3(); } 333 public Axiom.Math.Vector3 llGetRootPosition() { return new Axiom.Math.Vector3(); }
@@ -334,43 +336,44 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
334 public void llSetObjectDesc(string desc) { } 336 public void llSetObjectDesc(string desc) { }
335 public string llGetCreator() { return ""; } 337 public string llGetCreator() { return ""; }
336 public string llGetTimestamp() { return ""; } 338 public string llGetTimestamp() { return ""; }
337 public void llSetLinkAlpha(Int32 linknumber, float alpha, Int32 face) { } 339 public void llSetLinkAlpha(int linknumber, double alpha, int face) { }
338 public Int32 llGetNumberOfPrims() { return 0; } 340 public int llGetNumberOfPrims() { return 0; }
339 public string llGetNumberOfNotecardLines(string name) { return ""; } 341 public string llGetNumberOfNotecardLines(string name) { return ""; }
340 public List<string> llGetBoundingBox(string obj) { return new List<string>(); } 342 public List<string> llGetBoundingBox(string obj) { return new List<string>(); }
341 public Axiom.Math.Vector3 llGetGeometricCenter() { return new Axiom.Math.Vector3(); } 343 public Axiom.Math.Vector3 llGetGeometricCenter() { return new Axiom.Math.Vector3(); }
342 public void llGetPrimitiveParams() { } 344 public void llGetPrimitiveParams() { }
343 public string llIntegerToBase64(Int32 number) { return ""; } 345 public string llIntegerToBase64(int number) { return ""; }
344 public Int32 llBase64ToInteger(string str) { return 0; } 346 public int llBase64ToInteger(string str) { return 0; }
345 public float llGetGMTclock() { return 0; } 347 public double llGetGMTclock() { return 0; }
346 public string llGetSimulatorHostname() { return ""; } 348 public string llGetSimulatorHostname() { return ""; }
347 public void llSetLocalRot(Axiom.Math.Quaternion rot) { } 349 public void llSetLocalRot(Axiom.Math.Quaternion rot) { }
348 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers) 350 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers)
349 { return new List<string>(); } 351 { return new List<string>(); }
350 public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, Int32 param) { } 352 public void llRezAtRoot(string inventory, Axiom.Math.Vector3 position, Axiom.Math.Vector3 velocity, Axiom.Math.Quaternion rot, int param) { }
351 public Int32 llGetObjectPermMask(Int32 mask) { return 0; } 353 public int llGetObjectPermMask(int mask) { return 0; }
352 public void llSetObjectPermMask(Int32 mask, Int32 value) { } 354 public void llSetObjectPermMask(int mask, int value) { }
353 public void llGetInventoryPermMask(string item, Int32 mask) { } 355 public void llGetInventoryPermMask(string item, int mask) { }
354 public void llSetInventoryPermMask(string item, Int32 mask, Int32 value) { } 356 public void llSetInventoryPermMask(string item, int mask, int value) { }
355 public string llGetInventoryCreator(string item) { return ""; } 357 public string llGetInventoryCreator(string item) { return ""; }
356 public void llOwnerSay(string msg) { } 358 public void llOwnerSay(string msg) { }
357 public void llRequestSimulatorData(string simulator, Int32 data) { } 359 public void llRequestSimulatorData(string simulator, int data) { }
358 public void llForceMouselook(Int32 mouselook) { } 360 public void llForceMouselook(int mouselook) { }
359 public float llGetObjectMass(string id) { return 0; } 361 public double llGetObjectMass(string id) { return 0; }
360 public void llListReplaceList() { } 362 public void llListReplaceList() { }
361 public void llLoadURL(string avatar_id, string message, string url) { } 363 public void llLoadURL(string avatar_id, string message, string url) { }
362 public void llParcelMediaCommandList(List<string> commandList) { } 364 public void llParcelMediaCommandList(List<string> commandList) { }
363 public void llParcelMediaQuery() { } 365 public void llParcelMediaQuery() { }
364 366
365 public Int32 llModPow(Int32 a, Int32 b, Int32 c) { 367 public int llModPow(int a, int b, int c)
368 {
366 Int64 tmp = 0; 369 Int64 tmp = 0;
367 Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp); 370 Int64 val = Math.DivRem(Convert.ToInt64(Math.Pow(a, b)), c, out tmp);
368 371
369 return Convert.ToInt32(tmp); 372 return Convert.ToInt32(tmp);
370 } 373 }
371 374
372 public Int32 llGetInventoryType(string name) { return 0; } 375 public int llGetInventoryType(string name) { return 0; }
373 public void llSetPayPrice(Int32 price, List<string> quick_pay_buttons) { } 376 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { }
374 public Axiom.Math.Vector3 llGetCameraPos() { return new Axiom.Math.Vector3(); } 377 public Axiom.Math.Vector3 llGetCameraPos() { return new Axiom.Math.Vector3(); }
375 public Axiom.Math.Quaternion llGetCameraRot() { return new Axiom.Math.Quaternion(); } 378 public Axiom.Math.Quaternion llGetCameraRot() { return new Axiom.Math.Quaternion(); }
376 public void llSetPrimURL() { } 379 public void llSetPrimURL() { }
@@ -378,26 +381,347 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL
378 public string llEscapeURL(string url) { return ""; } 381 public string llEscapeURL(string url) { return ""; }
379 public string llUnescapeURL(string url) { return ""; } 382 public string llUnescapeURL(string url) { return ""; }
380 public void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at) { } 383 public void llMapDestination(string simname, Axiom.Math.Vector3 pos, Axiom.Math.Vector3 look_at) { }
381 public void llAddToLandBanList(string avatar, float hours) { } 384 public void llAddToLandBanList(string avatar, double hours) { }
382 public void llRemoveFromLandPassList(string avatar) { } 385 public void llRemoveFromLandPassList(string avatar) { }
383 public void llRemoveFromLandBanList(string avatar) { } 386 public void llRemoveFromLandBanList(string avatar) { }
384 public void llSetCameraParams(List<string> rules) { } 387 public void llSetCameraParams(List<string> rules) { }
385 public void llClearCameraParams() { } 388 public void llClearCameraParams() { }
386 public float llListStatistics(Int32 operation, List<string> src) { return 0; } 389 public double llListStatistics(int operation, List<string> src) { return 0; }
387 public Int32 llGetUnixTime() { 390 public int llGetUnixTime()
391 {
388 return OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch(); 392 return OpenSim.Framework.Utilities.Util.UnixTimeSinceEpoch();
389 } 393 }
390 public Int32 llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; } 394 public int llGetParcelFlags(Axiom.Math.Vector3 pos) { return 0; }
391 public Int32 llGetRegionFlags() { return 0; } 395 public int llGetRegionFlags() { return 0; }
392 public string llXorBase64StringsCorrect(string str1, string str2) { return ""; } 396 public string llXorBase64StringsCorrect(string str1, string str2) { return ""; }
393 public void llHTTPRequest() { } 397 public void llHTTPRequest() { }
394 public void llResetLandBanList() { } 398 public void llResetLandBanList() { }
395 public void llResetLandPassList() { } 399 public void llResetLandPassList() { }
396 public Int32 llGetParcelPrimCount(Axiom.Math.Vector3 pos, Int32 category, Int32 sim_wide) { return 0; } 400 public int llGetParcelPrimCount(Axiom.Math.Vector3 pos, int category, int sim_wide) { return 0; }
397 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return new List<string>(); } 401 public List<string> llGetParcelPrimOwners(Axiom.Math.Vector3 pos) { return new List<string>(); }
398 public Int32 llGetObjectPrimCount(string object_id) { return 0; } 402 public int llGetObjectPrimCount(string object_id) { return 0; }
399 public Int32 llGetParcelMaxPrims(Axiom.Math.Vector3 pos, Int32 sim_wide) { return 0; } 403 public int llGetParcelMaxPrims(Axiom.Math.Vector3 pos, int sim_wide) { return 0; }
400 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return new List<string>(); } 404 public List<string> llGetParcelDetails(Axiom.Math.Vector3 pos, List<string> param) { return new List<string>(); }
401 405
406
407
408
409 // LSL CONSTANTS
410 public const int TRUE = 1;
411 public const int FALSE = 0;
412 public const int STATUS_PHYSICS = 1;
413 public const int STATUS_ROTATE_X = 2;
414 public const int STATUS_ROTATE_Y = 4;
415 public const int STATUS_ROTATE_Z = 8;
416 public const int STATUS_PHANTOM = 16;
417 public const int STATUS_SANDBOX = 32;
418 public const int STATUS_BLOCK_GRAB = 64;
419 public const int STATUS_DIE_AT_EDGE = 128;
420 public const int STATUS_RETURN_AT_EDGE = 256;
421 public const int AGENT = 1;
422 public const int ACTIVE = 2;
423 public const int PASSIVE = 4;
424 public const int SCRIPTED = 8;
425 public const int CONTROL_FWD = 1;
426 public const int CONTROL_BACK = 2;
427 public const int CONTROL_LEFT = 4;
428 public const int CONTROL_RIGHT = 8;
429 public const int CONTROL_UP = 16;
430 public const int CONTROL_DOWN = 32;
431 public const int CONTROL_ROT_LEFT = 256;
432 public const int CONTROL_ROT_RIGHT = 512;
433 public const int CONTROL_LBUTTON = 268435456;
434 public const int CONTROL_ML_LBUTTON = 1073741824;
435 public const int PERMISSION_DEBIT = 2;
436 public const int PERMISSION_TAKE_CONTROLS = 4;
437 public const int PERMISSION_REMAP_CONTROLS = 8;
438 public const int PERMISSION_TRIGGER_ANIMATION = 16;
439 public const int PERMISSION_ATTACH = 32;
440 public const int PERMISSION_RELEASE_OWNERSHIP = 64;
441 public const int PERMISSION_CHANGE_LINKS = 128;
442 public const int PERMISSION_CHANGE_JOINTS = 256;
443 public const int PERMISSION_CHANGE_PERMISSIONS = 512;
444 public const int PERMISSION_TRACK_CAMERA = 1024;
445 public const int AGENT_FLYING = 1;
446 public const int AGENT_ATTACHMENTS = 2;
447 public const int AGENT_SCRIPTED = 4;
448 public const int AGENT_MOUSELOOK = 8;
449 public const int AGENT_SITTING = 16;
450 public const int AGENT_ON_OBJECT = 32;
451 public const int AGENT_AWAY = 64;
452 public const int AGENT_WALKING = 128;
453 public const int AGENT_IN_AIR = 256;
454 public const int AGENT_TYPING = 512;
455 public const int AGENT_CROUCHING = 1024;
456 public const int AGENT_BUSY = 2048;
457 public const int AGENT_ALWAYS_RUN = 4096;
458 public const int PSYS_PART_INTERP_COLOR_MASK = 1;
459 public const int PSYS_PART_INTERP_SCALE_MASK = 2;
460 public const int PSYS_PART_BOUNCE_MASK = 4;
461 public const int PSYS_PART_WIND_MASK = 8;
462 public const int PSYS_PART_FOLLOW_SRC_MASK = 16;
463 public const int PSYS_PART_FOLLOW_VELOCITY_MASK = 32;
464 public const int PSYS_PART_TARGET_POS_MASK = 64;
465 public const int PSYS_PART_TARGET_LINEAR_MASK = 128;
466 public const int PSYS_PART_EMISSIVE_MASK = 256;
467 public const int PSYS_PART_FLAGS = 0;
468 public const int PSYS_PART_START_COLOR = 1;
469 public const int PSYS_PART_START_ALPHA = 2;
470 public const int PSYS_PART_END_COLOR = 3;
471 public const int PSYS_PART_END_ALPHA = 4;
472 public const int PSYS_PART_START_SCALE = 5;
473 public const int PSYS_PART_END_SCALE = 6;
474 public const int PSYS_PART_MAX_AGE = 7;
475 public const int PSYS_SRC_ACCEL = 8;
476 public const int PSYS_SRC_PATTERN = 9;
477 public const int PSYS_SRC_INNERANGLE = 10;
478 public const int PSYS_SRC_OUTERANGLE = 11;
479 public const int PSYS_SRC_TEXTURE = 12;
480 public const int PSYS_SRC_BURST_RATE = 13;
481 public const int PSYS_SRC_BURST_PART_COUNT = 15;
482 public const int PSYS_SRC_BURST_RADIUS = 16;
483 public const int PSYS_SRC_BURST_SPEED_MIN = 17;
484 public const int PSYS_SRC_BURST_SPEED_MAX = 18;
485 public const int PSYS_SRC_MAX_AGE = 19;
486 public const int PSYS_SRC_TARGET_KEY = 20;
487 public const int PSYS_SRC_OMEGA = 21;
488 public const int PSYS_SRC_ANGLE_BEGIN = 22;
489 public const int PSYS_SRC_ANGLE_END = 23;
490 public const int PSYS_SRC_PATTERN_DROP = 1;
491 public const int PSYS_SRC_PATTERN_EXPLODE = 2;
492 public const int PSYS_SRC_PATTERN_ANGLE = 4;
493 public const int PSYS_SRC_PATTERN_ANGLE_CONE = 8;
494 public const int PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY = 16;
495 public const int VEHICLE_TYPE_NONE = 0;
496 public const int VEHICLE_TYPE_SLED = 1;
497 public const int VEHICLE_TYPE_CAR = 2;
498 public const int VEHICLE_TYPE_BOAT = 3;
499 public const int VEHICLE_TYPE_AIRPLANE = 4;
500 public const int VEHICLE_TYPE_BALLOON = 5;
501 public const int VEHICLE_LINEAR_FRICTION_TIMESCALE = 16;
502 public const int VEHICLE_ANGULAR_FRICTION_TIMESCALE = 17;
503 public const int VEHICLE_LINEAR_MOTOR_DIRECTION = 18;
504 public const int VEHICLE_LINEAR_MOTOR_OFFSET = 20;
505 public const int VEHICLE_ANGULAR_MOTOR_DIRECTION = 19;
506 public const int VEHICLE_HOVER_HEIGHT = 24;
507 public const int VEHICLE_HOVER_EFFICIENCY = 25;
508 public const int VEHICLE_HOVER_TIMESCALE = 26;
509 public const int VEHICLE_BUOYANCY = 27;
510 public const int VEHICLE_LINEAR_DEFLECTION_EFFICIENCY = 28;
511 public const int VEHICLE_LINEAR_DEFLECTION_TIMESCALE = 29;
512 public const int VEHICLE_LINEAR_MOTOR_TIMESCALE = 30;
513 public const int VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE = 31;
514 public const int VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY = 32;
515 public const int VEHICLE_ANGULAR_DEFLECTION_TIMESCALE = 33;
516 public const int VEHICLE_ANGULAR_MOTOR_TIMESCALE = 34;
517 public const int VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE = 35;
518 public const int VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY = 36;
519 public const int VEHICLE_VERTICAL_ATTRACTION_TIMESCALE = 37;
520 public const int VEHICLE_BANKING_EFFICIENCY = 38;
521 public const int VEHICLE_BANKING_MIX = 39;
522 public const int VEHICLE_BANKING_TIMESCALE = 40;
523 public const int VEHICLE_REFERENCE_FRAME = 44;
524 public const int VEHICLE_FLAG_NO_DEFLECTION_UP = 1;
525 public const int VEHICLE_FLAG_LIMIT_ROLL_ONLY = 2;
526 public const int VEHICLE_FLAG_HOVER_WATER_ONLY = 4;
527 public const int VEHICLE_FLAG_HOVER_TERRAIN_ONLY = 8;
528 public const int VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT = 16;
529 public const int VEHICLE_FLAG_HOVER_UP_ONLY = 32;
530 public const int VEHICLE_FLAG_LIMIT_MOTOR_UP = 64;
531 public const int VEHICLE_FLAG_MOUSELOOK_STEER = 128;
532 public const int VEHICLE_FLAG_MOUSELOOK_BANK = 256;
533 public const int VEHICLE_FLAG_CAMERA_DECOUPLED = 512;
534 public const int INVENTORY_ALL = -1;
535 public const int INVENTORY_NONE = -1;
536 public const int INVENTORY_TEXTURE = 0;
537 public const int INVENTORY_SOUND = 1;
538 public const int INVENTORY_LANDMARK = 3;
539 public const int INVENTORY_CLOTHING = 5;
540 public const int INVENTORY_OBJECT = 6;
541 public const int INVENTORY_NOTECARD = 7;
542 public const int INVENTORY_SCRIPT = 10;
543 public const int INVENTORY_BODYPART = 13;
544 public const int INVENTORY_ANIMATION = 20;
545 public const int INVENTORY_GESTURE = 21;
546 public const int ATTACH_CHEST = 1;
547 public const int ATTACH_HEAD = 2;
548 public const int ATTACH_LSHOULDER = 3;
549 public const int ATTACH_RSHOULDER = 4;
550 public const int ATTACH_LHAND = 5;
551 public const int ATTACH_RHAND = 6;
552 public const int ATTACH_LFOOT = 7;
553 public const int ATTACH_RFOOT = 8;
554 public const int ATTACH_BACK = 9;
555 public const int ATTACH_PELVIS = 10;
556 public const int ATTACH_MOUTH = 11;
557 public const int ATTACH_CHIN = 12;
558 public const int ATTACH_LEAR = 13;
559 public const int ATTACH_REAR = 14;
560 public const int ATTACH_LEYE = 15;
561 public const int ATTACH_REYE = 16;
562 public const int ATTACH_NOSE = 17;
563 public const int ATTACH_RUARM = 18;
564 public const int ATTACH_RLARM = 19;
565 public const int ATTACH_LUARM = 20;
566 public const int ATTACH_LLARM = 21;
567 public const int ATTACH_RHIP = 22;
568 public const int ATTACH_RULEG = 23;
569 public const int ATTACH_RLLEG = 24;
570 public const int ATTACH_LHIP = 25;
571 public const int ATTACH_LULEG = 26;
572 public const int ATTACH_LLLEG = 27;
573 public const int ATTACH_BELLY = 28;
574 public const int ATTACH_RPEC = 29;
575 public const int ATTACH_LPEC = 30;
576 public const int LAND_LEVEL = 0;
577 public const int LAND_RAISE = 1;
578 public const int LAND_LOWER = 2;
579 public const int LAND_SMOOTH = 3;
580 public const int LAND_NOISE = 4;
581 public const int LAND_REVERT = 5;
582 public const int LAND_SMALL_BRUSH = 1;
583 public const int LAND_MEDIUM_BRUSH = 2;
584 public const int LAND_LARGE_BRUSH = 3;
585 public const int DATA_ONLINE = 1;
586 public const int DATA_NAME = 2;
587 public const int DATA_BORN = 3;
588 public const int DATA_RATING = 4;
589 public const int DATA_SIM_POS = 5;
590 public const int DATA_SIM_STATUS = 6;
591 public const int DATA_SIM_RATING = 7;
592 public const int ANIM_ON = 1;
593 public const int LOOP = 2;
594 public const int REVERSE = 4;
595 public const int PING_PONG = 8;
596 public const int SMOOTH = 16;
597 public const int ROTATE = 32;
598 public const int SCALE = 64;
599 public const int ALL_SIDES = -1;
600 public const int LINK_SET = -1;
601 public const int LINK_ROOT = 1;
602 public const int LINK_ALL_OTHERS = -2;
603 public const int LINK_ALL_CHILDREN = -3;
604 public const int LINK_THIS = -4;
605 public const int CHANGED_INVENTORY = 1;
606 public const int CHANGED_COLOR = 2;
607 public const int CHANGED_SHAPE = 4;
608 public const int CHANGED_SCALE = 8;
609 public const int CHANGED_TEXTURE = 16;
610 public const int CHANGED_LINK = 32;
611 public const int CHANGED_ALLOWED_DROP = 64;
612 public const int CHANGED_OWNER = 128;
613 public const int TYPE_INVALID = 0;
614 public const int TYPE_INTEGER = 1;
615 public const int TYPE_double = 2;
616 public const int TYPE_STRING = 3;
617 public const int TYPE_KEY = 4;
618 public const int TYPE_VECTOR = 5;
619 public const int TYPE_ROTATION = 6;
620 public const int REMOTE_DATA_CHANNEL = 1;
621 public const int REMOTE_DATA_REQUEST = 2;
622 public const int REMOTE_DATA_REPLY = 3;
623 //public const int PRIM_TYPE = 1;
624 public const int PRIM_MATERIAL = 2;
625 public const int PRIM_PHYSICS = 3;
626 public const int PRIM_TEMP_ON_REZ = 4;
627 public const int PRIM_PHANTOM = 5;
628 public const int PRIM_POSITION = 6;
629 public const int PRIM_SIZE = 7;
630 public const int PRIM_ROTATION = 8;
631 public const int PRIM_TYPE = 9;
632 public const int PRIM_TEXTURE = 17;
633 public const int PRIM_COLOR = 18;
634 public const int PRIM_BUMP_SHINY = 19;
635 public const int PRIM_FULLBRIGHT = 20;
636 public const int PRIM_FLEXIBLE = 21;
637 public const int PRIM_TEXGEN = 22;
638 public const int PRIM_TEXGEN_DEFAULT = 0;
639 public const int PRIM_TEXGEN_PLANAR = 1;
640 public const int PRIM_TYPE_BOX = 0;
641 public const int PRIM_TYPE_CYLINDER = 1;
642 public const int PRIM_TYPE_PRISM = 2;
643 public const int PRIM_TYPE_SPHERE = 3;
644 public const int PRIM_TYPE_TORUS = 4;
645 public const int PRIM_TYPE_TUBE = 5;
646 public const int PRIM_TYPE_RING = 6;
647 public const int PRIM_HOLE_DEFAULT = 0;
648 public const int PRIM_HOLE_CIRCLE = 16;
649 public const int PRIM_HOLE_SQUARE = 32;
650 public const int PRIM_HOLE_TRIANGLE = 48;
651 public const int PRIM_MATERIAL_STONE = 0;
652 public const int PRIM_MATERIAL_METAL = 1;
653 public const int PRIM_MATERIAL_GLASS = 2;
654 public const int PRIM_MATERIAL_WOOD = 3;
655 public const int PRIM_MATERIAL_FLESH = 4;
656 public const int PRIM_MATERIAL_PLASTIC = 5;
657 public const int PRIM_MATERIAL_RUBBER = 6;
658 public const int PRIM_MATERIAL_LIGHT = 7;
659 public const int PRIM_SHINY_NONE = 0;
660 public const int PRIM_SHINY_LOW = 1;
661 public const int PRIM_SHINY_MEDIUM = 2;
662 public const int PRIM_SHINY_HIGH = 3;
663 public const int PRIM_BUMP_NONE = 0;
664 public const int PRIM_BUMP_BRIGHT = 1;
665 public const int PRIM_BUMP_DARK = 2;
666 public const int PRIM_BUMP_WOOD = 3;
667 public const int PRIM_BUMP_BARK = 4;
668 public const int PRIM_BUMP_BRICKS = 5;
669 public const int PRIM_BUMP_CHECKER = 6;
670 public const int PRIM_BUMP_CONCRETE = 7;
671 public const int PRIM_BUMP_TILE = 8;
672 public const int PRIM_BUMP_STONE = 9;
673 public const int PRIM_BUMP_DISKS = 10;
674 public const int PRIM_BUMP_GRAVEL = 11;
675 public const int PRIM_BUMP_BLOBS = 12;
676 public const int PRIM_BUMP_SIDING = 13;
677 public const int PRIM_BUMP_LARGETILE = 14;
678 public const int PRIM_BUMP_STUCCO = 15;
679 public const int PRIM_BUMP_SUCTION = 16;
680 public const int PRIM_BUMP_WEAVE = 17;
681 public const int MASK_BASE = 0;
682 public const int MASK_OWNER = 1;
683 public const int MASK_GROUP = 2;
684 public const int MASK_EVERYONE = 3;
685 public const int MASK_NEXT = 4;
686 public const int PERM_TRANSFER = 8192;
687 public const int PERM_MODIFY = 16384;
688 public const int PERM_COPY = 32768;
689 public const int PERM_MOVE = 524288;
690 public const int PERM_ALL = 2147483647;
691 public const int PARCEL_MEDIA_COMMAND_STOP = 0;
692 public const int PARCEL_MEDIA_COMMAND_PAUSE = 1;
693 public const int PARCEL_MEDIA_COMMAND_PLAY = 2;
694 public const int PARCEL_MEDIA_COMMAND_LOOP = 3;
695 public const int PARCEL_MEDIA_COMMAND_TEXTURE = 4;
696 public const int PARCEL_MEDIA_COMMAND_URL = 5;
697 public const int PARCEL_MEDIA_COMMAND_TIME = 6;
698 public const int PARCEL_MEDIA_COMMAND_AGENT = 7;
699 public const int PARCEL_MEDIA_COMMAND_UNLOAD = 8;
700 public const int PARCEL_MEDIA_COMMAND_AUTO_ALIGN = 9;
701 public const int PAY_HIDE = -1;
702 public const int PAY_DEFAULT = -2;
703 public const string NULL_KEY = "00000000-0000-0000-0000-000000000000";
704 public const string EOF = "\n\n\n";
705 public const double PI = 3.14159274f;
706 public const double TWO_PI = 6.28318548f;
707 public const double PI_BY_TWO = 1.57079637f;
708 public const double DEG_TO_RAD = 0.01745329238f;
709 public const double RAD_TO_DEG = 57.29578f;
710 public const double SQRT2 = 1.414213538f;
711
712 // Can not be public const?
713 public Axiom.Math.Vector3 ZERO_VECTOR = new Axiom.Math.Vector3(0, 0, 0);
714 public Axiom.Math.Quaternion ZERO_ROTATION = new Axiom.Math.Quaternion(0, 0, 0, 0);
715
716
717 // Operator overloads
718 public class Axi
719 {
720 }
721 public static Axi operator *(Axi c1, double c2)
722 {
723
724 }
725
402 } 726 }
403} 727}