aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs1819
1 files changed, 1459 insertions, 360 deletions
diff --git a/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
index 8e7b95e..7bc3ce4 100644
--- a/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs
@@ -26,19 +26,18 @@
26* 26*
27*/ 27*/
28 28
29using Axiom.Math;
30using System; 29using System;
31using System.Collections.Generic; 30using System.Collections.Generic;
31using System.Runtime.Remoting.Lifetime;
32using System.Text; 32using System.Text;
33using System.Threading;
34using Axiom.Math;
33using libsecondlife; 35using libsecondlife;
34using OpenSim.Region.Environment.Scenes; 36using OpenSim.Framework;
35using OpenSim.Region.Environment.Scenes.Scripting; 37using OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler.LSL;
36using OpenSim.Region.Environment.Interfaces; 38using OpenSim.Region.Environment.Interfaces;
37using OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler; 39using OpenSim.Region.Environment.Scenes;
38using OpenSim.Region.ScriptEngine.Common; 40using OpenSim.Region.ScriptEngine.Common;
39using OpenSim.Framework.Console;
40using OpenSim.Framework;
41using System.Runtime.Remoting.Lifetime;
42 41
43namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler 42namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
44{ 43{
@@ -53,8 +52,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
53 /// </summary> 52 /// </summary>
54 public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface 53 public class LSL_BuiltIn_Commands : MarshalByRefObject, LSL_BuiltIn_Commands_Interface
55 { 54 {
56 55 private ASCIIEncoding enc = new ASCIIEncoding();
57 private System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
58 private ScriptEngine m_ScriptEngine; 56 private ScriptEngine m_ScriptEngine;
59 private SceneObjectPart m_host; 57 private SceneObjectPart m_host;
60 private uint m_localID; 58 private uint m_localID;
@@ -86,7 +84,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
86 { 84 {
87 //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()"); 85 //Console.WriteLine("LSL_BuiltIn_Commands: InitializeLifetimeService()");
88 // return null; 86 // return null;
89 ILease lease = (ILease)base.InitializeLifetimeService(); 87 ILease lease = (ILease) base.InitializeLifetimeService();
90 88
91 if (lease.CurrentState == LeaseState.Initial) 89 if (lease.CurrentState == LeaseState.Initial)
92 { 90 {
@@ -105,79 +103,130 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
105 103
106 //These are the implementations of the various ll-functions used by the LSL scripts. 104 //These are the implementations of the various ll-functions used by the LSL scripts.
107 //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07 105 //starting out, we use the System.Math library for trig functions. - ckrinke 8-14-07
108 public double llSin(double f) { return (double)Math.Sin(f); } 106 public double llSin(double f)
109 public double llCos(double f) { return (double)Math.Cos(f); } 107 {
110 public double llTan(double f) { return (double)Math.Tan(f); } 108 return (double) Math.Sin(f);
111 public double llAtan2(double x, double y) { return (double)Math.Atan2(y, x); } 109 }
112 public double llSqrt(double f) { return (double)Math.Sqrt(f); } 110
113 public double llPow(double fbase, double fexponent) { return (double)Math.Pow(fbase, fexponent); } 111 public double llCos(double f)
114 public int llAbs(int i) { return (int)Math.Abs(i); } 112 {
115 public double llFabs(double f) { return (double)Math.Abs(f); } 113 return (double) Math.Cos(f);
114 }
115
116 public double llTan(double f)
117 {
118 return (double) Math.Tan(f);
119 }
120
121 public double llAtan2(double x, double y)
122 {
123 return (double) Math.Atan2(y, x);
124 }
125
126 public double llSqrt(double f)
127 {
128 return (double) Math.Sqrt(f);
129 }
130
131 public double llPow(double fbase, double fexponent)
132 {
133 return (double) Math.Pow(fbase, fexponent);
134 }
135
136 public int llAbs(int i)
137 {
138 return (int) Math.Abs(i);
139 }
140
141 public double llFabs(double f)
142 {
143 return (double) Math.Abs(f);
144 }
116 145
117 public double llFrand(double mag) 146 public double llFrand(double mag)
118 { 147 {
119 lock (Util.RandomClass) 148 lock (Util.RandomClass)
120 { 149 {
121 return Util.RandomClass.Next((int)mag); 150 return Util.RandomClass.Next((int) mag);
122 } 151 }
123 } 152 }
124 153
125 public int llFloor(double f) { return (int)Math.Floor(f); } 154 public int llFloor(double f)
126 public int llCeil(double f) { return (int)Math.Ceiling(f); } 155 {
127 public int llRound(double f) { return (int)Math.Round(f, 3); } 156 return (int) Math.Floor(f);
157 }
158
159 public int llCeil(double f)
160 {
161 return (int) Math.Ceiling(f);
162 }
163
164 public int llRound(double f)
165 {
166 return (int) Math.Round(f, 3);
167 }
128 168
129 //This next group are vector operations involving squaring and square root. ckrinke 169 //This next group are vector operations involving squaring and square root. ckrinke
130 public double llVecMag(LSL_Types.Vector3 v) 170 public double llVecMag(LSL_Types.Vector3 v)
131 { 171 {
132 return (v.X * v.X + v.Y * v.Y + v.Z * v.Z); 172 return (v.X*v.X + v.Y*v.Y + v.Z*v.Z);
133 } 173 }
134 174
135 public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) 175 public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v)
136 { 176 {
137 double mag = v.X * v.X + v.Y * v.Y + v.Z * v.Z; 177 double mag = v.X*v.X + v.Y*v.Y + v.Z*v.Z;
138 LSL_Types.Vector3 nor = new LSL_Types.Vector3(); 178 LSL_Types.Vector3 nor = new LSL_Types.Vector3();
139 nor.X = v.X / mag; nor.Y = v.Y / mag; nor.Z = v.Z / mag; 179 nor.X = v.X/mag;
180 nor.Y = v.Y/mag;
181 nor.Z = v.Z/mag;
140 return nor; 182 return nor;
141 } 183 }
142 184
143 public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) 185 public double llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b)
144 { 186 {
145 double dx = a.X - b.X; double dy = a.Y - b.Y; double dz = a.Z - b.Z; 187 double dx = a.X - b.X;
146 return Math.Sqrt(dx * dx + dy * dy + dz * dz); 188 double dy = a.Y - b.Y;
189 double dz = a.Z - b.Z;
190 return Math.Sqrt(dx*dx + dy*dy + dz*dz);
147 } 191 }
148 192
149 //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke 193 //Now we start getting into quaternions which means sin/cos, matrices and vectors. ckrinke
150 public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) 194 public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r)
151 { 195 {
152 //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke 196 //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke
153 LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.X * r.X, r.Y * r.Y, r.Z * r.Z, r.R * r.R); 197 LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.X*r.X, r.Y*r.Y, r.Z*r.Z, r.R*r.R);
154 double m = (t.X + t.Y + t.Z + t.R); 198 double m = (t.X + t.Y + t.Z + t.R);
155 if (m == 0) return new LSL_Types.Vector3(); 199 if (m == 0) return new LSL_Types.Vector3();
156 double n = 2 * (r.Y * r.R + r.X * r.Z); 200 double n = 2*(r.Y*r.R + r.X*r.Z);
157 double p = m * m - n * n; 201 double p = m*m - n*n;
158 if (p > 0) 202 if (p > 0)
159 return new LSL_Types.Vector3(Math.Atan2(2.0 * (r.X * r.R - r.Y * r.Z), (-t.X - t.Y + t.Z + t.R)), 203 return new LSL_Types.Vector3(Math.Atan2(2.0*(r.X*r.R - r.Y*r.Z), (-t.X - t.Y + t.Z + t.R)),
160 Math.Atan2(n, Math.Sqrt(p)), Math.Atan2(2.0 * (r.Z * r.R - r.X * r.Y), (t.X - t.Y - t.Z + t.R))); 204 Math.Atan2(n, Math.Sqrt(p)),
205 Math.Atan2(2.0*(r.Z*r.R - r.X*r.Y), (t.X - t.Y - t.Z + t.R)));
161 else if (n > 0) 206 else if (n > 0)
162 return new LSL_Types.Vector3(0.0, Math.PI / 2, Math.Atan2((r.Z * r.R + r.X * r.Y), 0.5 - t.X - t.Z)); 207 return new LSL_Types.Vector3(0.0, Math.PI/2, Math.Atan2((r.Z*r.R + r.X*r.Y), 0.5 - t.X - t.Z));
163 else 208 else
164 return new LSL_Types.Vector3(0.0, -Math.PI / 2, Math.Atan2((r.Z * r.R + r.X * r.Y), 0.5 - t.X - t.Z)); 209 return new LSL_Types.Vector3(0.0, -Math.PI/2, Math.Atan2((r.Z*r.R + r.X*r.Y), 0.5 - t.X - t.Z));
165 } 210 }
166 211
167 public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) 212 public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v)
168 { 213 {
169 //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07 214 //this comes from from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions but is incomplete as of 8/19/07
170 float err = 0.00001f; 215 float err = 0.00001f;
171 double ax = Math.Sin(v.X / 2); double aw = Math.Cos(v.X / 2); 216 double ax = Math.Sin(v.X/2);
172 double by = Math.Sin(v.Y / 2); double bw = Math.Cos(v.Y / 2); 217 double aw = Math.Cos(v.X/2);
173 double cz = Math.Sin(v.Z / 2); double cw = Math.Cos(v.Z / 2); 218 double by = Math.Sin(v.Y/2);
219 double bw = Math.Cos(v.Y/2);
220 double cz = Math.Sin(v.Z/2);
221 double cw = Math.Cos(v.Z/2);
174 LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw); 222 LSL_Types.Quaternion a1 = new LSL_Types.Quaternion(0.0, 0.0, cz, cw);
175 LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw); 223 LSL_Types.Quaternion a2 = new LSL_Types.Quaternion(0.0, by, 0.0, bw);
176 LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw); 224 LSL_Types.Quaternion a3 = new LSL_Types.Quaternion(ax, 0.0, 0.0, aw);
177 LSL_Types.Quaternion a = new LSL_Types.Quaternion(); 225 LSL_Types.Quaternion a = new LSL_Types.Quaternion();
178 //This multiplication doesnt compile, yet. a = a1 * a2 * a3; 226 //This multiplication doesnt compile, yet. a = a1 * a2 * a3;
179 LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax * bw * cw + aw * by * cz, 227 LSL_Types.Quaternion b = new LSL_Types.Quaternion(ax*bw*cw + aw*by*cz,
180 aw * by * cw - ax * bw * cz, aw * bw * cz + ax * by * cw, aw * bw * cw - ax * by * cz); 228 aw*by*cw - ax*bw*cz, aw*bw*cz + ax*by*cw,
229 aw*bw*cw - ax*by*cz);
181 LSL_Types.Quaternion c = new LSL_Types.Quaternion(); 230 LSL_Types.Quaternion c = new LSL_Types.Quaternion();
182 //This addition doesnt compile yet c = a + b; 231 //This addition doesnt compile yet c = a + b;
183 LSL_Types.Quaternion d = new LSL_Types.Quaternion(); 232 LSL_Types.Quaternion d = new LSL_Types.Quaternion();
@@ -194,11 +243,30 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
194 return new LSL_Types.Quaternion(); 243 return new LSL_Types.Quaternion();
195 } 244 }
196 245
197 public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) { return new LSL_Types.Quaternion(); } 246 public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up)
198 public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } 247 {
199 public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } 248 return new LSL_Types.Quaternion();
200 public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) { return new LSL_Types.Vector3(); } 249 }
201 public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end) { return new LSL_Types.Quaternion(); } 250
251 public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r)
252 {
253 return new LSL_Types.Vector3();
254 }
255
256 public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r)
257 {
258 return new LSL_Types.Vector3();
259 }
260
261 public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r)
262 {
263 return new LSL_Types.Vector3();
264 }
265
266 public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 start, LSL_Types.Vector3 end)
267 {
268 return new LSL_Types.Quaternion();
269 }
202 270
203 public void llWhisper(int channelID, string text) 271 public void llWhisper(int channelID, string text)
204 { 272 {
@@ -212,7 +280,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
212 //type for say is 1 280 //type for say is 1
213 281
214 World.SimChat(Helpers.StringToField(text), 282 World.SimChat(Helpers.StringToField(text),
215 1, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); 283 1, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
216 } 284 }
217 285
218 public void llShout(int channelID, string text) 286 public void llShout(int channelID, string text)
@@ -222,64 +290,217 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
222 2, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID); 290 2, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID);
223 } 291 }
224 292
225 public int llListen(int channelID, string name, string ID, string msg) { NotImplemented("llListen"); return 0; } 293 public int llListen(int channelID, string name, string ID, string msg)
226 public void llListenControl(int number, int active) { NotImplemented("llListenControl"); return; } 294 {
227 public void llListenRemove(int number) { NotImplemented("llListenRemove"); return; } 295 NotImplemented("llListen");
228 public void llSensor(string name, string id, int type, double range, double arc) { NotImplemented("llSensor"); return; } 296 return 0;
229 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate) { NotImplemented("llSensorRepeat"); return; } 297 }
230 public void llSensorRemove() { NotImplemented("llSensorRemove"); return; } 298
231 public string llDetectedName(int number) { NotImplemented("llDetectedName"); return ""; } 299 public void llListenControl(int number, int active)
232 public string llDetectedKey(int number) { NotImplemented("llDetectedKey"); return ""; } 300 {
233 public string llDetectedOwner(int number) { NotImplemented("llDetectedOwner"); return ""; } 301 NotImplemented("llListenControl");
234 public int llDetectedType(int number) { NotImplemented("llDetectedType"); return 0; } 302 return;
235 public LSL_Types.Vector3 llDetectedPos(int number) { NotImplemented("llDetectedPos"); return new LSL_Types.Vector3(); } 303 }
236 public LSL_Types.Vector3 llDetectedVel(int number) { NotImplemented("llDetectedVel"); return new LSL_Types.Vector3(); } 304
237 public LSL_Types.Vector3 llDetectedGrab(int number) { NotImplemented("llDetectedGrab"); return new LSL_Types.Vector3(); } 305 public void llListenRemove(int number)
238 public LSL_Types.Quaternion llDetectedRot(int number) { NotImplemented("llDetectedRot"); return new LSL_Types.Quaternion(); } 306 {
239 public int llDetectedGroup(int number) { NotImplemented("llDetectedGroup"); return 0; } 307 NotImplemented("llListenRemove");
240 public int llDetectedLinkNumber(int number) { NotImplemented("llDetectedLinkNumber"); return 0; } 308 return;
241 public void llDie() { NotImplemented("llDie"); return; } 309 }
242 public double llGround(LSL_Types.Vector3 offset) { NotImplemented("llGround"); return 0; } 310
243 public double llCloud(LSL_Types.Vector3 offset) { NotImplemented("llCloud"); return 0; } 311 public void llSensor(string name, string id, int type, double range, double arc)
244 public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) { NotImplemented("llWind"); return new LSL_Types.Vector3(); } 312 {
245 public void llSetStatus(int status, int value) { NotImplemented("llSetStatus"); return; } 313 NotImplemented("llSensor");
246 public int llGetStatus(int status) { NotImplemented("llGetStatus"); return 0; } 314 return;
315 }
316
317 public void llSensorRepeat(string name, string id, int type, double range, double arc, double rate)
318 {
319 NotImplemented("llSensorRepeat");
320 return;
321 }
322
323 public void llSensorRemove()
324 {
325 NotImplemented("llSensorRemove");
326 return;
327 }
328
329 public string llDetectedName(int number)
330 {
331 NotImplemented("llDetectedName");
332 return "";
333 }
334
335 public string llDetectedKey(int number)
336 {
337 NotImplemented("llDetectedKey");
338 return "";
339 }
340
341 public string llDetectedOwner(int number)
342 {
343 NotImplemented("llDetectedOwner");
344 return "";
345 }
346
347 public int llDetectedType(int number)
348 {
349 NotImplemented("llDetectedType");
350 return 0;
351 }
352
353 public LSL_Types.Vector3 llDetectedPos(int number)
354 {
355 NotImplemented("llDetectedPos");
356 return new LSL_Types.Vector3();
357 }
358
359 public LSL_Types.Vector3 llDetectedVel(int number)
360 {
361 NotImplemented("llDetectedVel");
362 return new LSL_Types.Vector3();
363 }
364
365 public LSL_Types.Vector3 llDetectedGrab(int number)
366 {
367 NotImplemented("llDetectedGrab");
368 return new LSL_Types.Vector3();
369 }
370
371 public LSL_Types.Quaternion llDetectedRot(int number)
372 {
373 NotImplemented("llDetectedRot");
374 return new LSL_Types.Quaternion();
375 }
376
377 public int llDetectedGroup(int number)
378 {
379 NotImplemented("llDetectedGroup");
380 return 0;
381 }
382
383 public int llDetectedLinkNumber(int number)
384 {
385 NotImplemented("llDetectedLinkNumber");
386 return 0;
387 }
388
389 public void llDie()
390 {
391 NotImplemented("llDie");
392 return;
393 }
394
395 public double llGround(LSL_Types.Vector3 offset)
396 {
397 NotImplemented("llGround");
398 return 0;
399 }
400
401 public double llCloud(LSL_Types.Vector3 offset)
402 {
403 NotImplemented("llCloud");
404 return 0;
405 }
406
407 public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset)
408 {
409 NotImplemented("llWind");
410 return new LSL_Types.Vector3();
411 }
412
413 public void llSetStatus(int status, int value)
414 {
415 NotImplemented("llSetStatus");
416 return;
417 }
418
419 public int llGetStatus(int status)
420 {
421 NotImplemented("llGetStatus");
422 return 0;
423 }
247 424
248 public void llSetScale(LSL_Types.Vector3 scale) 425 public void llSetScale(LSL_Types.Vector3 scale)
249 { 426 {
250 // TODO: this needs to trigger a persistance save as well 427 // TODO: this needs to trigger a persistance save as well
251 LLVector3 tmp = m_host.Scale; 428 LLVector3 tmp = m_host.Scale;
252 tmp.X = (float)scale.X; 429 tmp.X = (float) scale.X;
253 tmp.Y = (float)scale.Y; 430 tmp.Y = (float) scale.Y;
254 tmp.Z = (float)scale.Z; 431 tmp.Z = (float) scale.Z;
255 m_host.Scale = tmp; 432 m_host.Scale = tmp;
256 return; 433 return;
257 } 434 }
435
258 public LSL_Types.Vector3 llGetScale() 436 public LSL_Types.Vector3 llGetScale()
259 { 437 {
260 return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); 438 return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z);
261 } 439 }
262 440
263 public void llSetColor(LSL_Types.Vector3 color, int face) { NotImplemented("llSetColor"); return; } 441 public void llSetColor(LSL_Types.Vector3 color, int face)
264 public double llGetAlpha(int face) { NotImplemented("llGetAlpha"); return 0; } 442 {
265 public void llSetAlpha(double alpha, int face) { NotImplemented("llSetAlpha"); return; } 443 NotImplemented("llSetColor");
266 public LSL_Types.Vector3 llGetColor(int face) { NotImplemented("llGetColor"); return new LSL_Types.Vector3(); } 444 return;
267 public void llSetTexture(string texture, int face) { NotImplemented("llSetTexture"); return; } 445 }
268 public void llScaleTexture(double u, double v, int face) { NotImplemented("llScaleTexture"); return; }
269 public void llOffsetTexture(double u, double v, int face) { NotImplemented("llOffsetTexture"); return; }
270 public void llRotateTexture(double rotation, int face) { NotImplemented("llRotateTexture"); return; }
271 446
272 public string llGetTexture(int face) { NotImplemented("llGetTexture"); return ""; } 447 public double llGetAlpha(int face)
448 {
449 NotImplemented("llGetAlpha");
450 return 0;
451 }
452
453 public void llSetAlpha(double alpha, int face)
454 {
455 NotImplemented("llSetAlpha");
456 return;
457 }
458
459 public LSL_Types.Vector3 llGetColor(int face)
460 {
461 NotImplemented("llGetColor");
462 return new LSL_Types.Vector3();
463 }
464
465 public void llSetTexture(string texture, int face)
466 {
467 NotImplemented("llSetTexture");
468 return;
469 }
470
471 public void llScaleTexture(double u, double v, int face)
472 {
473 NotImplemented("llScaleTexture");
474 return;
475 }
476
477 public void llOffsetTexture(double u, double v, int face)
478 {
479 NotImplemented("llOffsetTexture");
480 return;
481 }
482
483 public void llRotateTexture(double rotation, int face)
484 {
485 NotImplemented("llRotateTexture");
486 return;
487 }
488
489 public string llGetTexture(int face)
490 {
491 NotImplemented("llGetTexture");
492 return "";
493 }
273 494
274 public void llSetPos(LSL_Types.Vector3 pos) 495 public void llSetPos(LSL_Types.Vector3 pos)
275 { 496 {
276 if (m_host.ParentID != 0) 497 if (m_host.ParentID != 0)
277 { 498 {
278 m_host.UpdateOffSet(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z)); 499 m_host.UpdateOffSet(new LLVector3((float) pos.X, (float) pos.Y, (float) pos.Z));
279 } 500 }
280 else 501 else
281 { 502 {
282 m_host.UpdateGroupPosition(new LLVector3((float)pos.X, (float)pos.Y, (float)pos.Z)); 503 m_host.UpdateGroupPosition(new LLVector3((float) pos.X, (float) pos.Y, (float) pos.Z));
283 } 504 }
284 } 505 }
285 506
@@ -305,51 +526,183 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
305 m_host.AbsolutePosition.Z); 526 m_host.AbsolutePosition.Z);
306 } 527 }
307 } 528 }
529
308 public void llSetRot(LSL_Types.Quaternion rot) 530 public void llSetRot(LSL_Types.Quaternion rot)
309 { 531 {
310 m_host.UpdateRotation(new LLQuaternion((float)rot.X, (float)rot.Y, (float)rot.Z, (float)rot.R)); 532 m_host.UpdateRotation(new LLQuaternion((float) rot.X, (float) rot.Y, (float) rot.Z, (float) rot.R));
311 } 533 }
534
312 public LSL_Types.Quaternion llGetRot() 535 public LSL_Types.Quaternion llGetRot()
313 { 536 {
314 LLQuaternion q = m_host.RotationOffset; 537 LLQuaternion q = m_host.RotationOffset;
315 return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); 538 return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W);
316 } 539 }
317 public LSL_Types.Quaternion llGetLocalRot() { NotImplemented("llGetLocalRot"); return new LSL_Types.Quaternion(); } 540
318 public void llSetForce(LSL_Types.Vector3 force, int local) { NotImplemented("llSetForce"); } 541 public LSL_Types.Quaternion llGetLocalRot()
319 public LSL_Types.Vector3 llGetForce() { NotImplemented("llGetForce"); return new LSL_Types.Vector3(); } 542 {
320 public int llTarget(LSL_Types.Vector3 position, double range) { NotImplemented("llTarget"); return 0; } 543 NotImplemented("llGetLocalRot");
321 public void llTargetRemove(int number) { NotImplemented("llTargetRemove"); } 544 return new LSL_Types.Quaternion();
322 public int llRotTarget(LSL_Types.Quaternion rot, double error) { NotImplemented("llRotTarget"); return 0; } 545 }
323 public void llRotTargetRemove(int number) { NotImplemented("llRotTargetRemove"); } 546
324 public void llMoveToTarget(LSL_Types.Vector3 target, double tau) { NotImplemented("llMoveToTarget"); } 547 public void llSetForce(LSL_Types.Vector3 force, int local)
325 public void llStopMoveToTarget() { NotImplemented("llStopMoveToTarget"); } 548 {
326 public void llApplyImpulse(LSL_Types.Vector3 force, int local) { NotImplemented("llApplyImpulse"); } 549 NotImplemented("llSetForce");
327 public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) { NotImplemented("llApplyRotationalImpulse"); } 550 }
328 public void llSetTorque(LSL_Types.Vector3 torque, int local) { NotImplemented("llSetTorque"); } 551
329 public LSL_Types.Vector3 llGetTorque() { NotImplemented("llGetTorque"); return new LSL_Types.Vector3(); } 552 public LSL_Types.Vector3 llGetForce()
330 public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) { NotImplemented("llSetForceAndTorque"); } 553 {
331 public LSL_Types.Vector3 llGetVel() { NotImplemented("llGetVel"); return new LSL_Types.Vector3(); } 554 NotImplemented("llGetForce");
332 public LSL_Types.Vector3 llGetAccel() { NotImplemented("llGetAccel"); return new LSL_Types.Vector3(); } 555 return new LSL_Types.Vector3();
333 public LSL_Types.Vector3 llGetOmega() { NotImplemented("llGetOmega"); return new LSL_Types.Vector3(); } 556 }
334 public double llGetTimeOfDay() { NotImplemented("llGetTimeOfDay"); return 0; } 557
558 public int llTarget(LSL_Types.Vector3 position, double range)
559 {
560 NotImplemented("llTarget");
561 return 0;
562 }
563
564 public void llTargetRemove(int number)
565 {
566 NotImplemented("llTargetRemove");
567 }
568
569 public int llRotTarget(LSL_Types.Quaternion rot, double error)
570 {
571 NotImplemented("llRotTarget");
572 return 0;
573 }
574
575 public void llRotTargetRemove(int number)
576 {
577 NotImplemented("llRotTargetRemove");
578 }
579
580 public void llMoveToTarget(LSL_Types.Vector3 target, double tau)
581 {
582 NotImplemented("llMoveToTarget");
583 }
584
585 public void llStopMoveToTarget()
586 {
587 NotImplemented("llStopMoveToTarget");
588 }
589
590 public void llApplyImpulse(LSL_Types.Vector3 force, int local)
591 {
592 NotImplemented("llApplyImpulse");
593 }
594
595 public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local)
596 {
597 NotImplemented("llApplyRotationalImpulse");
598 }
599
600 public void llSetTorque(LSL_Types.Vector3 torque, int local)
601 {
602 NotImplemented("llSetTorque");
603 }
604
605 public LSL_Types.Vector3 llGetTorque()
606 {
607 NotImplemented("llGetTorque");
608 return new LSL_Types.Vector3();
609 }
610
611 public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local)
612 {
613 NotImplemented("llSetForceAndTorque");
614 }
615
616 public LSL_Types.Vector3 llGetVel()
617 {
618 NotImplemented("llGetVel");
619 return new LSL_Types.Vector3();
620 }
621
622 public LSL_Types.Vector3 llGetAccel()
623 {
624 NotImplemented("llGetAccel");
625 return new LSL_Types.Vector3();
626 }
627
628 public LSL_Types.Vector3 llGetOmega()
629 {
630 NotImplemented("llGetOmega");
631 return new LSL_Types.Vector3();
632 }
633
634 public double llGetTimeOfDay()
635 {
636 NotImplemented("llGetTimeOfDay");
637 return 0;
638 }
335 639
336 public double llGetWallclock() 640 public double llGetWallclock()
337 { 641 {
338 return DateTime.Now.TimeOfDay.TotalSeconds; 642 return DateTime.Now.TimeOfDay.TotalSeconds;
339 } 643 }
340 644
341 public double llGetTime() { NotImplemented("llGetTime"); return 0; } 645 public double llGetTime()
342 public void llResetTime() { NotImplemented("llResetTime"); } 646 {
343 public double llGetAndResetTime() { NotImplemented("llGetAndResetTime"); return 0; } 647 NotImplemented("llGetTime");
344 public void llSound() { NotImplemented("llSound"); } 648 return 0;
345 public void llPlaySound(string sound, double volume) { NotImplemented("llPlaySound"); } 649 }
346 public void llLoopSound(string sound, double volume) { NotImplemented("llLoopSound"); } 650
347 public void llLoopSoundMaster(string sound, double volume) { NotImplemented("llLoopSoundMaster"); } 651 public void llResetTime()
348 public void llLoopSoundSlave(string sound, double volume) { NotImplemented("llLoopSoundSlave"); } 652 {
349 public void llPlaySoundSlave(string sound, double volume) { NotImplemented("llPlaySoundSlave"); } 653 NotImplemented("llResetTime");
350 public void llTriggerSound(string sound, double volume) { NotImplemented("llTriggerSound"); } 654 }
351 public void llStopSound() { NotImplemented("llStopSound"); } 655
352 public void llPreloadSound(string sound) { NotImplemented("llPreloadSound"); } 656 public double llGetAndResetTime()
657 {
658 NotImplemented("llGetAndResetTime");
659 return 0;
660 }
661
662 public void llSound()
663 {
664 NotImplemented("llSound");
665 }
666
667 public void llPlaySound(string sound, double volume)
668 {
669 NotImplemented("llPlaySound");
670 }
671
672 public void llLoopSound(string sound, double volume)
673 {
674 NotImplemented("llLoopSound");
675 }
676
677 public void llLoopSoundMaster(string sound, double volume)
678 {
679 NotImplemented("llLoopSoundMaster");
680 }
681
682 public void llLoopSoundSlave(string sound, double volume)
683 {
684 NotImplemented("llLoopSoundSlave");
685 }
686
687 public void llPlaySoundSlave(string sound, double volume)
688 {
689 NotImplemented("llPlaySoundSlave");
690 }
691
692 public void llTriggerSound(string sound, double volume)
693 {
694 NotImplemented("llTriggerSound");
695 }
696
697 public void llStopSound()
698 {
699 NotImplemented("llStopSound");
700 }
701
702 public void llPreloadSound(string sound)
703 {
704 NotImplemented("llPreloadSound");
705 }
353 706
354 public string llGetSubString(string src, int start, int end) 707 public string llGetSubString(string src, int start, int end)
355 { 708 {
@@ -360,10 +713,12 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
360 { 713 {
361 return src.Remove(start, end - start); 714 return src.Remove(start, end - start);
362 } 715 }
716
363 public string llInsertString(string dst, int position, string src) 717 public string llInsertString(string dst, int position, string src)
364 { 718 {
365 return dst.Insert(position, src); 719 return dst.Insert(position, src);
366 } 720 }
721
367 public string llToUpper(string src) 722 public string llToUpper(string src)
368 { 723 {
369 return src.ToUpper(); 724 return src.ToUpper();
@@ -374,14 +729,46 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
374 return src.ToLower(); 729 return src.ToLower();
375 } 730 }
376 731
377 public int llGiveMoney(string destination, int amount) { NotImplemented("llGiveMoney"); return 0; } 732 public int llGiveMoney(string destination, int amount)
378 public void llMakeExplosion() { NotImplemented("llMakeExplosion"); } 733 {
379 public void llMakeFountain() { NotImplemented("llMakeFountain"); } 734 NotImplemented("llGiveMoney");
380 public void llMakeSmoke() { NotImplemented("llMakeSmoke"); } 735 return 0;
381 public void llMakeFire() { NotImplemented("llMakeFire"); } 736 }
382 public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param) { NotImplemented("llRezObject"); } 737
383 public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) { NotImplemented("llLookAt"); } 738 public void llMakeExplosion()
384 public void llStopLookAt() { NotImplemented("llStopLookAt"); } 739 {
740 NotImplemented("llMakeExplosion");
741 }
742
743 public void llMakeFountain()
744 {
745 NotImplemented("llMakeFountain");
746 }
747
748 public void llMakeSmoke()
749 {
750 NotImplemented("llMakeSmoke");
751 }
752
753 public void llMakeFire()
754 {
755 NotImplemented("llMakeFire");
756 }
757
758 public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Quaternion rot, int param)
759 {
760 NotImplemented("llRezObject");
761 }
762
763 public void llLookAt(LSL_Types.Vector3 target, double strength, double damping)
764 {
765 NotImplemented("llLookAt");
766 }
767
768 public void llStopLookAt()
769 {
770 NotImplemented("llStopLookAt");
771 }
385 772
386 public void llSetTimerEvent(double sec) 773 public void llSetTimerEvent(double sec)
387 { 774 {
@@ -391,38 +778,104 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
391 778
392 public void llSleep(double sec) 779 public void llSleep(double sec)
393 { 780 {
394 System.Threading.Thread.Sleep((int)(sec * 1000)); 781 Thread.Sleep((int) (sec*1000));
782 }
783
784 public double llGetMass()
785 {
786 NotImplemented("llGetMass");
787 return 0;
788 }
789
790 public void llCollisionFilter(string name, string id, int accept)
791 {
792 NotImplemented("llCollisionFilter");
793 }
794
795 public void llTakeControls(int controls, int accept, int pass_on)
796 {
797 NotImplemented("llTakeControls");
798 }
799
800 public void llReleaseControls()
801 {
802 NotImplemented("llReleaseControls");
803 }
804
805 public void llAttachToAvatar(int attachment)
806 {
807 NotImplemented("llAttachToAvatar");
395 } 808 }
396 809
397 public double llGetMass() { NotImplemented("llGetMass"); return 0; } 810 public void llDetachFromAvatar()
398 public void llCollisionFilter(string name, string id, int accept) { NotImplemented("llCollisionFilter"); } 811 {
399 public void llTakeControls(int controls, int accept, int pass_on) { NotImplemented("llTakeControls"); } 812 NotImplemented("llDetachFromAvatar");
400 public void llReleaseControls() { NotImplemented("llReleaseControls"); } 813 }
401 public void llAttachToAvatar(int attachment) { NotImplemented("llAttachToAvatar"); } 814
402 public void llDetachFromAvatar() { NotImplemented("llDetachFromAvatar"); } 815 public void llTakeCamera()
403 public void llTakeCamera() { NotImplemented("llTakeCamera"); } 816 {
404 public void llReleaseCamera() { NotImplemented("llReleaseCamera"); } 817 NotImplemented("llTakeCamera");
818 }
819
820 public void llReleaseCamera()
821 {
822 NotImplemented("llReleaseCamera");
823 }
405 824
406 public string llGetOwner() 825 public string llGetOwner()
407 { 826 {
408 return m_host.ObjectOwner.ToStringHyphenated(); 827 return m_host.ObjectOwner.ToStringHyphenated();
409 } 828 }
410 829
411 public void llInstantMessage(string user, string message) { NotImplemented("llInstantMessage"); } 830 public void llInstantMessage(string user, string message)
412 public void llEmail(string address, string subject, string message) { NotImplemented("llEmail"); } 831 {
413 public void llGetNextEmail(string address, string subject) { NotImplemented("llGetNextEmail"); } 832 NotImplemented("llInstantMessage");
833 }
834
835 public void llEmail(string address, string subject, string message)
836 {
837 NotImplemented("llEmail");
838 }
839
840 public void llGetNextEmail(string address, string subject)
841 {
842 NotImplemented("llGetNextEmail");
843 }
414 844
415 public string llGetKey() 845 public string llGetKey()
416 { 846 {
417 return m_host.UUID.ToStringHyphenated(); 847 return m_host.UUID.ToStringHyphenated();
418 } 848 }
419 849
420 public void llSetBuoyancy(double buoyancy) { NotImplemented("llSetBuoyancy"); } 850 public void llSetBuoyancy(double buoyancy)
421 public void llSetHoverHeight(double height, int water, double tau) { NotImplemented("llSetHoverHeight"); } 851 {
422 public void llStopHover() { NotImplemented("llStopHover"); } 852 NotImplemented("llSetBuoyancy");
423 public void llMinEventDelay(double delay) { NotImplemented("llMinEventDelay"); } 853 }
424 public void llSoundPreload() { NotImplemented("llSoundPreload"); } 854
425 public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) { NotImplemented("llRotLookAt"); } 855 public void llSetHoverHeight(double height, int water, double tau)
856 {
857 NotImplemented("llSetHoverHeight");
858 }
859
860 public void llStopHover()
861 {
862 NotImplemented("llStopHover");
863 }
864
865 public void llMinEventDelay(double delay)
866 {
867 NotImplemented("llMinEventDelay");
868 }
869
870 public void llSoundPreload()
871 {
872 NotImplemented("llSoundPreload");
873 }
874
875 public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping)
876 {
877 NotImplemented("llRotLookAt");
878 }
426 879
427 public int llStringLength(string str) 880 public int llStringLength(string str)
428 { 881 {
@@ -436,88 +889,289 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
436 } 889 }
437 } 890 }
438 891
439 public void llStartAnimation(string anim) { NotImplemented("llStartAnimation"); } 892 public void llStartAnimation(string anim)
440 public void llStopAnimation(string anim) { NotImplemented("llStopAnimation"); } 893 {
441 public void llPointAt() { NotImplemented("llPointAt"); } 894 NotImplemented("llStartAnimation");
442 public void llStopPointAt() { NotImplemented("llStopPointAt"); } 895 }
443 public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) { NotImplemented("llTargetOmega"); } 896
444 public int llGetStartParameter() { NotImplemented("llGetStartParameter"); return 0; } 897 public void llStopAnimation(string anim)
445 public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) { NotImplemented("llGodLikeRezObject"); } 898 {
446 public void llRequestPermissions(string agent, int perm) { NotImplemented("llRequestPermissions"); } 899 NotImplemented("llStopAnimation");
447 public string llGetPermissionsKey() { NotImplemented("llGetPermissionsKey"); return ""; } 900 }
448 public int llGetPermissions() { NotImplemented("llGetPermissions"); return 0; } 901
449 public int llGetLinkNumber() { NotImplemented("llGetLinkNumber"); return 0; } 902 public void llPointAt()
450 public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) { NotImplemented("llSetLinkColor"); } 903 {
451 public void llCreateLink(string target, int parent) { NotImplemented("llCreateLink"); } 904 NotImplemented("llPointAt");
452 public void llBreakLink(int linknum) { NotImplemented("llBreakLink"); } 905 }
453 public void llBreakAllLinks() { NotImplemented("llBreakAllLinks"); } 906
454 public string llGetLinkKey(int linknum) { NotImplemented("llGetLinkKey"); return ""; } 907 public void llStopPointAt()
455 public void llGetLinkName(int linknum) { NotImplemented("llGetLinkName"); } 908 {
456 public int llGetInventoryNumber(int type) { NotImplemented("llGetInventoryNumber"); return 0; } 909 NotImplemented("llStopPointAt");
457 public string llGetInventoryName(int type, int number) { NotImplemented("llGetInventoryName"); return ""; } 910 }
458 public void llSetScriptState(string name, int run) { NotImplemented("llSetScriptState"); } 911
459 public double llGetEnergy() { return 1.0f; } 912 public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain)
460 public void llGiveInventory(string destination, string inventory) { NotImplemented("llGiveInventory"); } 913 {
461 public void llRemoveInventory(string item) { NotImplemented("llRemoveInventory"); } 914 NotImplemented("llTargetOmega");
915 }
916
917 public int llGetStartParameter()
918 {
919 NotImplemented("llGetStartParameter");
920 return 0;
921 }
922
923 public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos)
924 {
925 NotImplemented("llGodLikeRezObject");
926 }
927
928 public void llRequestPermissions(string agent, int perm)
929 {
930 NotImplemented("llRequestPermissions");
931 }
932
933 public string llGetPermissionsKey()
934 {
935 NotImplemented("llGetPermissionsKey");
936 return "";
937 }
938
939 public int llGetPermissions()
940 {
941 NotImplemented("llGetPermissions");
942 return 0;
943 }
944
945 public int llGetLinkNumber()
946 {
947 NotImplemented("llGetLinkNumber");
948 return 0;
949 }
950
951 public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face)
952 {
953 NotImplemented("llSetLinkColor");
954 }
955
956 public void llCreateLink(string target, int parent)
957 {
958 NotImplemented("llCreateLink");
959 }
960
961 public void llBreakLink(int linknum)
962 {
963 NotImplemented("llBreakLink");
964 }
965
966 public void llBreakAllLinks()
967 {
968 NotImplemented("llBreakAllLinks");
969 }
970
971 public string llGetLinkKey(int linknum)
972 {
973 NotImplemented("llGetLinkKey");
974 return "";
975 }
976
977 public void llGetLinkName(int linknum)
978 {
979 NotImplemented("llGetLinkName");
980 }
981
982 public int llGetInventoryNumber(int type)
983 {
984 NotImplemented("llGetInventoryNumber");
985 return 0;
986 }
987
988 public string llGetInventoryName(int type, int number)
989 {
990 NotImplemented("llGetInventoryName");
991 return "";
992 }
993
994 public void llSetScriptState(string name, int run)
995 {
996 NotImplemented("llSetScriptState");
997 }
998
999 public double llGetEnergy()
1000 {
1001 return 1.0f;
1002 }
1003
1004 public void llGiveInventory(string destination, string inventory)
1005 {
1006 NotImplemented("llGiveInventory");
1007 }
1008
1009 public void llRemoveInventory(string item)
1010 {
1011 NotImplemented("llRemoveInventory");
1012 }
462 1013
463 public void llSetText(string text, LSL_Types.Vector3 color, double alpha) 1014 public void llSetText(string text, LSL_Types.Vector3 color, double alpha)
464 { 1015 {
465 Axiom.Math.Vector3 av3 = new Axiom.Math.Vector3((float)color.X, (float)color.Y, (float)color.Z); 1016 Vector3 av3 = new Vector3((float) color.X, (float) color.Y, (float) color.Z);
466 m_host.SetText(text, av3, alpha); 1017 m_host.SetText(text, av3, alpha);
467 } 1018 }
468 1019
469 1020
470 public double llWater(LSL_Types.Vector3 offset) { NotImplemented("llWater"); return 0; } 1021 public double llWater(LSL_Types.Vector3 offset)
471 public void llPassTouches(int pass) { NotImplemented("llPassTouches"); } 1022 {
472 public string llRequestAgentData(string id, int data) { NotImplemented("llRequestAgentData"); return ""; } 1023 NotImplemented("llWater");
473 public string llRequestInventoryData(string name) { NotImplemented("llRequestInventoryData"); return ""; } 1024 return 0;
474 public void llSetDamage(double damage) { NotImplemented("llSetDamage"); } 1025 }
475 public void llTeleportAgentHome(string agent) { NotImplemented("llTeleportAgentHome"); } 1026
476 public void llModifyLand(int action, int brush) { } 1027 public void llPassTouches(int pass)
477 public void llCollisionSound(string impact_sound, double impact_volume) { NotImplemented("llCollisionSound"); } 1028 {
478 public void llCollisionSprite(string impact_sprite) { NotImplemented("llCollisionSprite"); } 1029 NotImplemented("llPassTouches");
479 public string llGetAnimation(string id) { NotImplemented("llGetAnimation"); return ""; } 1030 }
480 public void llResetScript() 1031
1032 public string llRequestAgentData(string id, int data)
1033 {
1034 NotImplemented("llRequestAgentData");
1035 return "";
1036 }
1037
1038 public string llRequestInventoryData(string name)
1039 {
1040 NotImplemented("llRequestInventoryData");
1041 return "";
1042 }
1043
1044 public void llSetDamage(double damage)
1045 {
1046 NotImplemented("llSetDamage");
1047 }
1048
1049 public void llTeleportAgentHome(string agent)
1050 {
1051 NotImplemented("llTeleportAgentHome");
1052 }
1053
1054 public void llModifyLand(int action, int brush)
1055 {
1056 }
1057
1058 public void llCollisionSound(string impact_sound, double impact_volume)
1059 {
1060 NotImplemented("llCollisionSound");
1061 }
1062
1063 public void llCollisionSprite(string impact_sprite)
1064 {
1065 NotImplemented("llCollisionSprite");
1066 }
1067
1068 public string llGetAnimation(string id)
1069 {
1070 NotImplemented("llGetAnimation");
1071 return "";
1072 }
1073
1074 public void llResetScript()
481 { 1075 {
482 m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID); 1076 m_ScriptEngine.m_ScriptManager.ResetScript(m_localID, m_itemID);
483 } 1077 }
484 public void llMessageLinked(int linknum, int num, string str, string id) { }
485 public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) { }
486 public void llPassCollisions(int pass) { }
487 public string llGetScriptName() { return ""; }
488 1078
489 public int llGetNumberOfSides() { return 0; } 1079 public void llMessageLinked(int linknum, int num, string str, string id)
1080 {
1081 }
490 1082
491 public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) { return new LSL_Types.Quaternion(); } 1083 public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local)
492 public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) { return new LSL_Types.Vector3(); } 1084 {
493 public void llRot2Angle() { } 1085 }
1086
1087 public void llPassCollisions(int pass)
1088 {
1089 }
1090
1091 public string llGetScriptName()
1092 {
1093 return "";
1094 }
1095
1096 public int llGetNumberOfSides()
1097 {
1098 return 0;
1099 }
1100
1101 public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle)
1102 {
1103 return new LSL_Types.Quaternion();
1104 }
1105
1106 public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot)
1107 {
1108 return new LSL_Types.Vector3();
1109 }
1110
1111 public void llRot2Angle()
1112 {
1113 }
494 1114
495 public double llAcos(double val) 1115 public double llAcos(double val)
496 { 1116 {
497 return (double)Math.Acos(val); 1117 return (double) Math.Acos(val);
498 } 1118 }
499 1119
500 public double llAsin(double val) 1120 public double llAsin(double val)
501 { 1121 {
502 return (double)Math.Asin(val); 1122 return (double) Math.Asin(val);
503 } 1123 }
504 1124
505 public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) { return 0; } 1125 public double llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b)
506 public string llGetInventoryKey(string name) { return ""; } 1126 {
507 public void llAllowInventoryDrop(int add) { } 1127 return 0;
508 public LSL_Types.Vector3 llGetSunDirection() { return new LSL_Types.Vector3(); } 1128 }
509 public LSL_Types.Vector3 llGetTextureOffset(int face) { return new LSL_Types.Vector3(); } 1129
510 public LSL_Types.Vector3 llGetTextureScale(int side) { return new LSL_Types.Vector3(); } 1130 public string llGetInventoryKey(string name)
511 public double llGetTextureRot(int side) { return 0; } 1131 {
1132 return "";
1133 }
1134
1135 public void llAllowInventoryDrop(int add)
1136 {
1137 }
1138
1139 public LSL_Types.Vector3 llGetSunDirection()
1140 {
1141 return new LSL_Types.Vector3();
1142 }
1143
1144 public LSL_Types.Vector3 llGetTextureOffset(int face)
1145 {
1146 return new LSL_Types.Vector3();
1147 }
1148
1149 public LSL_Types.Vector3 llGetTextureScale(int side)
1150 {
1151 return new LSL_Types.Vector3();
1152 }
1153
1154 public double llGetTextureRot(int side)
1155 {
1156 return 0;
1157 }
512 1158
513 public int llSubStringIndex(string source, string pattern) 1159 public int llSubStringIndex(string source, string pattern)
514 { 1160 {
515 return source.IndexOf(pattern); 1161 return source.IndexOf(pattern);
516 } 1162 }
517 1163
518 public string llGetOwnerKey(string id) { NotImplemented("llGetOwnerKey"); return ""; } 1164 public string llGetOwnerKey(string id)
1165 {
1166 NotImplemented("llGetOwnerKey");
1167 return "";
1168 }
519 1169
520 public LSL_Types.Vector3 llGetCenterOfMass() { NotImplemented("llGetCenterOfMass"); return new LSL_Types.Vector3(); } 1170 public LSL_Types.Vector3 llGetCenterOfMass()
1171 {
1172 NotImplemented("llGetCenterOfMass");
1173 return new LSL_Types.Vector3();
1174 }
521 1175
522 public List<string> llListSort(List<string> src, int stride, int ascending) 1176 public List<string> llListSort(List<string> src, int stride, int ascending)
523 { 1177 {
@@ -551,7 +1205,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
551 ret.AddRange(ls); 1205 ret.AddRange(ls);
552 } 1206 }
553 1207
554 if (ascending == LSL.LSL_BaseClass.TRUE) 1208 if (ascending == LSL_BaseClass.TRUE)
555 return ret; 1209 return ret;
556 ret.Reverse(); 1210 ret.Reverse();
557 return ret; 1211 return ret;
@@ -590,12 +1244,18 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
590 1244
591 public LSL_Types.Vector3 llList2Vector(List<string> src, int index) 1245 public LSL_Types.Vector3 llList2Vector(List<string> src, int index)
592 { 1246 {
593 return new LSL_Types.Vector3(double.Parse(src[index]), double.Parse(src[index + 1]), double.Parse(src[index + 2])); 1247 return
1248 new LSL_Types.Vector3(double.Parse(src[index]), double.Parse(src[index + 1]),
1249 double.Parse(src[index + 2]));
594 } 1250 }
1251
595 public LSL_Types.Quaternion llList2Rot(List<string> src, int index) 1252 public LSL_Types.Quaternion llList2Rot(List<string> src, int index)
596 { 1253 {
597 return new LSL_Types.Quaternion(double.Parse(src[index]), double.Parse(src[index + 1]), double.Parse(src[index + 2]), double.Parse(src[index + 3])); 1254 return
1255 new LSL_Types.Quaternion(double.Parse(src[index]), double.Parse(src[index + 1]),
1256 double.Parse(src[index + 2]), double.Parse(src[index + 3]));
598 } 1257 }
1258
599 public List<string> llList2List(List<string> src, int start, int end) 1259 public List<string> llList2List(List<string> src, int start, int end)
600 { 1260 {
601 if (end > start) 1261 if (end > start)
@@ -612,18 +1272,21 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
612 ret.AddRange(src.GetRange(0, end)); 1272 ret.AddRange(src.GetRange(0, end));
613 return ret; 1273 return ret;
614 } 1274 }
615
616
617
618
619 } 1275 }
1276
620 public List<string> llDeleteSubList(List<string> src, int start, int end) 1277 public List<string> llDeleteSubList(List<string> src, int start, int end)
621 { 1278 {
622 List<string> ret = new List<string>(src); 1279 List<string> ret = new List<string>(src);
623 ret.RemoveRange(start, end - start); 1280 ret.RemoveRange(start, end - start);
624 return ret; 1281 return ret;
625 } 1282 }
626 public int llGetListEntryType(List<string> src, int index) { NotImplemented("llGetListEntryType"); return 0; } 1283
1284 public int llGetListEntryType(List<string> src, int index)
1285 {
1286 NotImplemented("llGetListEntryType");
1287 return 0;
1288 }
1289
627 public string llList2CSV(List<string> src) 1290 public string llList2CSV(List<string> src)
628 { 1291 {
629 string ret = ""; 1292 string ret = "";
@@ -635,6 +1298,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
635 } 1298 }
636 return ret; 1299 return ret;
637 } 1300 }
1301
638 public List<string> llCSV2List(string src) 1302 public List<string> llCSV2List(string src)
639 { 1303 {
640 List<string> ret = new List<string>(); 1304 List<string> ret = new List<string>();
@@ -644,6 +1308,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
644 } 1308 }
645 return ret; 1309 return ret;
646 } 1310 }
1311
647 public List<string> llListRandomize(List<string> src, int stride) 1312 public List<string> llListRandomize(List<string> src, int stride)
648 { 1313 {
649 int s = stride; 1314 int s = stride;
@@ -685,9 +1350,8 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
685 } 1350 }
686 1351
687 return ret; 1352 return ret;
688
689
690 } 1353 }
1354
691 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride) 1355 public List<string> llList2ListStrided(List<string> src, int start, int end, int stride)
692 { 1356 {
693 List<string> ret = new List<string>(); 1357 List<string> ret = new List<string>();
@@ -713,12 +1377,11 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
713 1377
714 public LSL_Types.Vector3 llGetRegionCorner() 1378 public LSL_Types.Vector3 llGetRegionCorner()
715 { 1379 {
716 return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * 256, World.RegionInfo.RegionLocY * 256, 0); 1380 return new LSL_Types.Vector3(World.RegionInfo.RegionLocX*256, World.RegionInfo.RegionLocY*256, 0);
717 } 1381 }
718 1382
719 public List<string> llListInsertList(List<string> dest, List<string> src, int start) 1383 public List<string> llListInsertList(List<string> dest, List<string> src, int start)
720 { 1384 {
721
722 List<string> ret = new List<string>(dest); 1385 List<string> ret = new List<string>(dest);
723 //foreach (string s in src.Reverse()) 1386 //foreach (string s in src.Reverse())
724 for (int ci = src.Count - 1; ci > -1; ci--) 1387 for (int ci = src.Count - 1; ci > -1; ci--)
@@ -727,13 +1390,13 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
727 } 1390 }
728 return ret; 1391 return ret;
729 } 1392 }
1393
730 public int llListFindList(List<string> src, List<string> test) 1394 public int llListFindList(List<string> src, List<string> test)
731 { 1395 {
732 foreach (string s in test) 1396 foreach (string s in test)
733 { 1397 {
734 for (int ci = 0; ci < src.Count; ci++) 1398 for (int ci = 0; ci < src.Count; ci++)
735 { 1399 {
736
737 if (s == src[ci]) 1400 if (s == src[ci])
738 return ci; 1401 return ci;
739 } 1402 }
@@ -758,37 +1421,139 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
758 return result; 1421 return result;
759 } 1422 }
760 1423
761 public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) { NotImplemented("llEdgeOfWorld"); return 0; } 1424 public int llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir)
762 public int llGetAgentInfo(string id) { NotImplemented("llGetAgentInfo"); return 0; } 1425 {
763 public void llAdjustSoundVolume(double volume) { NotImplemented("llAdjustSoundVolume"); } 1426 NotImplemented("llEdgeOfWorld");
764 public void llSetSoundQueueing(int queue) { NotImplemented("llSetSoundQueueing"); } 1427 return 0;
765 public void llSetSoundRadius(double radius) { NotImplemented("llSetSoundRadius"); } 1428 }
766 public string llKey2Name(string id) { NotImplemented("llKey2Name"); return ""; } 1429
767 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate) { NotImplemented("llSetTextureAnim"); } 1430 public int llGetAgentInfo(string id)
768 public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, LSL_Types.Vector3 bottom_south_west) { NotImplemented("llTriggerSoundLimited"); } 1431 {
769 public void llEjectFromLand(string pest) { NotImplemented("llEjectFromLand"); } 1432 NotImplemented("llGetAgentInfo");
770 1433 return 0;
771 public void llParseString2List() { NotImplemented("llParseString2List"); } 1434 }
772 1435
773 public int llOverMyLand(string id) { NotImplemented("llOverMyLand"); return 0; } 1436 public void llAdjustSoundVolume(double volume)
774 public string llGetLandOwnerAt(LSL_Types.Vector3 pos) { NotImplemented("llGetLandOwnerAt"); return ""; } 1437 {
775 public string llGetNotecardLine(string name, int line) { NotImplemented("llGetNotecardLine"); return ""; } 1438 NotImplemented("llAdjustSoundVolume");
776 public LSL_Types.Vector3 llGetAgentSize(string id) { NotImplemented("llGetAgentSize"); return new LSL_Types.Vector3(); } 1439 }
777 public int llSameGroup(string agent) { NotImplemented("llSameGroup"); return 0; } 1440
778 public void llUnSit(string id) { NotImplemented("llUnSit"); } 1441 public void llSetSoundQueueing(int queue)
779 public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) { NotImplemented("llGroundSlope"); return new LSL_Types.Vector3(); } 1442 {
780 public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) { NotImplemented("llGroundNormal"); return new LSL_Types.Vector3(); } 1443 NotImplemented("llSetSoundQueueing");
781 public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) { NotImplemented("llGroundContour"); return new LSL_Types.Vector3(); } 1444 }
782 public int llGetAttached() { NotImplemented("llGetAttached"); return 0; } 1445
783 public int llGetFreeMemory() { NotImplemented("llGetFreeMemory"); return 0; } 1446 public void llSetSoundRadius(double radius)
1447 {
1448 NotImplemented("llSetSoundRadius");
1449 }
1450
1451 public string llKey2Name(string id)
1452 {
1453 NotImplemented("llKey2Name");
1454 return "";
1455 }
1456
1457 public void llSetTextureAnim(int mode, int face, int sizex, int sizey, double start, double length, double rate)
1458 {
1459 NotImplemented("llSetTextureAnim");
1460 }
1461
1462 public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east,
1463 LSL_Types.Vector3 bottom_south_west)
1464 {
1465 NotImplemented("llTriggerSoundLimited");
1466 }
1467
1468 public void llEjectFromLand(string pest)
1469 {
1470 NotImplemented("llEjectFromLand");
1471 }
1472
1473 public void llParseString2List()
1474 {
1475 NotImplemented("llParseString2List");
1476 }
1477
1478 public int llOverMyLand(string id)
1479 {
1480 NotImplemented("llOverMyLand");
1481 return 0;
1482 }
1483
1484 public string llGetLandOwnerAt(LSL_Types.Vector3 pos)
1485 {
1486 NotImplemented("llGetLandOwnerAt");
1487 return "";
1488 }
1489
1490 public string llGetNotecardLine(string name, int line)
1491 {
1492 NotImplemented("llGetNotecardLine");
1493 return "";
1494 }
1495
1496 public LSL_Types.Vector3 llGetAgentSize(string id)
1497 {
1498 NotImplemented("llGetAgentSize");
1499 return new LSL_Types.Vector3();
1500 }
1501
1502 public int llSameGroup(string agent)
1503 {
1504 NotImplemented("llSameGroup");
1505 return 0;
1506 }
1507
1508 public void llUnSit(string id)
1509 {
1510 NotImplemented("llUnSit");
1511 }
1512
1513 public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset)
1514 {
1515 NotImplemented("llGroundSlope");
1516 return new LSL_Types.Vector3();
1517 }
1518
1519 public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset)
1520 {
1521 NotImplemented("llGroundNormal");
1522 return new LSL_Types.Vector3();
1523 }
1524
1525 public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset)
1526 {
1527 NotImplemented("llGroundContour");
1528 return new LSL_Types.Vector3();
1529 }
1530
1531 public int llGetAttached()
1532 {
1533 NotImplemented("llGetAttached");
1534 return 0;
1535 }
1536
1537 public int llGetFreeMemory()
1538 {
1539 NotImplemented("llGetFreeMemory");
1540 return 0;
1541 }
784 1542
785 public string llGetRegionName() 1543 public string llGetRegionName()
786 { 1544 {
787 return World.RegionInfo.RegionName; 1545 return World.RegionInfo.RegionName;
788 } 1546 }
789 1547
790 public double llGetRegionTimeDilation() { return 1.0f; } 1548 public double llGetRegionTimeDilation()
791 public double llGetRegionFPS() { return 10.0f; } 1549 {
1550 return 1.0f;
1551 }
1552
1553 public double llGetRegionFPS()
1554 {
1555 return 10.0f;
1556 }
792 1557
793 /* particle system rules should be coming into this routine as doubles, that is 1558 /* particle system rules should be coming into this routine as doubles, that is
794 rule[0] should be an integer from this list and rule[1] should be the arg 1559 rule[0] should be an integer from this list and rule[1] should be the arg
@@ -798,6 +1563,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
798 We iterate through the list for 'Count' elements, incrementing by two for each 1563 We iterate through the list for 'Count' elements, incrementing by two for each
799 iteration and set the members of Primitive.ParticleSystem, one at a time. 1564 iteration and set the members of Primitive.ParticleSystem, one at a time.
800 */ 1565 */
1566
801 public enum PrimitiveRule : int 1567 public enum PrimitiveRule : int
802 { 1568 {
803 PSYS_PART_FLAGS = 0, 1569 PSYS_PART_FLAGS = 0,
@@ -828,109 +1594,152 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
828 Primitive.ParticleSystem prules = new Primitive.ParticleSystem(); 1594 Primitive.ParticleSystem prules = new Primitive.ParticleSystem();
829 for (int i = 0; i < rules.Count; i += 2) 1595 for (int i = 0; i < rules.Count; i += 2)
830 { 1596 {
831 switch ((int)rules[i]) 1597 switch ((int) rules[i])
832 { 1598 {
833 case (int)PrimitiveRule.PSYS_PART_FLAGS: 1599 case (int) PrimitiveRule.PSYS_PART_FLAGS:
834 prules.PartFlags = (uint)rules[i + 1]; 1600 prules.PartFlags = (uint) rules[i + 1];
835 break; 1601 break;
836 1602
837 case (int)PrimitiveRule.PSYS_PART_START_COLOR: 1603 case (int) PrimitiveRule.PSYS_PART_START_COLOR:
838 prules.PartStartColor = (LLColor)rules[i + 1]; 1604 prules.PartStartColor = (LLColor) rules[i + 1];
839 break; 1605 break;
840 1606
841 case (int)PrimitiveRule.PSYS_PART_START_ALPHA: 1607 case (int) PrimitiveRule.PSYS_PART_START_ALPHA:
842 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1608 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
843 break; 1609 break;
844 1610
845 case (int)PrimitiveRule.PSYS_PART_END_COLOR: 1611 case (int) PrimitiveRule.PSYS_PART_END_COLOR:
846 prules.PartEndColor = (LLColor)rules[i + 1]; 1612 prules.PartEndColor = (LLColor) rules[i + 1];
847 break; 1613 break;
848 1614
849 case (int)PrimitiveRule.PSYS_PART_END_ALPHA: 1615 case (int) PrimitiveRule.PSYS_PART_END_ALPHA:
850 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1616 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
851 break; 1617 break;
852 1618
853 case (int)PrimitiveRule.PSYS_PART_START_SCALE: 1619 case (int) PrimitiveRule.PSYS_PART_START_SCALE:
854 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1620 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
855 break; 1621 break;
856 1622
857 case (int)PrimitiveRule.PSYS_PART_END_SCALE: 1623 case (int) PrimitiveRule.PSYS_PART_END_SCALE:
858 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1624 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
859 break; 1625 break;
860 1626
861 case (int)PrimitiveRule.PSYS_PART_MAX_AGE: 1627 case (int) PrimitiveRule.PSYS_PART_MAX_AGE:
862 prules.MaxAge = (float)rules[i + 1]; 1628 prules.MaxAge = (float) rules[i + 1];
863 break; 1629 break;
864 1630
865 case (int)PrimitiveRule.PSYS_SRC_ACCEL: 1631 case (int) PrimitiveRule.PSYS_SRC_ACCEL:
866 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1632 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
867 break; 1633 break;
868 1634
869 case (int)PrimitiveRule.PSYS_SRC_PATTERN: 1635 case (int) PrimitiveRule.PSYS_SRC_PATTERN:
870 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1]; 1636 //what is the cast? prules.PartStartColor = (LLColor)rules[i + 1];
871 break; 1637 break;
872 1638
873 case (int)PrimitiveRule.PSYS_SRC_TEXTURE: 1639 case (int) PrimitiveRule.PSYS_SRC_TEXTURE:
874 prules.Texture = (LLUUID)rules[i + 1]; 1640 prules.Texture = (LLUUID) rules[i + 1];
875 break; 1641 break;
876 1642
877 case (int)PrimitiveRule.PSYS_SRC_BURST_RATE: 1643 case (int) PrimitiveRule.PSYS_SRC_BURST_RATE:
878 prules.BurstRate = (float)rules[i + 1]; 1644 prules.BurstRate = (float) rules[i + 1];
879 break; 1645 break;
880 1646
881 case (int)PrimitiveRule.PSYS_SRC_BURST_PART_COUNT: 1647 case (int) PrimitiveRule.PSYS_SRC_BURST_PART_COUNT:
882 prules.BurstPartCount = (byte)rules[i + 1]; 1648 prules.BurstPartCount = (byte) rules[i + 1];
883 break; 1649 break;
884 1650
885 case (int)PrimitiveRule.PSYS_SRC_BURST_RADIUS: 1651 case (int) PrimitiveRule.PSYS_SRC_BURST_RADIUS:
886 prules.BurstRadius = (float)rules[i + 1]; 1652 prules.BurstRadius = (float) rules[i + 1];
887 break; 1653 break;
888 1654
889 case (int)PrimitiveRule.PSYS_SRC_BURST_SPEED_MIN: 1655 case (int) PrimitiveRule.PSYS_SRC_BURST_SPEED_MIN:
890 prules.BurstSpeedMin = (float)rules[i + 1]; 1656 prules.BurstSpeedMin = (float) rules[i + 1];
891 break; 1657 break;
892 1658
893 case (int)PrimitiveRule.PSYS_SRC_BURST_SPEED_MAX: 1659 case (int) PrimitiveRule.PSYS_SRC_BURST_SPEED_MAX:
894 prules.BurstSpeedMax = (float)rules[i + 1]; 1660 prules.BurstSpeedMax = (float) rules[i + 1];
895 break; 1661 break;
896 1662
897 case (int)PrimitiveRule.PSYS_SRC_MAX_AGE: 1663 case (int) PrimitiveRule.PSYS_SRC_MAX_AGE:
898 prules.MaxAge = (float)rules[i + 1]; 1664 prules.MaxAge = (float) rules[i + 1];
899 break; 1665 break;
900 1666
901 case (int)PrimitiveRule.PSYS_SRC_TARGET_KEY: 1667 case (int) PrimitiveRule.PSYS_SRC_TARGET_KEY:
902 prules.Target = (LLUUID)rules[i + 1]; 1668 prules.Target = (LLUUID) rules[i + 1];
903 break; 1669 break;
904 1670
905 case (int)PrimitiveRule.PSYS_SRC_OMEGA: 1671 case (int) PrimitiveRule.PSYS_SRC_OMEGA:
906 //cast?? prules.MaxAge = (float)rules[i + 1]; 1672 //cast?? prules.MaxAge = (float)rules[i + 1];
907 break; 1673 break;
908 1674
909 case (int)PrimitiveRule.PSYS_SRC_ANGLE_BEGIN: 1675 case (int) PrimitiveRule.PSYS_SRC_ANGLE_BEGIN:
910 prules.InnerAngle = (float)rules[i + 1]; 1676 prules.InnerAngle = (float) rules[i + 1];
911 break; 1677 break;
912 1678
913 case (int)PrimitiveRule.PSYS_SRC_ANGLE_END: 1679 case (int) PrimitiveRule.PSYS_SRC_ANGLE_END:
914 prules.OuterAngle = (float)rules[i + 1]; 1680 prules.OuterAngle = (float) rules[i + 1];
915 break; 1681 break;
916
917 } 1682 }
918 } 1683 }
919 1684
920 m_host.AddNewParticleSystem(prules); 1685 m_host.AddNewParticleSystem(prules);
921 } 1686 }
922 1687
923 public void llGroundRepel(double height, int water, double tau) { NotImplemented("llGroundRepel"); } 1688 public void llGroundRepel(double height, int water, double tau)
924 public void llGiveInventoryList() { NotImplemented("llGiveInventoryList"); } 1689 {
925 public void llSetVehicleType(int type) { NotImplemented("llSetVehicleType"); } 1690 NotImplemented("llGroundRepel");
926 public void llSetVehicledoubleParam(int param, double value) { NotImplemented("llSetVehicledoubleParam"); } 1691 }
927 public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) { NotImplemented("llSetVehicleVectorParam"); } 1692
928 public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) { NotImplemented("llSetVehicleRotationParam"); } 1693 public void llGiveInventoryList()
929 public void llSetVehicleFlags(int flags) { NotImplemented("llSetVehicleFlags"); } 1694 {
930 public void llRemoveVehicleFlags(int flags) { NotImplemented("llRemoveVehicleFlags"); } 1695 NotImplemented("llGiveInventoryList");
931 public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) { NotImplemented("llSitTarget"); } 1696 }
932 public string llAvatarOnSitTarget() { NotImplemented("llAvatarOnSitTarget"); return ""; } 1697
933 public void llAddToLandPassList(string avatar, double hours) { NotImplemented("llAddToLandPassList"); } 1698 public void llSetVehicleType(int type)
1699 {
1700 NotImplemented("llSetVehicleType");
1701 }
1702
1703 public void llSetVehicledoubleParam(int param, double value)
1704 {
1705 NotImplemented("llSetVehicledoubleParam");
1706 }
1707
1708 public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec)
1709 {
1710 NotImplemented("llSetVehicleVectorParam");
1711 }
1712
1713 public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot)
1714 {
1715 NotImplemented("llSetVehicleRotationParam");
1716 }
1717
1718 public void llSetVehicleFlags(int flags)
1719 {
1720 NotImplemented("llSetVehicleFlags");
1721 }
1722
1723 public void llRemoveVehicleFlags(int flags)
1724 {
1725 NotImplemented("llRemoveVehicleFlags");
1726 }
1727
1728 public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot)
1729 {
1730 NotImplemented("llSitTarget");
1731 }
1732
1733 public string llAvatarOnSitTarget()
1734 {
1735 NotImplemented("llAvatarOnSitTarget");
1736 return "";
1737 }
1738
1739 public void llAddToLandPassList(string avatar, double hours)
1740 {
1741 NotImplemented("llAddToLandPassList");
1742 }
934 1743
935 public void llSetTouchText(string text) 1744 public void llSetTouchText(string text)
936 { 1745 {
@@ -942,37 +1751,99 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
942 m_host.SitName = text; 1751 m_host.SitName = text;
943 } 1752 }
944 1753
945 public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) { NotImplemented("llSetCameraEyeOffset"); } 1754 public void llSetCameraEyeOffset(LSL_Types.Vector3 offset)
946 public void llSetCameraAtOffset(LSL_Types.Vector3 offset) { NotImplemented("llSetCameraAtOffset"); } 1755 {
947 public void llDumpList2String() { NotImplemented("llDumpList2String"); } 1756 NotImplemented("llSetCameraEyeOffset");
948 public void llScriptDanger(LSL_Types.Vector3 pos) { NotImplemented("llScriptDanger"); } 1757 }
949 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel) { NotImplemented("llDialog"); }
950 public void llVolumeDetect(int detect) { NotImplemented("llVolumeDetect"); }
951 public void llResetOtherScript(string name) { NotImplemented("llResetOtherScript"); }
952 1758
953 public int llGetScriptState(string name) { NotImplemented("llGetScriptState"); return 0; } 1759 public void llSetCameraAtOffset(LSL_Types.Vector3 offset)
1760 {
1761 NotImplemented("llSetCameraAtOffset");
1762 }
1763
1764 public void llDumpList2String()
1765 {
1766 NotImplemented("llDumpList2String");
1767 }
1768
1769 public void llScriptDanger(LSL_Types.Vector3 pos)
1770 {
1771 NotImplemented("llScriptDanger");
1772 }
1773
1774 public void llDialog(string avatar, string message, List<string> buttons, int chat_channel)
1775 {
1776 NotImplemented("llDialog");
1777 }
1778
1779 public void llVolumeDetect(int detect)
1780 {
1781 NotImplemented("llVolumeDetect");
1782 }
1783
1784 public void llResetOtherScript(string name)
1785 {
1786 NotImplemented("llResetOtherScript");
1787 }
1788
1789 public int llGetScriptState(string name)
1790 {
1791 NotImplemented("llGetScriptState");
1792 return 0;
1793 }
1794
1795 public void llRemoteLoadScript()
1796 {
1797 NotImplemented("llRemoteLoadScript");
1798 }
1799
1800 public void llSetRemoteScriptAccessPin(int pin)
1801 {
1802 NotImplemented("llSetRemoteScriptAccessPin");
1803 }
954 1804
955 public void llRemoteLoadScript() { NotImplemented("llRemoteLoadScript"); } 1805 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param)
956 public void llSetRemoteScriptAccessPin(int pin) { NotImplemented("llSetRemoteScriptAccessPin"); } 1806 {
957 public void llRemoteLoadScriptPin(string target, string name, int pin, int running, int start_param) { NotImplemented("llRemoteLoadScriptPin"); } 1807 NotImplemented("llRemoteLoadScriptPin");
958 public void llOpenRemoteDataChannel() { NotImplemented("llOpenRemoteDataChannel"); } 1808 }
959 public string llSendRemoteData(string channel, string dest, int idata, string sdata) { NotImplemented("llSendRemoteData"); return ""; } 1809
960 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata) { NotImplemented("llRemoteDataReply"); } 1810 public void llOpenRemoteDataChannel()
961 public void llCloseRemoteDataChannel(string channel) { NotImplemented("llCloseRemoteDataChannel"); } 1811 {
1812 NotImplemented("llOpenRemoteDataChannel");
1813 }
1814
1815 public string llSendRemoteData(string channel, string dest, int idata, string sdata)
1816 {
1817 NotImplemented("llSendRemoteData");
1818 return "";
1819 }
1820
1821 public void llRemoteDataReply(string channel, string message_id, string sdata, int idata)
1822 {
1823 NotImplemented("llRemoteDataReply");
1824 }
1825
1826 public void llCloseRemoteDataChannel(string channel)
1827 {
1828 NotImplemented("llCloseRemoteDataChannel");
1829 }
962 1830
963 public string llMD5String(string src, int nonce) 1831 public string llMD5String(string src, int nonce)
964 { 1832 {
965 return Util.Md5Hash(src + ":" + nonce.ToString()); 1833 return Util.Md5Hash(src + ":" + nonce.ToString());
966 } 1834 }
967 1835
968 public void llSetPrimitiveParams(List<string> rules) { NotImplemented("llSetPrimitiveParams"); } 1836 public void llSetPrimitiveParams(List<string> rules)
969 public string llStringToBase64(string str)
970 { 1837 {
1838 NotImplemented("llSetPrimitiveParams");
1839 }
971 1840
1841 public string llStringToBase64(string str)
1842 {
972 try 1843 try
973 { 1844 {
974 byte[] encData_byte = new byte[str.Length]; 1845 byte[] encData_byte = new byte[str.Length];
975 encData_byte = System.Text.Encoding.UTF8.GetBytes(str); 1846 encData_byte = Encoding.UTF8.GetBytes(str);
976 string encodedData = Convert.ToBase64String(encData_byte); 1847 string encodedData = Convert.ToBase64String(encData_byte);
977 return encodedData; 1848 return encodedData;
978 } 1849 }
@@ -984,11 +1855,10 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
984 1855
985 public string llBase64ToString(string str) 1856 public string llBase64ToString(string str)
986 { 1857 {
987 System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding(); 1858 UTF8Encoding encoder = new UTF8Encoding();
988 System.Text.Decoder utf8Decode = encoder.GetDecoder(); 1859 Decoder utf8Decode = encoder.GetDecoder();
989 try 1860 try
990 { 1861 {
991
992 byte[] todecode_byte = Convert.FromBase64String(str); 1862 byte[] todecode_byte = Convert.FromBase64String(str);
993 int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length); 1863 int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
994 char[] decoded_char = new char[charCount]; 1864 char[] decoded_char = new char[charCount];
@@ -1001,16 +1871,49 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1001 throw new Exception("Error in base64Decode" + e.Message); 1871 throw new Exception("Error in base64Decode" + e.Message);
1002 } 1872 }
1003 } 1873 }
1004 public void llXorBase64Strings() { throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead."); }
1005 public void llRemoteDataSetRegion() { NotImplemented("llRemoteDataSetRegion"); }
1006 public double llLog10(double val) { return (double)Math.Log10(val); }
1007 public double llLog(double val) { return (double)Math.Log(val); }
1008 public List<string> llGetAnimationList(string id) { NotImplemented("llGetAnimationList"); return new List<string>(); }
1009 public void llSetParcelMusicURL(string url) { NotImplemented("llSetParcelMusicURL"); }
1010 1874
1011 public LSL_Types.Vector3 llGetRootPosition() { NotImplemented("llGetRootPosition"); return new LSL_Types.Vector3(); } 1875 public void llXorBase64Strings()
1876 {
1877 throw new Exception("Command deprecated! Use llXorBase64StringsCorrect instead.");
1878 }
1012 1879
1013 public LSL_Types.Quaternion llGetRootRotation() { NotImplemented("llGetRootRotation"); return new LSL_Types.Quaternion(); } 1880 public void llRemoteDataSetRegion()
1881 {
1882 NotImplemented("llRemoteDataSetRegion");
1883 }
1884
1885 public double llLog10(double val)
1886 {
1887 return (double) Math.Log10(val);
1888 }
1889
1890 public double llLog(double val)
1891 {
1892 return (double) Math.Log(val);
1893 }
1894
1895 public List<string> llGetAnimationList(string id)
1896 {
1897 NotImplemented("llGetAnimationList");
1898 return new List<string>();
1899 }
1900
1901 public void llSetParcelMusicURL(string url)
1902 {
1903 NotImplemented("llSetParcelMusicURL");
1904 }
1905
1906 public LSL_Types.Vector3 llGetRootPosition()
1907 {
1908 NotImplemented("llGetRootPosition");
1909 return new LSL_Types.Vector3();
1910 }
1911
1912 public LSL_Types.Quaternion llGetRootRotation()
1913 {
1914 NotImplemented("llGetRootRotation");
1915 return new LSL_Types.Quaternion();
1916 }
1014 1917
1015 public string llGetObjectDesc() 1918 public string llGetObjectDesc()
1016 { 1919 {
@@ -1027,20 +1930,55 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1027 return m_host.ObjectCreator.ToStringHyphenated(); 1930 return m_host.ObjectCreator.ToStringHyphenated();
1028 } 1931 }
1029 1932
1030 public string llGetTimestamp() { return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); } 1933 public string llGetTimestamp()
1031 public void llSetLinkAlpha(int linknumber, double alpha, int face) { NotImplemented("llSetLinkAlpha"); } 1934 {
1032 public int llGetNumberOfPrims() { NotImplemented("llGetNumberOfPrims"); return 0; } 1935 return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");
1033 public string llGetNumberOfNotecardLines(string name) { NotImplemented("llGetNumberOfNotecardLines"); return ""; } 1936 }
1034 public List<string> llGetBoundingBox(string obj) { NotImplemented("llGetBoundingBox"); return new List<string>(); } 1937
1035 public LSL_Types.Vector3 llGetGeometricCenter() { NotImplemented("llGetGeometricCenter"); return new LSL_Types.Vector3(); } 1938 public void llSetLinkAlpha(int linknumber, double alpha, int face)
1036 public void llGetPrimitiveParams() { NotImplemented("llGetPrimitiveParams"); } 1939 {
1940 NotImplemented("llSetLinkAlpha");
1941 }
1942
1943 public int llGetNumberOfPrims()
1944 {
1945 NotImplemented("llGetNumberOfPrims");
1946 return 0;
1947 }
1948
1949 public string llGetNumberOfNotecardLines(string name)
1950 {
1951 NotImplemented("llGetNumberOfNotecardLines");
1952 return "";
1953 }
1954
1955 public List<string> llGetBoundingBox(string obj)
1956 {
1957 NotImplemented("llGetBoundingBox");
1958 return new List<string>();
1959 }
1960
1961 public LSL_Types.Vector3 llGetGeometricCenter()
1962 {
1963 NotImplemented("llGetGeometricCenter");
1964 return new LSL_Types.Vector3();
1965 }
1966
1967 public void llGetPrimitiveParams()
1968 {
1969 NotImplemented("llGetPrimitiveParams");
1970 }
1971
1037 public string llIntegerToBase64(int number) 1972 public string llIntegerToBase64(int number)
1038 { 1973 {
1039 NotImplemented("llIntegerToBase64"); return ""; 1974 NotImplemented("llIntegerToBase64");
1975 return "";
1040 } 1976 }
1977
1041 public int llBase64ToInteger(string str) 1978 public int llBase64ToInteger(string str)
1042 { 1979 {
1043 NotImplemented("llBase64ToInteger"); return 0; 1980 NotImplemented("llBase64ToInteger");
1981 return 0;
1044 } 1982 }
1045 1983
1046 public double llGetGMTclock() 1984 public double llGetGMTclock()
@@ -1050,34 +1988,95 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1050 1988
1051 public string llGetSimulatorHostname() 1989 public string llGetSimulatorHostname()
1052 { 1990 {
1053 return System.Environment.MachineName; 1991 return Environment.MachineName;
1054 } 1992 }
1055 1993
1056 public void llSetLocalRot(LSL_Types.Quaternion rot) { NotImplemented("llSetLocalRot"); } 1994 public void llSetLocalRot(LSL_Types.Quaternion rot)
1057 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers) { NotImplemented("llParseStringKeepNulls"); return new List<string>(); } 1995 {
1058 public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity, LSL_Types.Quaternion rot, int param) { NotImplemented("llRezAtRoot"); } 1996 NotImplemented("llSetLocalRot");
1997 }
1059 1998
1060 public int llGetObjectPermMask(int mask) { NotImplemented("llGetObjectPermMask"); return 0; } 1999 public List<string> llParseStringKeepNulls(string src, List<string> seperators, List<string> spacers)
2000 {
2001 NotImplemented("llParseStringKeepNulls");
2002 return new List<string>();
2003 }
1061 2004
1062 public void llSetObjectPermMask(int mask, int value) { NotImplemented("llSetObjectPermMask"); } 2005 public void llRezAtRoot(string inventory, LSL_Types.Vector3 position, LSL_Types.Vector3 velocity,
2006 LSL_Types.Quaternion rot, int param)
2007 {
2008 NotImplemented("llRezAtRoot");
2009 }
1063 2010
1064 public void llGetInventoryPermMask(string item, int mask) { NotImplemented("llGetInventoryPermMask"); } 2011 public int llGetObjectPermMask(int mask)
1065 public void llSetInventoryPermMask(string item, int mask, int value) { NotImplemented("llSetInventoryPermMask"); } 2012 {
1066 public string llGetInventoryCreator(string item) { NotImplemented("llGetInventoryCreator"); return ""; } 2013 NotImplemented("llGetObjectPermMask");
1067 public void llOwnerSay(string msg) { NotImplemented("llOwnerSay"); } 2014 return 0;
1068 public void llRequestSimulatorData(string simulator, int data) { NotImplemented("llRequestSimulatorData"); } 2015 }
1069 public void llForceMouselook(int mouselook) { NotImplemented("llForceMouselook"); } 2016
1070 public double llGetObjectMass(string id) { NotImplemented("llGetObjectMass"); return 0; } 2017 public void llSetObjectPermMask(int mask, int value)
1071 public void llListReplaceList() { NotImplemented("llListReplaceList"); } 2018 {
2019 NotImplemented("llSetObjectPermMask");
2020 }
2021
2022 public void llGetInventoryPermMask(string item, int mask)
2023 {
2024 NotImplemented("llGetInventoryPermMask");
2025 }
2026
2027 public void llSetInventoryPermMask(string item, int mask, int value)
2028 {
2029 NotImplemented("llSetInventoryPermMask");
2030 }
2031
2032 public string llGetInventoryCreator(string item)
2033 {
2034 NotImplemented("llGetInventoryCreator");
2035 return "";
2036 }
2037
2038 public void llOwnerSay(string msg)
2039 {
2040 NotImplemented("llOwnerSay");
2041 }
2042
2043 public void llRequestSimulatorData(string simulator, int data)
2044 {
2045 NotImplemented("llRequestSimulatorData");
2046 }
2047
2048 public void llForceMouselook(int mouselook)
2049 {
2050 NotImplemented("llForceMouselook");
2051 }
2052
2053 public double llGetObjectMass(string id)
2054 {
2055 NotImplemented("llGetObjectMass");
2056 return 0;
2057 }
2058
2059 public void llListReplaceList()
2060 {
2061 NotImplemented("llListReplaceList");
2062 }
1072 2063
1073 public void llLoadURL(string avatar_id, string message, string url) 2064 public void llLoadURL(string avatar_id, string message, string url)
1074 { 2065 {
1075 LLUUID avatarId = new LLUUID(avatar_id); 2066 LLUUID avatarId = new LLUUID(avatar_id);
1076 m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, url); 2067 m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message,
2068 url);
2069 }
2070
2071 public void llParcelMediaCommandList(List<string> commandList)
2072 {
2073 NotImplemented("llParcelMediaCommandList");
1077 } 2074 }
1078 2075
1079 public void llParcelMediaCommandList(List<string> commandList) { NotImplemented("llParcelMediaCommandList"); } 2076 public void llParcelMediaQuery()
1080 public void llParcelMediaQuery() { NotImplemented("llParcelMediaQuery"); } 2077 {
2078 NotImplemented("llParcelMediaQuery");
2079 }
1081 2080
1082 public int llModPow(int a, int b, int c) 2081 public int llModPow(int a, int b, int c)
1083 { 2082 {
@@ -1086,13 +2085,38 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1086 return Convert.ToInt32(tmp); 2085 return Convert.ToInt32(tmp);
1087 } 2086 }
1088 2087
1089 public int llGetInventoryType(string name) { NotImplemented("llGetInventoryType"); return 0; } 2088 public int llGetInventoryType(string name)
2089 {
2090 NotImplemented("llGetInventoryType");
2091 return 0;
2092 }
2093
2094 public void llSetPayPrice(int price, List<string> quick_pay_buttons)
2095 {
2096 NotImplemented("llSetPayPrice");
2097 }
2098
2099 public LSL_Types.Vector3 llGetCameraPos()
2100 {
2101 NotImplemented("llGetCameraPos");
2102 return new LSL_Types.Vector3();
2103 }
2104
2105 public LSL_Types.Quaternion llGetCameraRot()
2106 {
2107 NotImplemented("llGetCameraRot");
2108 return new LSL_Types.Quaternion();
2109 }
1090 2110
1091 public void llSetPayPrice(int price, List<string> quick_pay_buttons) { NotImplemented("llSetPayPrice"); } 2111 public void llSetPrimURL()
1092 public LSL_Types.Vector3 llGetCameraPos() { NotImplemented("llGetCameraPos"); return new LSL_Types.Vector3(); } 2112 {
1093 public LSL_Types.Quaternion llGetCameraRot() { NotImplemented("llGetCameraRot"); return new LSL_Types.Quaternion(); } 2113 NotImplemented("llSetPrimURL");
1094 public void llSetPrimURL() { NotImplemented("llSetPrimURL"); } 2114 }
1095 public void llRefreshPrimURL() { NotImplemented("llRefreshPrimURL"); } 2115
2116 public void llRefreshPrimURL()
2117 {
2118 NotImplemented("llRefreshPrimURL");
2119 }
1096 2120
1097 public string llEscapeURL(string url) 2121 public string llEscapeURL(string url)
1098 { 2122 {
@@ -1117,21 +2141,60 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1117 return "llUnescapeURL: " + ex.ToString(); 2141 return "llUnescapeURL: " + ex.ToString();
1118 } 2142 }
1119 } 2143 }
1120 public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) { NotImplemented("llMapDestination"); } 2144
1121 public void llAddToLandBanList(string avatar, double hours) { NotImplemented("llAddToLandBanList"); } 2145 public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at)
1122 public void llRemoveFromLandPassList(string avatar) { NotImplemented("llRemoveFromLandPassList"); } 2146 {
1123 public void llRemoveFromLandBanList(string avatar) { NotImplemented("llRemoveFromLandBanList"); } 2147 NotImplemented("llMapDestination");
1124 public void llSetCameraParams(List<string> rules) { NotImplemented("llSetCameraParams"); } 2148 }
1125 public void llClearCameraParams() { NotImplemented("llClearCameraParams"); } 2149
1126 public double llListStatistics(int operation, List<string> src) { NotImplemented("llListStatistics"); return 0; } 2150 public void llAddToLandBanList(string avatar, double hours)
2151 {
2152 NotImplemented("llAddToLandBanList");
2153 }
2154
2155 public void llRemoveFromLandPassList(string avatar)
2156 {
2157 NotImplemented("llRemoveFromLandPassList");
2158 }
2159
2160 public void llRemoveFromLandBanList(string avatar)
2161 {
2162 NotImplemented("llRemoveFromLandBanList");
2163 }
2164
2165 public void llSetCameraParams(List<string> rules)
2166 {
2167 NotImplemented("llSetCameraParams");
2168 }
2169
2170 public void llClearCameraParams()
2171 {
2172 NotImplemented("llClearCameraParams");
2173 }
2174
2175 public double llListStatistics(int operation, List<string> src)
2176 {
2177 NotImplemented("llListStatistics");
2178 return 0;
2179 }
1127 2180
1128 public int llGetUnixTime() 2181 public int llGetUnixTime()
1129 { 2182 {
1130 return Util.UnixTimeSinceEpoch(); 2183 return Util.UnixTimeSinceEpoch();
1131 } 2184 }
1132 2185
1133 public int llGetParcelFlags(LSL_Types.Vector3 pos) { NotImplemented("llGetParcelFlags"); return 0; } 2186 public int llGetParcelFlags(LSL_Types.Vector3 pos)
1134 public int llGetRegionFlags() { NotImplemented("llGetRegionFlags"); return 0; } 2187 {
2188 NotImplemented("llGetParcelFlags");
2189 return 0;
2190 }
2191
2192 public int llGetRegionFlags()
2193 {
2194 NotImplemented("llGetRegionFlags");
2195 return 0;
2196 }
2197
1135 public string llXorBase64StringsCorrect(string str1, string str2) 2198 public string llXorBase64StringsCorrect(string str1, string str2)
1136 { 2199 {
1137 string ret = ""; 2200 string ret = "";
@@ -1148,27 +2211,64 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1148 } 2211 }
1149 return llStringToBase64(ret); 2212 return llStringToBase64(ret);
1150 } 2213 }
2214
1151 public void llHTTPRequest(string url, List<string> parameters, string body) 2215 public void llHTTPRequest(string url, List<string> parameters, string body)
1152 { 2216 {
1153 m_ScriptEngine.m_LSLLongCmdHandler.StartHttpRequest(m_localID, m_itemID, url, parameters, body); 2217 m_ScriptEngine.m_LSLLongCmdHandler.StartHttpRequest(m_localID, m_itemID, url, parameters, body);
1154 } 2218 }
1155 public void llResetLandBanList() { NotImplemented("llResetLandBanList"); } 2219
1156 public void llResetLandPassList() { NotImplemented("llResetLandPassList"); } 2220 public void llResetLandBanList()
1157 public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) { NotImplemented("llGetParcelPrimCount"); return 0; } 2221 {
1158 public List<string> llGetParcelPrimOwners(LSL_Types.Vector3 pos) { NotImplemented("llGetParcelPrimOwners"); return new List<string>(); } 2222 NotImplemented("llResetLandBanList");
1159 public int llGetObjectPrimCount(string object_id) { NotImplemented("llGetObjectPrimCount"); return 0; } 2223 }
1160 public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) { NotImplemented("llGetParcelMaxPrims"); return 0; } 2224
1161 public List<string> llGetParcelDetails(LSL_Types.Vector3 pos, List<string> param) { NotImplemented("llGetParcelDetails"); return new List<string>(); } 2225 public void llResetLandPassList()
2226 {
2227 NotImplemented("llResetLandPassList");
2228 }
2229
2230 public int llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide)
2231 {
2232 NotImplemented("llGetParcelPrimCount");
2233 return 0;
2234 }
2235
2236 public List<string> llGetParcelPrimOwners(LSL_Types.Vector3 pos)
2237 {
2238 NotImplemented("llGetParcelPrimOwners");
2239 return new List<string>();
2240 }
2241
2242 public int llGetObjectPrimCount(string object_id)
2243 {
2244 NotImplemented("llGetObjectPrimCount");
2245 return 0;
2246 }
2247
2248 public int llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide)
2249 {
2250 NotImplemented("llGetParcelMaxPrims");
2251 return 0;
2252 }
2253
2254 public List<string> llGetParcelDetails(LSL_Types.Vector3 pos, List<string> param)
2255 {
2256 NotImplemented("llGetParcelDetails");
2257 return new List<string>();
2258 }
1162 2259
1163 // 2260 //
1164 // OpenSim functions 2261 // OpenSim functions
1165 // 2262 //
1166 public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams, int timer) 2263 public string osSetDynamicTextureURL(string dynamicID, string contentType, string url, string extraParams,
2264 int timer)
1167 { 2265 {
1168 if (dynamicID == "") 2266 if (dynamicID == "")
1169 { 2267 {
1170 IDynamicTextureManager textureManager = this.World.RequestModuleInterface<IDynamicTextureManager>(); 2268 IDynamicTextureManager textureManager = World.RequestModuleInterface<IDynamicTextureManager>();
1171 LLUUID createdTexture = textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, this.m_host.UUID, contentType, url, extraParams, timer); 2269 LLUUID createdTexture =
2270 textureManager.AddDynamicTextureURL(World.RegionInfo.RegionID, m_host.UUID, contentType, url,
2271 extraParams, timer);
1172 return createdTexture.ToStringHyphenated(); 2272 return createdTexture.ToStringHyphenated();
1173 } 2273 }
1174 else 2274 else
@@ -1184,6 +2284,5 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler
1184 if (throwErrorOnNotImplemented) 2284 if (throwErrorOnNotImplemented)
1185 throw new NotImplementedException("Command not implemented: " + Command); 2285 throw new NotImplementedException("Command not implemented: " + Command);
1186 } 2286 }
1187
1188 } 2287 }
1189} 2288} \ No newline at end of file