diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 1035 |
1 files changed, 551 insertions, 484 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 110ece4..512fcd9 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -50,6 +50,14 @@ using OpenSim.Region.ScriptEngine.Shared.ScriptBase; | |||
50 | using OpenSim.Region.ScriptEngine.Interfaces; | 50 | using OpenSim.Region.ScriptEngine.Interfaces; |
51 | using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces; | 51 | using OpenSim.Region.ScriptEngine.Shared.Api.Interfaces; |
52 | 52 | ||
53 | using LSL_Float = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLFloat; | ||
54 | using LSL_Integer = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLInteger; | ||
55 | using LSL_Key = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; | ||
56 | using LSL_List = OpenSim.Region.ScriptEngine.Shared.LSL_Types.list; | ||
57 | using LSL_Rotation = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Quaternion; | ||
58 | using LSL_String = OpenSim.Region.ScriptEngine.Shared.LSL_Types.LSLString; | ||
59 | using LSL_Vector = OpenSim.Region.ScriptEngine.Shared.LSL_Types.Vector3; | ||
60 | |||
53 | namespace OpenSim.Region.ScriptEngine.Shared.Api | 61 | namespace OpenSim.Region.ScriptEngine.Shared.Api |
54 | { | 62 | { |
55 | /// <summary> | 63 | /// <summary> |
@@ -87,6 +95,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
87 | AsyncCommands = (AsyncCommandManager)ScriptEngine.AsyncCommands; | 95 | AsyncCommands = (AsyncCommandManager)ScriptEngine.AsyncCommands; |
88 | } | 96 | } |
89 | 97 | ||
98 | private DateTime m_timer = DateTime.Now; | ||
99 | private bool m_waitingForScriptAnswer=false; | ||
90 | protected void ScriptSleep(int delay) | 100 | protected void ScriptSleep(int delay) |
91 | { | 101 | { |
92 | delay = (int)((float)delay * m_ScriptDelayFactor); | 102 | delay = (int)((float)delay * m_ScriptDelayFactor); |
@@ -95,8 +105,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
95 | System.Threading.Thread.Sleep(delay); | 105 | System.Threading.Thread.Sleep(delay); |
96 | } | 106 | } |
97 | 107 | ||
98 | private DateTime m_timer = DateTime.Now; | ||
99 | private bool m_waitingForScriptAnswer=false; | ||
100 | 108 | ||
101 | 109 | ||
102 | // Object never expires | 110 | // Object never expires |
@@ -252,55 +260,55 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
252 | } | 260 | } |
253 | 261 | ||
254 | //These are the implementations of the various ll-functions used by the LSL scripts. | 262 | //These are the implementations of the various ll-functions used by the LSL scripts. |
255 | public LSL_Types.LSLFloat llSin(double f) | 263 | public LSL_Float llSin(double f) |
256 | { | 264 | { |
257 | m_host.AddScriptLPS(1); | 265 | m_host.AddScriptLPS(1); |
258 | return (double)Math.Sin(f); | 266 | return (double)Math.Sin(f); |
259 | } | 267 | } |
260 | 268 | ||
261 | public LSL_Types.LSLFloat llCos(double f) | 269 | public LSL_Float llCos(double f) |
262 | { | 270 | { |
263 | m_host.AddScriptLPS(1); | 271 | m_host.AddScriptLPS(1); |
264 | return (double)Math.Cos(f); | 272 | return (double)Math.Cos(f); |
265 | } | 273 | } |
266 | 274 | ||
267 | public LSL_Types.LSLFloat llTan(double f) | 275 | public LSL_Float llTan(double f) |
268 | { | 276 | { |
269 | m_host.AddScriptLPS(1); | 277 | m_host.AddScriptLPS(1); |
270 | return (double)Math.Tan(f); | 278 | return (double)Math.Tan(f); |
271 | } | 279 | } |
272 | 280 | ||
273 | public LSL_Types.LSLFloat llAtan2(double x, double y) | 281 | public LSL_Float llAtan2(double x, double y) |
274 | { | 282 | { |
275 | m_host.AddScriptLPS(1); | 283 | m_host.AddScriptLPS(1); |
276 | return (double)Math.Atan2(y, x); | 284 | return (double)Math.Atan2(y, x); |
277 | } | 285 | } |
278 | 286 | ||
279 | public LSL_Types.LSLFloat llSqrt(double f) | 287 | public LSL_Float llSqrt(double f) |
280 | { | 288 | { |
281 | m_host.AddScriptLPS(1); | 289 | m_host.AddScriptLPS(1); |
282 | return (double)Math.Sqrt(f); | 290 | return (double)Math.Sqrt(f); |
283 | } | 291 | } |
284 | 292 | ||
285 | public LSL_Types.LSLFloat llPow(double fbase, double fexponent) | 293 | public LSL_Float llPow(double fbase, double fexponent) |
286 | { | 294 | { |
287 | m_host.AddScriptLPS(1); | 295 | m_host.AddScriptLPS(1); |
288 | return (double)Math.Pow(fbase, fexponent); | 296 | return (double)Math.Pow(fbase, fexponent); |
289 | } | 297 | } |
290 | 298 | ||
291 | public LSL_Types.LSLInteger llAbs(int i) | 299 | public LSL_Integer llAbs(int i) |
292 | { | 300 | { |
293 | m_host.AddScriptLPS(1); | 301 | m_host.AddScriptLPS(1); |
294 | return (int)Math.Abs(i); | 302 | return (int)Math.Abs(i); |
295 | } | 303 | } |
296 | 304 | ||
297 | public LSL_Types.LSLFloat llFabs(double f) | 305 | public LSL_Float llFabs(double f) |
298 | { | 306 | { |
299 | m_host.AddScriptLPS(1); | 307 | m_host.AddScriptLPS(1); |
300 | return (double)Math.Abs(f); | 308 | return (double)Math.Abs(f); |
301 | } | 309 | } |
302 | 310 | ||
303 | public LSL_Types.LSLFloat llFrand(double mag) | 311 | public LSL_Float llFrand(double mag) |
304 | { | 312 | { |
305 | m_host.AddScriptLPS(1); | 313 | m_host.AddScriptLPS(1); |
306 | lock (Util.RandomClass) | 314 | lock (Util.RandomClass) |
@@ -309,44 +317,44 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
309 | } | 317 | } |
310 | } | 318 | } |
311 | 319 | ||
312 | public LSL_Types.LSLInteger llFloor(double f) | 320 | public LSL_Integer llFloor(double f) |
313 | { | 321 | { |
314 | m_host.AddScriptLPS(1); | 322 | m_host.AddScriptLPS(1); |
315 | return (int)Math.Floor(f); | 323 | return (int)Math.Floor(f); |
316 | } | 324 | } |
317 | 325 | ||
318 | public LSL_Types.LSLInteger llCeil(double f) | 326 | public LSL_Integer llCeil(double f) |
319 | { | 327 | { |
320 | m_host.AddScriptLPS(1); | 328 | m_host.AddScriptLPS(1); |
321 | return (int)Math.Ceiling(f); | 329 | return (int)Math.Ceiling(f); |
322 | } | 330 | } |
323 | 331 | ||
324 | // Xantor 01/May/2008 fixed midpointrounding (2.5 becomes 3.0 instead of 2.0, default = ToEven) | 332 | // Xantor 01/May/2008 fixed midpointrounding (2.5 becomes 3.0 instead of 2.0, default = ToEven) |
325 | public LSL_Types.LSLInteger llRound(double f) | 333 | public LSL_Integer llRound(double f) |
326 | { | 334 | { |
327 | m_host.AddScriptLPS(1); | 335 | m_host.AddScriptLPS(1); |
328 | return (int)Math.Round(f, MidpointRounding.AwayFromZero); | 336 | return (int)Math.Round(f, MidpointRounding.AwayFromZero); |
329 | } | 337 | } |
330 | 338 | ||
331 | //This next group are vector operations involving squaring and square root. ckrinke | 339 | //This next group are vector operations involving squaring and square root. ckrinke |
332 | public LSL_Types.LSLFloat llVecMag(LSL_Types.Vector3 v) | 340 | public LSL_Float llVecMag(LSL_Vector v) |
333 | { | 341 | { |
334 | m_host.AddScriptLPS(1); | 342 | m_host.AddScriptLPS(1); |
335 | return LSL_Types.Vector3.Mag(v); | 343 | return LSL_Vector.Mag(v); |
336 | } | 344 | } |
337 | 345 | ||
338 | public LSL_Types.Vector3 llVecNorm(LSL_Types.Vector3 v) | 346 | public LSL_Vector llVecNorm(LSL_Vector v) |
339 | { | 347 | { |
340 | m_host.AddScriptLPS(1); | 348 | m_host.AddScriptLPS(1); |
341 | double mag = LSL_Types.Vector3.Mag(v); | 349 | double mag = LSL_Vector.Mag(v); |
342 | LSL_Types.Vector3 nor = new LSL_Types.Vector3(); | 350 | LSL_Vector nor = new LSL_Vector(); |
343 | nor.x = v.x / mag; | 351 | nor.x = v.x / mag; |
344 | nor.y = v.y / mag; | 352 | nor.y = v.y / mag; |
345 | nor.z = v.z / mag; | 353 | nor.z = v.z / mag; |
346 | return nor; | 354 | return nor; |
347 | } | 355 | } |
348 | 356 | ||
349 | public LSL_Types.LSLFloat llVecDist(LSL_Types.Vector3 a, LSL_Types.Vector3 b) | 357 | public LSL_Float llVecDist(LSL_Vector a, LSL_Vector b) |
350 | { | 358 | { |
351 | m_host.AddScriptLPS(1); | 359 | m_host.AddScriptLPS(1); |
352 | double dx = a.x - b.x; | 360 | double dx = a.x - b.x; |
@@ -369,23 +377,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
369 | 377 | ||
370 | // Old implementation of llRot2Euler, now normalized | 378 | // Old implementation of llRot2Euler, now normalized |
371 | 379 | ||
372 | public LSL_Types.Vector3 llRot2Euler(LSL_Types.Quaternion r) | 380 | public LSL_Vector llRot2Euler(LSL_Rotation r) |
373 | { | 381 | { |
374 | m_host.AddScriptLPS(1); | 382 | m_host.AddScriptLPS(1); |
375 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke | 383 | //This implementation is from http://lslwiki.net/lslwiki/wakka.php?wakka=LibraryRotationFunctions. ckrinke |
376 | LSL_Types.Quaternion t = new LSL_Types.Quaternion(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); | 384 | LSL_Rotation t = new LSL_Rotation(r.x * r.x, r.y * r.y, r.z * r.z, r.s * r.s); |
377 | double m = (t.x + t.y + t.z + t.s); | 385 | double m = (t.x + t.y + t.z + t.s); |
378 | if (m == 0) return new LSL_Types.Vector3(); | 386 | if (m == 0) return new LSL_Vector(); |
379 | double n = 2 * (r.y * r.s + r.x * r.z); | 387 | double n = 2 * (r.y * r.s + r.x * r.z); |
380 | double p = m * m - n * n; | 388 | double p = m * m - n * n; |
381 | if (p > 0) | 389 | if (p > 0) |
382 | return new LSL_Types.Vector3(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))), | 390 | return new LSL_Vector(NormalizeAngle(Math.Atan2(2.0 * (r.x * r.s - r.y * r.z), (-t.x - t.y + t.z + t.s))), |
383 | NormalizeAngle(Math.Atan2(n, Math.Sqrt(p))), | 391 | NormalizeAngle(Math.Atan2(n, Math.Sqrt(p))), |
384 | NormalizeAngle(Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s)))); | 392 | NormalizeAngle(Math.Atan2(2.0 * (r.z * r.s - r.x * r.y), (t.x - t.y - t.z + t.s)))); |
385 | else if (n > 0) | 393 | else if (n > 0) |
386 | return new LSL_Types.Vector3(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); | 394 | return new LSL_Vector(0.0, Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); |
387 | else | 395 | else |
388 | return new LSL_Types.Vector3(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); | 396 | return new LSL_Vector(0.0, -Math.PI / 2, NormalizeAngle(Math.Atan2((r.z * r.s + r.x * r.y), 0.5 - t.x - t.z))); |
389 | } | 397 | } |
390 | 398 | ||
391 | /* From wiki: | 399 | /* From wiki: |
@@ -433,7 +441,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
433 | * Apparently in some cases this is better from a numerical precision perspective? | 441 | * Apparently in some cases this is better from a numerical precision perspective? |
434 | */ | 442 | */ |
435 | 443 | ||
436 | public LSL_Types.Quaternion llEuler2Rot(LSL_Types.Vector3 v) | 444 | public LSL_Rotation llEuler2Rot(LSL_Vector v) |
437 | { | 445 | { |
438 | m_host.AddScriptLPS(1); | 446 | m_host.AddScriptLPS(1); |
439 | 447 | ||
@@ -451,10 +459,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
451 | z = s1*s2*c3+c1*c2*s3; | 459 | z = s1*s2*c3+c1*c2*s3; |
452 | s = c1*c2*c3-s1*s2*s3; | 460 | s = c1*c2*c3-s1*s2*s3; |
453 | 461 | ||
454 | return new LSL_Types.Quaternion(x, y, z, s); | 462 | return new LSL_Rotation(x, y, z, s); |
455 | } | 463 | } |
456 | 464 | ||
457 | public LSL_Types.Quaternion llAxes2Rot(LSL_Types.Vector3 fwd, LSL_Types.Vector3 left, LSL_Types.Vector3 up) | 465 | public LSL_Rotation llAxes2Rot(LSL_Vector fwd, LSL_Vector left, LSL_Vector up) |
458 | { | 466 | { |
459 | m_host.AddScriptLPS(1); | 467 | m_host.AddScriptLPS(1); |
460 | double x, y, z, s; | 468 | double x, y, z, s; |
@@ -487,7 +495,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
487 | if (f == 5) { z = -z; } | 495 | if (f == 5) { z = -z; } |
488 | if (f == 6) { y = -y; } | 496 | if (f == 6) { y = -y; } |
489 | 497 | ||
490 | LSL_Types.Quaternion result = new LSL_Types.Quaternion(x, y, z, s); | 498 | LSL_Rotation result = new LSL_Rotation(x, y, z, s); |
491 | 499 | ||
492 | // a hack to correct a few questionable angles :( | 500 | // a hack to correct a few questionable angles :( |
493 | if (llVecDist(llRot2Fwd(result), fwd) > 0.001 || llVecDist(llRot2Left(result), left) > 0.001) | 501 | if (llVecDist(llRot2Fwd(result), fwd) > 0.001 || llVecDist(llRot2Left(result), left) > 0.001) |
@@ -496,7 +504,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
496 | return result; | 504 | return result; |
497 | } | 505 | } |
498 | 506 | ||
499 | public LSL_Types.Vector3 llRot2Fwd(LSL_Types.Quaternion r) | 507 | public LSL_Vector llRot2Fwd(LSL_Rotation r) |
500 | { | 508 | { |
501 | m_host.AddScriptLPS(1); | 509 | m_host.AddScriptLPS(1); |
502 | 510 | ||
@@ -518,10 +526,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
518 | x = r.x * r.x - r.y * r.y - r.z * r.z + r.s * r.s; | 526 | x = r.x * r.x - r.y * r.y - r.z * r.z + r.s * r.s; |
519 | y = 2 * (r.x * r.y + r.z * r.s); | 527 | y = 2 * (r.x * r.y + r.z * r.s); |
520 | z = 2 * (r.x * r.z - r.y * r.s); | 528 | z = 2 * (r.x * r.z - r.y * r.s); |
521 | return (new LSL_Types.Vector3(x, y, z)); | 529 | return (new LSL_Vector(x, y, z)); |
522 | } | 530 | } |
523 | 531 | ||
524 | public LSL_Types.Vector3 llRot2Left(LSL_Types.Quaternion r) | 532 | public LSL_Vector llRot2Left(LSL_Rotation r) |
525 | { | 533 | { |
526 | m_host.AddScriptLPS(1); | 534 | m_host.AddScriptLPS(1); |
527 | 535 | ||
@@ -543,10 +551,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
543 | x = 2 * (r.x * r.y - r.z * r.s); | 551 | x = 2 * (r.x * r.y - r.z * r.s); |
544 | y = -r.x * r.x + r.y * r.y - r.z * r.z + r.s * r.s; | 552 | y = -r.x * r.x + r.y * r.y - r.z * r.z + r.s * r.s; |
545 | z = 2 * (r.x * r.s + r.y * r.z); | 553 | z = 2 * (r.x * r.s + r.y * r.z); |
546 | return (new LSL_Types.Vector3(x, y, z)); | 554 | return (new LSL_Vector(x, y, z)); |
547 | } | 555 | } |
548 | 556 | ||
549 | public LSL_Types.Vector3 llRot2Up(LSL_Types.Quaternion r) | 557 | public LSL_Vector llRot2Up(LSL_Rotation r) |
550 | { | 558 | { |
551 | m_host.AddScriptLPS(1); | 559 | m_host.AddScriptLPS(1); |
552 | double x, y, z, m; | 560 | double x, y, z, m; |
@@ -567,18 +575,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
567 | x = 2 * (r.x * r.z + r.y * r.s); | 575 | x = 2 * (r.x * r.z + r.y * r.s); |
568 | y = 2 * (-r.x * r.s + r.y * r.z); | 576 | y = 2 * (-r.x * r.s + r.y * r.z); |
569 | z = -r.x * r.x - r.y * r.y + r.z * r.z + r.s * r.s; | 577 | z = -r.x * r.x - r.y * r.y + r.z * r.z + r.s * r.s; |
570 | return (new LSL_Types.Vector3(x, y, z)); | 578 | return (new LSL_Vector(x, y, z)); |
571 | } | 579 | } |
572 | 580 | ||
573 | public LSL_Types.Quaternion llRotBetween(LSL_Types.Vector3 a, LSL_Types.Vector3 b) | 581 | public LSL_Rotation llRotBetween(LSL_Vector a, LSL_Vector b) |
574 | { | 582 | { |
575 | //A and B should both be normalized | 583 | //A and B should both be normalized |
576 | m_host.AddScriptLPS(1); | 584 | m_host.AddScriptLPS(1); |
577 | double dotProduct = LSL_Types.Vector3.Dot(a, b); | 585 | double dotProduct = LSL_Vector.Dot(a, b); |
578 | LSL_Types.Vector3 crossProduct = LSL_Types.Vector3.Cross(a, b); | 586 | LSL_Vector crossProduct = LSL_Vector.Cross(a, b); |
579 | double magProduct = LSL_Types.Vector3.Mag(a) * LSL_Types.Vector3.Mag(b); | 587 | double magProduct = LSL_Vector.Mag(a) * LSL_Vector.Mag(b); |
580 | double angle = Math.Acos(dotProduct / magProduct); | 588 | double angle = Math.Acos(dotProduct / magProduct); |
581 | LSL_Types.Vector3 axis = LSL_Types.Vector3.Norm(crossProduct); | 589 | LSL_Vector axis = LSL_Vector.Norm(crossProduct); |
582 | double s = Math.Sin(angle / 2); | 590 | double s = Math.Sin(angle / 2); |
583 | 591 | ||
584 | double x = axis.x * s; | 592 | double x = axis.x * s; |
@@ -587,9 +595,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
587 | double w = Math.Cos(angle / 2); | 595 | double w = Math.Cos(angle / 2); |
588 | 596 | ||
589 | if (Double.IsNaN(x) || Double.IsNaN(y) || Double.IsNaN(z) || Double.IsNaN(w)) | 597 | if (Double.IsNaN(x) || Double.IsNaN(y) || Double.IsNaN(z) || Double.IsNaN(w)) |
590 | return new LSL_Types.Quaternion(0.0f, 0.0f, 0.0f, 1.0f); | 598 | return new LSL_Rotation(0.0f, 0.0f, 0.0f, 1.0f); |
591 | 599 | ||
592 | return new LSL_Types.Quaternion((float)x, (float)y, (float)z, (float)w); | 600 | return new LSL_Rotation((float)x, (float)y, (float)z, (float)w); |
593 | } | 601 | } |
594 | 602 | ||
595 | public void llWhisper(int channelID, string text) | 603 | public void llWhisper(int channelID, string text) |
@@ -651,7 +659,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
651 | wComm.DeliverMessage(ChatTypeEnum.Region, channelID, m_host.Name, m_host.UUID, text); | 659 | wComm.DeliverMessage(ChatTypeEnum.Region, channelID, m_host.Name, m_host.UUID, text); |
652 | } | 660 | } |
653 | 661 | ||
654 | public LSL_Types.LSLInteger llListen(int channelID, string name, string ID, string msg) | 662 | public LSL_Integer llListen(int channelID, string name, string ID, string msg) |
655 | { | 663 | { |
656 | m_host.AddScriptLPS(1); | 664 | m_host.AddScriptLPS(1); |
657 | UUID keyID; | 665 | UUID keyID; |
@@ -726,7 +734,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
726 | return SensedObject.Name; | 734 | return SensedObject.Name; |
727 | } | 735 | } |
728 | 736 | ||
729 | public LSL_Types.LSLString llDetectedName(int number) | 737 | public LSL_String llDetectedName(int number) |
730 | { | 738 | { |
731 | m_host.AddScriptLPS(1); | 739 | m_host.AddScriptLPS(1); |
732 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 740 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
@@ -735,7 +743,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
735 | return d.Name; | 743 | return d.Name; |
736 | } | 744 | } |
737 | 745 | ||
738 | public LSL_Types.LSLString llDetectedKey(int number) | 746 | public LSL_String llDetectedKey(int number) |
739 | { | 747 | { |
740 | m_host.AddScriptLPS(1); | 748 | m_host.AddScriptLPS(1); |
741 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 749 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
@@ -744,7 +752,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
744 | return d.Key.ToString(); | 752 | return d.Key.ToString(); |
745 | } | 753 | } |
746 | 754 | ||
747 | public LSL_Types.LSLString llDetectedOwner(int number) | 755 | public LSL_String llDetectedOwner(int number) |
748 | { | 756 | { |
749 | m_host.AddScriptLPS(1); | 757 | m_host.AddScriptLPS(1); |
750 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 758 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
@@ -753,71 +761,113 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
753 | return d.Owner.ToString(); | 761 | return d.Owner.ToString(); |
754 | } | 762 | } |
755 | 763 | ||
756 | public LSL_Types.LSLInteger llDetectedType(int number) | 764 | public LSL_Integer llDetectedType(int number) |
757 | { | 765 | { |
758 | m_host.AddScriptLPS(1); | 766 | m_host.AddScriptLPS(1); |
759 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 767 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
760 | if (d == null) | 768 | if (d == null) |
761 | return 0; | 769 | return 0; |
762 | return new LSL_Types.LSLInteger(d.Type); | 770 | return new LSL_Integer(d.Type); |
763 | } | 771 | } |
764 | 772 | ||
765 | public LSL_Types.Vector3 llDetectedPos(int number) | 773 | public LSL_Vector llDetectedPos(int number) |
766 | { | 774 | { |
767 | m_host.AddScriptLPS(1); | 775 | m_host.AddScriptLPS(1); |
768 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 776 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
769 | if (d == null) | 777 | if (d == null) |
770 | return new LSL_Types.Vector3(); | 778 | return new LSL_Vector(); |
771 | return d.Position; | 779 | return d.Position; |
772 | } | 780 | } |
773 | 781 | ||
774 | public LSL_Types.Vector3 llDetectedVel(int number) | 782 | public LSL_Vector llDetectedVel(int number) |
775 | { | 783 | { |
776 | m_host.AddScriptLPS(1); | 784 | m_host.AddScriptLPS(1); |
777 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 785 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
778 | if (d == null) | 786 | if (d == null) |
779 | return new LSL_Types.Vector3(); | 787 | return new LSL_Vector(); |
780 | return d.Velocity; | 788 | return d.Velocity; |
781 | } | 789 | } |
782 | 790 | ||
783 | public LSL_Types.Vector3 llDetectedGrab(int number) | 791 | public LSL_Vector llDetectedGrab(int number) |
784 | { | 792 | { |
785 | m_host.AddScriptLPS(1); | 793 | m_host.AddScriptLPS(1); |
786 | DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); | 794 | DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); |
787 | if (parms == null) | 795 | if (parms == null) |
788 | return new LSL_Types.Vector3(0, 0, 0); | 796 | return new LSL_Vector(0, 0, 0); |
789 | 797 | ||
790 | return parms.OffsetPos; | 798 | return parms.OffsetPos; |
791 | } | 799 | } |
792 | 800 | ||
793 | public LSL_Types.Quaternion llDetectedRot(int number) | 801 | public LSL_Rotation llDetectedRot(int number) |
794 | { | 802 | { |
795 | m_host.AddScriptLPS(1); | 803 | m_host.AddScriptLPS(1); |
796 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 804 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
797 | if (d == null) | 805 | if (d == null) |
798 | return new LSL_Types.Quaternion(); | 806 | return new LSL_Rotation(); |
799 | return d.Rotation; | 807 | return d.Rotation; |
800 | } | 808 | } |
801 | 809 | ||
802 | public LSL_Types.LSLInteger llDetectedGroup(int number) | 810 | public LSL_Integer llDetectedGroup(int number) |
803 | { | 811 | { |
804 | m_host.AddScriptLPS(1); | 812 | m_host.AddScriptLPS(1); |
805 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); | 813 | DetectParams d = m_ScriptEngine.GetDetectParams(m_itemID, number); |
806 | if (d == null) | 814 | if (d == null) |
807 | return new LSL_Types.LSLInteger(0); | 815 | return new LSL_Integer(0); |
808 | if (m_host.GroupID == d.Group) | 816 | if (m_host.GroupID == d.Group) |
809 | return new LSL_Types.LSLInteger(1); | 817 | return new LSL_Integer(1); |
810 | return new LSL_Types.LSLInteger(0); | 818 | return new LSL_Integer(0); |
811 | } | 819 | } |
812 | 820 | ||
813 | public LSL_Types.LSLInteger llDetectedLinkNumber(int number) | 821 | public LSL_Integer llDetectedLinkNumber(int number) |
814 | { | 822 | { |
815 | m_host.AddScriptLPS(1); | 823 | m_host.AddScriptLPS(1); |
816 | DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); | 824 | DetectParams parms = m_ScriptEngine.GetDetectParams(m_itemID, number); |
817 | if (parms == null) | 825 | if (parms == null) |
818 | return new LSL_Types.LSLInteger(0); | 826 | return new LSL_Integer(0); |
827 | |||
828 | return new LSL_Integer(parms.LinkNum); | ||
829 | } | ||
830 | |||
831 | public LSL_Vector llDetectedTouchBinormal(int index) | ||
832 | { | ||
833 | m_host.AddScriptLPS(1); | ||
834 | NotImplemented("llDetectedTouchBinormal"); | ||
835 | return new LSL_Vector(); | ||
836 | } | ||
837 | |||
838 | public LSL_Integer llDetectedTouchFace(int index) | ||
839 | { | ||
840 | m_host.AddScriptLPS(1); | ||
841 | NotImplemented("llDetectedTouchFace"); | ||
842 | return new LSL_Integer(0); | ||
843 | } | ||
844 | |||
845 | public LSL_Vector llDetectedTouchNormal(int index) | ||
846 | { | ||
847 | m_host.AddScriptLPS(1); | ||
848 | NotImplemented("llDetectedTouchNormal"); | ||
849 | return new LSL_Vector(); | ||
850 | } | ||
851 | |||
852 | public LSL_Vector llDetectedTouchPos(int index) | ||
853 | { | ||
854 | m_host.AddScriptLPS(1); | ||
855 | NotImplemented("llDetectedTouchPos"); | ||
856 | return new LSL_Vector(); | ||
857 | } | ||
819 | 858 | ||
820 | return new LSL_Types.LSLInteger(parms.LinkNum); | 859 | public LSL_Vector llDetectedTouchST(int index) |
860 | { | ||
861 | m_host.AddScriptLPS(1); | ||
862 | NotImplemented("llDetectedTouchST"); | ||
863 | return new LSL_Vector(); | ||
864 | } | ||
865 | |||
866 | public LSL_Vector llDetectedTouchUV(int index) | ||
867 | { | ||
868 | m_host.AddScriptLPS(1); | ||
869 | NotImplemented("llDetectedTouchUV"); | ||
870 | return new LSL_Vector(); | ||
821 | } | 871 | } |
822 | 872 | ||
823 | public void llDie() | 873 | public void llDie() |
@@ -826,7 +876,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
826 | throw new SelfDeleteException(); | 876 | throw new SelfDeleteException(); |
827 | } | 877 | } |
828 | 878 | ||
829 | public LSL_Types.LSLFloat llGround(LSL_Types.Vector3 offset) | 879 | public LSL_Float llGround(LSL_Vector offset) |
830 | { | 880 | { |
831 | m_host.AddScriptLPS(1); | 881 | m_host.AddScriptLPS(1); |
832 | int x = (int)(m_host.OffsetPosition.X + offset.x); | 882 | int x = (int)(m_host.OffsetPosition.X + offset.x); |
@@ -834,16 +884,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
834 | return World.GetLandHeight(x, y); | 884 | return World.GetLandHeight(x, y); |
835 | } | 885 | } |
836 | 886 | ||
837 | public LSL_Types.LSLFloat llCloud(LSL_Types.Vector3 offset) | 887 | public LSL_Float llCloud(LSL_Vector offset) |
838 | { | 888 | { |
839 | m_host.AddScriptLPS(1); | 889 | m_host.AddScriptLPS(1); |
840 | return 0; | 890 | return 0; |
841 | } | 891 | } |
842 | 892 | ||
843 | public LSL_Types.Vector3 llWind(LSL_Types.Vector3 offset) | 893 | public LSL_Vector llWind(LSL_Vector offset) |
844 | { | 894 | { |
845 | m_host.AddScriptLPS(1); | 895 | m_host.AddScriptLPS(1); |
846 | return new LSL_Types.Vector3(); | 896 | return new LSL_Vector(); |
847 | } | 897 | } |
848 | 898 | ||
849 | public void llSetStatus(int status, int value) | 899 | public void llSetStatus(int status, int value) |
@@ -934,7 +984,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
934 | } | 984 | } |
935 | } | 985 | } |
936 | 986 | ||
937 | public LSL_Types.LSLInteger llGetStatus(int status) | 987 | public LSL_Integer llGetStatus(int status) |
938 | { | 988 | { |
939 | m_host.AddScriptLPS(1); | 989 | m_host.AddScriptLPS(1); |
940 | // Console.WriteLine(m_host.ToString() + " status is " + m_host.GetEffectiveObjectFlags().ToString()); | 990 | // Console.WriteLine(m_host.ToString() + " status is " + m_host.GetEffectiveObjectFlags().ToString()); |
@@ -994,13 +1044,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
994 | return 0; | 1044 | return 0; |
995 | } | 1045 | } |
996 | 1046 | ||
997 | public void llSetScale(LSL_Types.Vector3 scale) | 1047 | public void llSetScale(LSL_Vector scale) |
998 | { | 1048 | { |
999 | m_host.AddScriptLPS(1); | 1049 | m_host.AddScriptLPS(1); |
1000 | SetScale(m_host, scale); | 1050 | SetScale(m_host, scale); |
1001 | } | 1051 | } |
1002 | 1052 | ||
1003 | private void SetScale(SceneObjectPart part, LSL_Types.Vector3 scale) | 1053 | private void SetScale(SceneObjectPart part, LSL_Vector scale) |
1004 | { | 1054 | { |
1005 | // TODO: this needs to trigger a persistance save as well | 1055 | // TODO: this needs to trigger a persistance save as well |
1006 | 1056 | ||
@@ -1030,20 +1080,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1030 | part.SendFullUpdateToAllClients(); | 1080 | part.SendFullUpdateToAllClients(); |
1031 | } | 1081 | } |
1032 | 1082 | ||
1033 | public LSL_Types.Vector3 llGetScale() | 1083 | public LSL_Vector llGetScale() |
1034 | { | 1084 | { |
1035 | m_host.AddScriptLPS(1); | 1085 | m_host.AddScriptLPS(1); |
1036 | return new LSL_Types.Vector3(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); | 1086 | return new LSL_Vector(m_host.Scale.X, m_host.Scale.Y, m_host.Scale.Z); |
1037 | } | 1087 | } |
1038 | 1088 | ||
1039 | public void llSetColor(LSL_Types.Vector3 color, int face) | 1089 | public void llSetClickAction(int action) |
1090 | { | ||
1091 | m_host.AddScriptLPS(1); | ||
1092 | NotImplemented("llSetClickAction"); | ||
1093 | return; | ||
1094 | } | ||
1095 | |||
1096 | public void llSetColor(LSL_Vector color, int face) | ||
1040 | { | 1097 | { |
1041 | m_host.AddScriptLPS(1); | 1098 | m_host.AddScriptLPS(1); |
1042 | 1099 | ||
1043 | SetColor(m_host, color, face); | 1100 | SetColor(m_host, color, face); |
1044 | } | 1101 | } |
1045 | 1102 | ||
1046 | private void SetColor(SceneObjectPart part, LSL_Types.Vector3 color, int face) | 1103 | private void SetColor(SceneObjectPart part, LSL_Vector color, int face) |
1047 | { | 1104 | { |
1048 | Primitive.TextureEntry tex = part.Shape.Textures; | 1105 | Primitive.TextureEntry tex = part.Shape.Textures; |
1049 | Color4 texcolor; | 1106 | Color4 texcolor; |
@@ -1180,14 +1237,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1180 | } | 1237 | } |
1181 | } | 1238 | } |
1182 | 1239 | ||
1183 | public LSL_Types.LSLFloat llGetAlpha(int face) | 1240 | public LSL_Float llGetAlpha(int face) |
1184 | { | 1241 | { |
1185 | m_host.AddScriptLPS(1); | 1242 | m_host.AddScriptLPS(1); |
1186 | 1243 | ||
1187 | return GetAlpha(m_host, face); | 1244 | return GetAlpha(m_host, face); |
1188 | } | 1245 | } |
1189 | 1246 | ||
1190 | private LSL_Types.LSLFloat GetAlpha(SceneObjectPart part, int face) | 1247 | private LSL_Float GetAlpha(SceneObjectPart part, int face) |
1191 | { | 1248 | { |
1192 | Primitive.TextureEntry tex = part.Shape.Textures; | 1249 | Primitive.TextureEntry tex = part.Shape.Textures; |
1193 | if (face == ScriptBaseClass.ALL_SIDES) | 1250 | if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1257,7 +1314,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1257 | /// <param name="tension"></param> | 1314 | /// <param name="tension"></param> |
1258 | /// <param name="Force"></param> | 1315 | /// <param name="Force"></param> |
1259 | private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction, | 1316 | private void SetFlexi(SceneObjectPart part, bool flexi, int softness, float gravity, float friction, |
1260 | float wind, float tension, LSL_Types.Vector3 Force) | 1317 | float wind, float tension, LSL_Vector Force) |
1261 | { | 1318 | { |
1262 | if (part == null) | 1319 | if (part == null) |
1263 | return; | 1320 | return; |
@@ -1315,7 +1372,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1315 | /// <param name="intensity"></param> | 1372 | /// <param name="intensity"></param> |
1316 | /// <param name="radius"></param> | 1373 | /// <param name="radius"></param> |
1317 | /// <param name="falloff"></param> | 1374 | /// <param name="falloff"></param> |
1318 | private void SetPointLight(SceneObjectPart part, bool light, LSL_Types.Vector3 color, float intensity, float radius, float falloff) | 1375 | private void SetPointLight(SceneObjectPart part, bool light, LSL_Vector color, float intensity, float radius, float falloff) |
1319 | { | 1376 | { |
1320 | if (part == null) | 1377 | if (part == null) |
1321 | return; | 1378 | return; |
@@ -1339,17 +1396,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1339 | part.ScheduleFullUpdate(); | 1396 | part.ScheduleFullUpdate(); |
1340 | } | 1397 | } |
1341 | 1398 | ||
1342 | public LSL_Types.Vector3 llGetColor(int face) | 1399 | public LSL_Vector llGetColor(int face) |
1343 | { | 1400 | { |
1344 | m_host.AddScriptLPS(1); | 1401 | m_host.AddScriptLPS(1); |
1345 | return GetColor(m_host, face); | 1402 | return GetColor(m_host, face); |
1346 | } | 1403 | } |
1347 | 1404 | ||
1348 | private LSL_Types.Vector3 GetColor(SceneObjectPart part, int face) | 1405 | private LSL_Vector GetColor(SceneObjectPart part, int face) |
1349 | { | 1406 | { |
1350 | Primitive.TextureEntry tex = part.Shape.Textures; | 1407 | Primitive.TextureEntry tex = part.Shape.Textures; |
1351 | Color4 texcolor; | 1408 | Color4 texcolor; |
1352 | LSL_Types.Vector3 rgb = new LSL_Types.Vector3(); | 1409 | LSL_Vector rgb = new LSL_Vector(); |
1353 | if (face == ScriptBaseClass.ALL_SIDES) | 1410 | if (face == ScriptBaseClass.ALL_SIDES) |
1354 | { | 1411 | { |
1355 | int i; | 1412 | int i; |
@@ -1378,7 +1435,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1378 | } | 1435 | } |
1379 | else | 1436 | else |
1380 | { | 1437 | { |
1381 | return new LSL_Types.Vector3(); | 1438 | return new LSL_Vector(); |
1382 | } | 1439 | } |
1383 | } | 1440 | } |
1384 | 1441 | ||
@@ -1532,13 +1589,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1532 | } | 1589 | } |
1533 | } | 1590 | } |
1534 | 1591 | ||
1535 | public LSL_Types.LSLString llGetTexture(int face) | 1592 | public LSL_String llGetTexture(int face) |
1536 | { | 1593 | { |
1537 | m_host.AddScriptLPS(1); | 1594 | m_host.AddScriptLPS(1); |
1538 | return GetTexture(m_host, face); | 1595 | return GetTexture(m_host, face); |
1539 | } | 1596 | } |
1540 | 1597 | ||
1541 | private LSL_Types.LSLString GetTexture(SceneObjectPart part, int face) | 1598 | private LSL_String GetTexture(SceneObjectPart part, int face) |
1542 | { | 1599 | { |
1543 | Primitive.TextureEntry tex = part.Shape.Textures; | 1600 | Primitive.TextureEntry tex = part.Shape.Textures; |
1544 | if (face == ScriptBaseClass.ALL_SIDES) | 1601 | if (face == ScriptBaseClass.ALL_SIDES) |
@@ -1557,7 +1614,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1557 | } | 1614 | } |
1558 | } | 1615 | } |
1559 | 1616 | ||
1560 | public void llSetPos(LSL_Types.Vector3 pos) | 1617 | public void llSetPos(LSL_Vector pos) |
1561 | { | 1618 | { |
1562 | m_host.AddScriptLPS(1); | 1619 | m_host.AddScriptLPS(1); |
1563 | 1620 | ||
@@ -1566,10 +1623,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1566 | ScriptSleep(200); | 1623 | ScriptSleep(200); |
1567 | } | 1624 | } |
1568 | 1625 | ||
1569 | private void SetPos(SceneObjectPart part, LSL_Types.Vector3 targetPos) | 1626 | private void SetPos(SceneObjectPart part, LSL_Vector targetPos) |
1570 | { | 1627 | { |
1571 | // Capped movemment if distance > 10m (http://wiki.secondlife.com/wiki/LlSetPos) | 1628 | // Capped movemment if distance > 10m (http://wiki.secondlife.com/wiki/LlSetPos) |
1572 | LSL_Types.Vector3 currentPos = llGetLocalPos(); | 1629 | LSL_Vector currentPos = llGetLocalPos(); |
1573 | if (llVecDist(currentPos, targetPos) > 10.0f * m_ScriptDistanceFactor) | 1630 | if (llVecDist(currentPos, targetPos) > 10.0f * m_ScriptDistanceFactor) |
1574 | { | 1631 | { |
1575 | targetPos = currentPos + m_ScriptDistanceFactor * 10 * llVecNorm(targetPos - currentPos); | 1632 | targetPos = currentPos + m_ScriptDistanceFactor * 10 * llVecNorm(targetPos - currentPos); |
@@ -1585,32 +1642,32 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1585 | } | 1642 | } |
1586 | } | 1643 | } |
1587 | 1644 | ||
1588 | public LSL_Types.Vector3 llGetPos() | 1645 | public LSL_Vector llGetPos() |
1589 | { | 1646 | { |
1590 | m_host.AddScriptLPS(1); | 1647 | m_host.AddScriptLPS(1); |
1591 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, | 1648 | return new LSL_Vector(m_host.AbsolutePosition.X, |
1592 | m_host.AbsolutePosition.Y, | 1649 | m_host.AbsolutePosition.Y, |
1593 | m_host.AbsolutePosition.Z); | 1650 | m_host.AbsolutePosition.Z); |
1594 | } | 1651 | } |
1595 | 1652 | ||
1596 | public LSL_Types.Vector3 llGetLocalPos() | 1653 | public LSL_Vector llGetLocalPos() |
1597 | { | 1654 | { |
1598 | m_host.AddScriptLPS(1); | 1655 | m_host.AddScriptLPS(1); |
1599 | if (m_host.ParentID != 0) | 1656 | if (m_host.ParentID != 0) |
1600 | { | 1657 | { |
1601 | return new LSL_Types.Vector3(m_host.OffsetPosition.X, | 1658 | return new LSL_Vector(m_host.OffsetPosition.X, |
1602 | m_host.OffsetPosition.Y, | 1659 | m_host.OffsetPosition.Y, |
1603 | m_host.OffsetPosition.Z); | 1660 | m_host.OffsetPosition.Z); |
1604 | } | 1661 | } |
1605 | else | 1662 | else |
1606 | { | 1663 | { |
1607 | return new LSL_Types.Vector3(m_host.AbsolutePosition.X, | 1664 | return new LSL_Vector(m_host.AbsolutePosition.X, |
1608 | m_host.AbsolutePosition.Y, | 1665 | m_host.AbsolutePosition.Y, |
1609 | m_host.AbsolutePosition.Z); | 1666 | m_host.AbsolutePosition.Z); |
1610 | } | 1667 | } |
1611 | } | 1668 | } |
1612 | 1669 | ||
1613 | public void llSetRot(LSL_Types.Quaternion rot) | 1670 | public void llSetRot(LSL_Rotation rot) |
1614 | { | 1671 | { |
1615 | m_host.AddScriptLPS(1); | 1672 | m_host.AddScriptLPS(1); |
1616 | 1673 | ||
@@ -1619,27 +1676,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1619 | ScriptSleep(200); | 1676 | ScriptSleep(200); |
1620 | } | 1677 | } |
1621 | 1678 | ||
1622 | private void SetRot(SceneObjectPart part, LSL_Types.Quaternion rot) | 1679 | private void SetRot(SceneObjectPart part, LSL_Rotation rot) |
1623 | { | 1680 | { |
1624 | part.UpdateRotation(new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); | 1681 | part.UpdateRotation(new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s)); |
1625 | // Update rotation does not move the object in the physics scene if it's a linkset. | 1682 | // Update rotation does not move the object in the physics scene if it's a linkset. |
1626 | part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition; | 1683 | part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition; |
1627 | } | 1684 | } |
1628 | 1685 | ||
1629 | public LSL_Types.Quaternion llGetRot() | 1686 | public LSL_Rotation llGetRot() |
1630 | { | 1687 | { |
1631 | m_host.AddScriptLPS(1); | 1688 | m_host.AddScriptLPS(1); |
1632 | Quaternion q = m_host.RotationOffset; | 1689 | Quaternion q = m_host.RotationOffset; |
1633 | return new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); | 1690 | return new LSL_Rotation(q.X, q.Y, q.Z, q.W); |
1634 | } | 1691 | } |
1635 | 1692 | ||
1636 | public LSL_Types.Quaternion llGetLocalRot() | 1693 | public LSL_Rotation llGetLocalRot() |
1637 | { | 1694 | { |
1638 | m_host.AddScriptLPS(1); | 1695 | m_host.AddScriptLPS(1); |
1639 | return new LSL_Types.Quaternion(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); | 1696 | return new LSL_Rotation(m_host.RotationOffset.X, m_host.RotationOffset.Y, m_host.RotationOffset.Z, m_host.RotationOffset.W); |
1640 | } | 1697 | } |
1641 | 1698 | ||
1642 | public void llSetForce(LSL_Types.Vector3 force, int local) | 1699 | public void llSetForce(LSL_Vector force, int local) |
1643 | { | 1700 | { |
1644 | m_host.AddScriptLPS(1); | 1701 | m_host.AddScriptLPS(1); |
1645 | 1702 | ||
@@ -1655,9 +1712,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1655 | } | 1712 | } |
1656 | } | 1713 | } |
1657 | 1714 | ||
1658 | public LSL_Types.Vector3 llGetForce() | 1715 | public LSL_Vector llGetForce() |
1659 | { | 1716 | { |
1660 | LSL_Types.Vector3 force = new LSL_Types.Vector3(0.0, 0.0, 0.0); | 1717 | LSL_Vector force = new LSL_Vector(0.0, 0.0, 0.0); |
1661 | 1718 | ||
1662 | m_host.AddScriptLPS(1); | 1719 | m_host.AddScriptLPS(1); |
1663 | 1720 | ||
@@ -1675,7 +1732,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1675 | return force; | 1732 | return force; |
1676 | } | 1733 | } |
1677 | 1734 | ||
1678 | public LSL_Types.LSLInteger llTarget(LSL_Types.Vector3 position, double range) | 1735 | public LSL_Integer llTarget(LSL_Vector position, double range) |
1679 | { | 1736 | { |
1680 | m_host.AddScriptLPS(1); | 1737 | m_host.AddScriptLPS(1); |
1681 | return m_host.registerTargetWaypoint(new Vector3((float)position.x, (float)position.y, (float)position.z), (float)range); | 1738 | return m_host.registerTargetWaypoint(new Vector3((float)position.x, (float)position.y, (float)position.z), (float)range); |
@@ -1687,7 +1744,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1687 | m_host.unregisterTargetWaypoint(number); | 1744 | m_host.unregisterTargetWaypoint(number); |
1688 | } | 1745 | } |
1689 | 1746 | ||
1690 | public LSL_Types.LSLInteger llRotTarget(LSL_Types.Quaternion rot, double error) | 1747 | public LSL_Integer llRotTarget(LSL_Rotation rot, double error) |
1691 | { | 1748 | { |
1692 | m_host.AddScriptLPS(1); | 1749 | m_host.AddScriptLPS(1); |
1693 | NotImplemented("llRotTarget"); | 1750 | NotImplemented("llRotTarget"); |
@@ -1700,7 +1757,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1700 | NotImplemented("llRotTargetRemove"); | 1757 | NotImplemented("llRotTargetRemove"); |
1701 | } | 1758 | } |
1702 | 1759 | ||
1703 | public void llMoveToTarget(LSL_Types.Vector3 target, double tau) | 1760 | public void llMoveToTarget(LSL_Vector target, double tau) |
1704 | { | 1761 | { |
1705 | m_host.AddScriptLPS(1); | 1762 | m_host.AddScriptLPS(1); |
1706 | m_host.MoveToTarget(new Vector3((float)target.x, (float)target.y, (float)target.z), (float)tau); | 1763 | m_host.MoveToTarget(new Vector3((float)target.x, (float)target.y, (float)target.z), (float)tau); |
@@ -1712,7 +1769,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1712 | m_host.StopMoveToTarget(); | 1769 | m_host.StopMoveToTarget(); |
1713 | } | 1770 | } |
1714 | 1771 | ||
1715 | public void llApplyImpulse(LSL_Types.Vector3 force, int local) | 1772 | public void llApplyImpulse(LSL_Vector force, int local) |
1716 | { | 1773 | { |
1717 | m_host.AddScriptLPS(1); | 1774 | m_host.AddScriptLPS(1); |
1718 | //No energy force yet | 1775 | //No energy force yet |
@@ -1727,62 +1784,62 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1727 | m_host.ApplyImpulse(new Vector3((float)force.x, (float)force.y, (float)force.z), local != 0); | 1784 | m_host.ApplyImpulse(new Vector3((float)force.x, (float)force.y, (float)force.z), local != 0); |
1728 | } | 1785 | } |
1729 | 1786 | ||
1730 | public void llApplyRotationalImpulse(LSL_Types.Vector3 force, int local) | 1787 | public void llApplyRotationalImpulse(LSL_Vector force, int local) |
1731 | { | 1788 | { |
1732 | m_host.AddScriptLPS(1); | 1789 | m_host.AddScriptLPS(1); |
1733 | NotImplemented("llApplyRotationalImpulse"); | 1790 | NotImplemented("llApplyRotationalImpulse"); |
1734 | } | 1791 | } |
1735 | 1792 | ||
1736 | public void llSetTorque(LSL_Types.Vector3 torque, int local) | 1793 | public void llSetTorque(LSL_Vector torque, int local) |
1737 | { | 1794 | { |
1738 | m_host.AddScriptLPS(1); | 1795 | m_host.AddScriptLPS(1); |
1739 | NotImplemented("llSetTorque"); | 1796 | NotImplemented("llSetTorque"); |
1740 | } | 1797 | } |
1741 | 1798 | ||
1742 | public LSL_Types.Vector3 llGetTorque() | 1799 | public LSL_Vector llGetTorque() |
1743 | { | 1800 | { |
1744 | m_host.AddScriptLPS(1); | 1801 | m_host.AddScriptLPS(1); |
1745 | NotImplemented("llGetTorque"); | 1802 | NotImplemented("llGetTorque"); |
1746 | return new LSL_Types.Vector3(); | 1803 | return new LSL_Vector(); |
1747 | } | 1804 | } |
1748 | 1805 | ||
1749 | public void llSetForceAndTorque(LSL_Types.Vector3 force, LSL_Types.Vector3 torque, int local) | 1806 | public void llSetForceAndTorque(LSL_Vector force, LSL_Vector torque, int local) |
1750 | { | 1807 | { |
1751 | m_host.AddScriptLPS(1); | 1808 | m_host.AddScriptLPS(1); |
1752 | NotImplemented("llSetForceAndTorque"); | 1809 | NotImplemented("llSetForceAndTorque"); |
1753 | } | 1810 | } |
1754 | 1811 | ||
1755 | public LSL_Types.Vector3 llGetVel() | 1812 | public LSL_Vector llGetVel() |
1756 | { | 1813 | { |
1757 | m_host.AddScriptLPS(1); | 1814 | m_host.AddScriptLPS(1); |
1758 | return new LSL_Types.Vector3(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); | 1815 | return new LSL_Vector(m_host.Velocity.X, m_host.Velocity.Y, m_host.Velocity.Z); |
1759 | } | 1816 | } |
1760 | 1817 | ||
1761 | public LSL_Types.Vector3 llGetAccel() | 1818 | public LSL_Vector llGetAccel() |
1762 | { | 1819 | { |
1763 | m_host.AddScriptLPS(1); | 1820 | m_host.AddScriptLPS(1); |
1764 | return new LSL_Types.Vector3(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); | 1821 | return new LSL_Vector(m_host.Acceleration.X, m_host.Acceleration.Y, m_host.Acceleration.Z); |
1765 | } | 1822 | } |
1766 | 1823 | ||
1767 | public LSL_Types.Vector3 llGetOmega() | 1824 | public LSL_Vector llGetOmega() |
1768 | { | 1825 | { |
1769 | m_host.AddScriptLPS(1); | 1826 | m_host.AddScriptLPS(1); |
1770 | return new LSL_Types.Vector3(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z); | 1827 | return new LSL_Vector(m_host.RotationalVelocity.X, m_host.RotationalVelocity.Y, m_host.RotationalVelocity.Z); |
1771 | } | 1828 | } |
1772 | 1829 | ||
1773 | public LSL_Types.LSLFloat llGetTimeOfDay() | 1830 | public LSL_Float llGetTimeOfDay() |
1774 | { | 1831 | { |
1775 | m_host.AddScriptLPS(1); | 1832 | m_host.AddScriptLPS(1); |
1776 | return (double)(((DateTime.Now.TimeOfDay.TotalMilliseconds / 1000) % (3600 * 4)) * World.TimeDilation); | 1833 | return (double)(((DateTime.Now.TimeOfDay.TotalMilliseconds / 1000) % (3600 * 4)) * World.TimeDilation); |
1777 | } | 1834 | } |
1778 | 1835 | ||
1779 | public LSL_Types.LSLFloat llGetWallclock() | 1836 | public LSL_Float llGetWallclock() |
1780 | { | 1837 | { |
1781 | m_host.AddScriptLPS(1); | 1838 | m_host.AddScriptLPS(1); |
1782 | return DateTime.Now.TimeOfDay.TotalSeconds; | 1839 | return DateTime.Now.TimeOfDay.TotalSeconds; |
1783 | } | 1840 | } |
1784 | 1841 | ||
1785 | public LSL_Types.LSLFloat llGetTime() | 1842 | public LSL_Float llGetTime() |
1786 | { | 1843 | { |
1787 | m_host.AddScriptLPS(1); | 1844 | m_host.AddScriptLPS(1); |
1788 | TimeSpan ScriptTime = DateTime.Now - m_timer; | 1845 | TimeSpan ScriptTime = DateTime.Now - m_timer; |
@@ -1795,7 +1852,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1795 | m_timer = DateTime.Now; | 1852 | m_timer = DateTime.Now; |
1796 | } | 1853 | } |
1797 | 1854 | ||
1798 | public LSL_Types.LSLFloat llGetAndResetTime() | 1855 | public LSL_Float llGetAndResetTime() |
1799 | { | 1856 | { |
1800 | m_host.AddScriptLPS(1); | 1857 | m_host.AddScriptLPS(1); |
1801 | TimeSpan ScriptTime = DateTime.Now - m_timer; | 1858 | TimeSpan ScriptTime = DateTime.Now - m_timer; |
@@ -1900,7 +1957,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1900 | /// this more complicated than it might otherwise seem. | 1957 | /// this more complicated than it might otherwise seem. |
1901 | /// </summary> | 1958 | /// </summary> |
1902 | 1959 | ||
1903 | public LSL_Types.LSLString llGetSubString(string src, int start, int end) | 1960 | public LSL_String llGetSubString(string src, int start, int end) |
1904 | { | 1961 | { |
1905 | 1962 | ||
1906 | m_host.AddScriptLPS(1); | 1963 | m_host.AddScriptLPS(1); |
@@ -1996,7 +2053,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1996 | /// i.e. end < start. | 2053 | /// i.e. end < start. |
1997 | /// </summary> | 2054 | /// </summary> |
1998 | 2055 | ||
1999 | public LSL_Types.LSLString llDeleteSubString(string src, int start, int end) | 2056 | public LSL_String llDeleteSubString(string src, int start, int end) |
2000 | { | 2057 | { |
2001 | 2058 | ||
2002 | m_host.AddScriptLPS(1); | 2059 | m_host.AddScriptLPS(1); |
@@ -2079,7 +2136,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2079 | /// string bound, with the result being a concatenation. | 2136 | /// string bound, with the result being a concatenation. |
2080 | /// </summary> | 2137 | /// </summary> |
2081 | 2138 | ||
2082 | public LSL_Types.LSLString llInsertString(string dest, int index, string src) | 2139 | public LSL_String llInsertString(string dest, int index, string src) |
2083 | { | 2140 | { |
2084 | 2141 | ||
2085 | m_host.AddScriptLPS(1); | 2142 | m_host.AddScriptLPS(1); |
@@ -2117,19 +2174,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2117 | 2174 | ||
2118 | } | 2175 | } |
2119 | 2176 | ||
2120 | public LSL_Types.LSLString llToUpper(string src) | 2177 | public LSL_String llToUpper(string src) |
2121 | { | 2178 | { |
2122 | m_host.AddScriptLPS(1); | 2179 | m_host.AddScriptLPS(1); |
2123 | return src.ToUpper(); | 2180 | return src.ToUpper(); |
2124 | } | 2181 | } |
2125 | 2182 | ||
2126 | public LSL_Types.LSLString llToLower(string src) | 2183 | public LSL_String llToLower(string src) |
2127 | { | 2184 | { |
2128 | m_host.AddScriptLPS(1); | 2185 | m_host.AddScriptLPS(1); |
2129 | return src.ToLower(); | 2186 | return src.ToLower(); |
2130 | } | 2187 | } |
2131 | 2188 | ||
2132 | public LSL_Types.LSLInteger llGiveMoney(string destination, int amount) | 2189 | public LSL_Integer llGiveMoney(string destination, int amount) |
2133 | { | 2190 | { |
2134 | UUID invItemID=InventorySelf(); | 2191 | UUID invItemID=InventorySelf(); |
2135 | if (invItemID == UUID.Zero) | 2192 | if (invItemID == UUID.Zero) |
@@ -2198,7 +2255,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2198 | // ScriptSleep(100); | 2255 | // ScriptSleep(100); |
2199 | } | 2256 | } |
2200 | 2257 | ||
2201 | public void llRezAtRoot(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) | 2258 | public void llRezAtRoot(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param) |
2202 | { | 2259 | { |
2203 | m_host.AddScriptLPS(1); | 2260 | m_host.AddScriptLPS(1); |
2204 | 2261 | ||
@@ -2244,14 +2301,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2244 | 2301 | ||
2245 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2302 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2246 | "object_rez", new Object[] { | 2303 | "object_rez", new Object[] { |
2247 | new LSL_Types.LSLString( | 2304 | new LSL_String( |
2248 | new_group.RootPart.UUID.ToString()) }, | 2305 | new_group.RootPart.UUID.ToString()) }, |
2249 | new DetectParams[0])); | 2306 | new DetectParams[0])); |
2250 | 2307 | ||
2251 | float groupmass = new_group.GetMass(); | 2308 | float groupmass = new_group.GetMass(); |
2252 | 2309 | ||
2253 | //Recoil. | 2310 | //Recoil. |
2254 | llApplyImpulse(new LSL_Types.Vector3(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); | 2311 | llApplyImpulse(new LSL_Vector(llvel.X * groupmass, llvel.Y * groupmass, llvel.Z * groupmass), 0); |
2255 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) | 2312 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) |
2256 | ScriptSleep((int)((groupmass * velmag) / 10)); | 2313 | ScriptSleep((int)((groupmass * velmag) / 10)); |
2257 | // ScriptSleep(100); | 2314 | // ScriptSleep(100); |
@@ -2261,12 +2318,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2261 | llSay(0, "Could not find object " + inventory); | 2318 | llSay(0, "Could not find object " + inventory); |
2262 | } | 2319 | } |
2263 | 2320 | ||
2264 | public void llRezObject(string inventory, LSL_Types.Vector3 pos, LSL_Types.Vector3 vel, LSL_Types.Quaternion rot, int param) | 2321 | public void llRezObject(string inventory, LSL_Vector pos, LSL_Vector vel, LSL_Rotation rot, int param) |
2265 | { | 2322 | { |
2266 | llRezAtRoot(inventory, pos, vel, rot, param); | 2323 | llRezAtRoot(inventory, pos, vel, rot, param); |
2267 | } | 2324 | } |
2268 | 2325 | ||
2269 | public void llLookAt(LSL_Types.Vector3 target, double strength, double damping) | 2326 | public void llLookAt(LSL_Vector target, double strength, double damping) |
2270 | { | 2327 | { |
2271 | m_host.AddScriptLPS(1); | 2328 | m_host.AddScriptLPS(1); |
2272 | NotImplemented("llLookAt"); | 2329 | NotImplemented("llLookAt"); |
@@ -2291,7 +2348,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2291 | Thread.Sleep((int)(sec * 1000)); | 2348 | Thread.Sleep((int)(sec * 1000)); |
2292 | } | 2349 | } |
2293 | 2350 | ||
2294 | public LSL_Types.LSLFloat llGetMass() | 2351 | public LSL_Float llGetMass() |
2295 | { | 2352 | { |
2296 | m_host.AddScriptLPS(1); | 2353 | m_host.AddScriptLPS(1); |
2297 | return m_host.GetMass(); | 2354 | return m_host.GetMass(); |
@@ -2325,7 +2382,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2325 | } | 2382 | } |
2326 | 2383 | ||
2327 | m_host.AddScriptLPS(1); | 2384 | m_host.AddScriptLPS(1); |
2328 | //NotImplemented("llTakeControls"); | ||
2329 | } | 2385 | } |
2330 | 2386 | ||
2331 | public void llReleaseControls() | 2387 | public void llReleaseControls() |
@@ -2378,7 +2434,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2378 | Deprecated("llReleaseCamera"); | 2434 | Deprecated("llReleaseCamera"); |
2379 | } | 2435 | } |
2380 | 2436 | ||
2381 | public LSL_Types.LSLString llGetOwner() | 2437 | public LSL_String llGetOwner() |
2382 | { | 2438 | { |
2383 | m_host.AddScriptLPS(1); | 2439 | m_host.AddScriptLPS(1); |
2384 | 2440 | ||
@@ -2428,8 +2484,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2428 | msg.binaryBucket = new byte[0];// binaryBucket; | 2484 | msg.binaryBucket = new byte[0];// binaryBucket; |
2429 | World.TriggerGridInstantMessage(msg, InstantMessageReceiver.IMModule); | 2485 | World.TriggerGridInstantMessage(msg, InstantMessageReceiver.IMModule); |
2430 | // ScriptSleep(2000); | 2486 | // ScriptSleep(2000); |
2431 | |||
2432 | // NotImplemented("llInstantMessage"); | ||
2433 | } | 2487 | } |
2434 | 2488 | ||
2435 | public void llEmail(string address, string subject, string message) | 2489 | public void llEmail(string address, string subject, string message) |
@@ -2459,16 +2513,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2459 | m_ScriptEngine.PostObjectEvent(m_host.LocalId, | 2513 | m_ScriptEngine.PostObjectEvent(m_host.LocalId, |
2460 | new EventParams("email", | 2514 | new EventParams("email", |
2461 | new Object[] { | 2515 | new Object[] { |
2462 | new LSL_Types.LSLString(email.time), | 2516 | new LSL_String(email.time), |
2463 | new LSL_Types.LSLString(email.sender), | 2517 | new LSL_String(email.sender), |
2464 | new LSL_Types.LSLString(email.subject), | 2518 | new LSL_String(email.subject), |
2465 | new LSL_Types.LSLString(email.message), | 2519 | new LSL_String(email.message), |
2466 | new LSL_Types.LSLInteger(email.numLeft)}, | 2520 | new LSL_Integer(email.numLeft)}, |
2467 | new DetectParams[0])); | 2521 | new DetectParams[0])); |
2468 | 2522 | ||
2469 | } | 2523 | } |
2470 | 2524 | ||
2471 | public LSL_Types.LSLString llGetKey() | 2525 | public LSL_String llGetKey() |
2472 | { | 2526 | { |
2473 | m_host.AddScriptLPS(1); | 2527 | m_host.AddScriptLPS(1); |
2474 | return m_host.UUID.ToString(); | 2528 | return m_host.UUID.ToString(); |
@@ -2512,13 +2566,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2512 | NotImplemented("llSoundPreload"); | 2566 | NotImplemented("llSoundPreload"); |
2513 | } | 2567 | } |
2514 | 2568 | ||
2515 | public void llRotLookAt(LSL_Types.Quaternion target, double strength, double damping) | 2569 | public void llRotLookAt(LSL_Rotation target, double strength, double damping) |
2516 | { | 2570 | { |
2517 | m_host.AddScriptLPS(1); | 2571 | m_host.AddScriptLPS(1); |
2518 | NotImplemented("llRotLookAt"); | 2572 | NotImplemented("llRotLookAt"); |
2519 | } | 2573 | } |
2520 | 2574 | ||
2521 | public LSL_Types.LSLInteger llStringLength(string str) | 2575 | public LSL_Integer llStringLength(string str) |
2522 | { | 2576 | { |
2523 | m_host.AddScriptLPS(1); | 2577 | m_host.AddScriptLPS(1); |
2524 | if (str.Length > 0) | 2578 | if (str.Length > 0) |
@@ -2602,7 +2656,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2602 | NotImplemented("llStopPointAt"); | 2656 | NotImplemented("llStopPointAt"); |
2603 | } | 2657 | } |
2604 | 2658 | ||
2605 | public void llTargetOmega(LSL_Types.Vector3 axis, double spinrate, double gain) | 2659 | public void llTargetOmega(LSL_Vector axis, double spinrate, double gain) |
2606 | { | 2660 | { |
2607 | m_host.AddScriptLPS(1); | 2661 | m_host.AddScriptLPS(1); |
2608 | m_host.RotationalVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); | 2662 | m_host.RotationalVelocity = new Vector3((float)(axis.x * spinrate), (float)(axis.y * spinrate), (float)(axis.z * spinrate)); |
@@ -2612,13 +2666,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2612 | m_host.ParentGroup.HasGroupChanged = true; | 2666 | m_host.ParentGroup.HasGroupChanged = true; |
2613 | } | 2667 | } |
2614 | 2668 | ||
2615 | public LSL_Types.LSLInteger llGetStartParameter() | 2669 | public LSL_Integer llGetStartParameter() |
2616 | { | 2670 | { |
2617 | m_host.AddScriptLPS(1); | 2671 | m_host.AddScriptLPS(1); |
2618 | return m_ScriptEngine.GetStartParameter(m_itemID); | 2672 | return m_ScriptEngine.GetStartParameter(m_itemID); |
2619 | } | 2673 | } |
2620 | 2674 | ||
2621 | public void llGodLikeRezObject(string inventory, LSL_Types.Vector3 pos) | 2675 | public void llGodLikeRezObject(string inventory, LSL_Vector pos) |
2622 | { | 2676 | { |
2623 | m_host.AddScriptLPS(1); | 2677 | m_host.AddScriptLPS(1); |
2624 | NotImplemented("llGodLikeRezObject"); | 2678 | NotImplemented("llGodLikeRezObject"); |
@@ -2645,7 +2699,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2645 | 2699 | ||
2646 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2700 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2647 | "run_time_permissions", new Object[] { | 2701 | "run_time_permissions", new Object[] { |
2648 | new LSL_Types.LSLInteger(0) }, | 2702 | new LSL_Integer(0) }, |
2649 | new DetectParams[0])); | 2703 | new DetectParams[0])); |
2650 | 2704 | ||
2651 | return; | 2705 | return; |
@@ -2671,7 +2725,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2671 | 2725 | ||
2672 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2726 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2673 | "run_time_permissions", new Object[] { | 2727 | "run_time_permissions", new Object[] { |
2674 | new LSL_Types.LSLInteger(perm) }, | 2728 | new LSL_Integer(perm) }, |
2675 | new DetectParams[0])); | 2729 | new DetectParams[0])); |
2676 | 2730 | ||
2677 | return; | 2731 | return; |
@@ -2691,7 +2745,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2691 | 2745 | ||
2692 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2746 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2693 | "run_time_permissions", new Object[] { | 2747 | "run_time_permissions", new Object[] { |
2694 | new LSL_Types.LSLInteger(perm) }, | 2748 | new LSL_Integer(perm) }, |
2695 | new DetectParams[0])); | 2749 | new DetectParams[0])); |
2696 | 2750 | ||
2697 | return; | 2751 | return; |
@@ -2721,7 +2775,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2721 | // Requested agent is not in range, refuse perms | 2775 | // Requested agent is not in range, refuse perms |
2722 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2776 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2723 | "run_time_permissions", new Object[] { | 2777 | "run_time_permissions", new Object[] { |
2724 | new LSL_Types.LSLInteger(0) }, | 2778 | new LSL_Integer(0) }, |
2725 | new DetectParams[0])); | 2779 | new DetectParams[0])); |
2726 | } | 2780 | } |
2727 | 2781 | ||
@@ -2744,11 +2798,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2744 | m_host.TaskInventory[invItemID].PermsMask=answer; | 2798 | m_host.TaskInventory[invItemID].PermsMask=answer; |
2745 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 2799 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
2746 | "run_time_permissions", new Object[] { | 2800 | "run_time_permissions", new Object[] { |
2747 | new LSL_Types.LSLInteger(answer) }, | 2801 | new LSL_Integer(answer) }, |
2748 | new DetectParams[0])); | 2802 | new DetectParams[0])); |
2749 | } | 2803 | } |
2750 | 2804 | ||
2751 | public LSL_Types.LSLString llGetPermissionsKey() | 2805 | public LSL_String llGetPermissionsKey() |
2752 | { | 2806 | { |
2753 | m_host.AddScriptLPS(1); | 2807 | m_host.AddScriptLPS(1); |
2754 | 2808 | ||
@@ -2763,7 +2817,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2763 | return UUID.Zero.ToString(); | 2817 | return UUID.Zero.ToString(); |
2764 | } | 2818 | } |
2765 | 2819 | ||
2766 | public LSL_Types.LSLInteger llGetPermissions() | 2820 | public LSL_Integer llGetPermissions() |
2767 | { | 2821 | { |
2768 | m_host.AddScriptLPS(1); | 2822 | m_host.AddScriptLPS(1); |
2769 | 2823 | ||
@@ -2778,7 +2832,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2778 | return 0; | 2832 | return 0; |
2779 | } | 2833 | } |
2780 | 2834 | ||
2781 | public LSL_Types.LSLInteger llGetLinkNumber() | 2835 | public LSL_Integer llGetLinkNumber() |
2782 | { | 2836 | { |
2783 | m_host.AddScriptLPS(1); | 2837 | m_host.AddScriptLPS(1); |
2784 | 2838 | ||
@@ -2792,7 +2846,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2792 | } | 2846 | } |
2793 | } | 2847 | } |
2794 | 2848 | ||
2795 | public void llSetLinkColor(int linknumber, LSL_Types.Vector3 color, int face) | 2849 | public void llSetLinkColor(int linknumber, LSL_Vector color, int face) |
2796 | { | 2850 | { |
2797 | List<SceneObjectPart> parts = GetLinkParts(linknumber); | 2851 | List<SceneObjectPart> parts = GetLinkParts(linknumber); |
2798 | 2852 | ||
@@ -2915,7 +2969,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2915 | } | 2969 | } |
2916 | } | 2970 | } |
2917 | 2971 | ||
2918 | public LSL_Types.LSLString llGetLinkKey(int linknum) | 2972 | public LSL_String llGetLinkKey(int linknum) |
2919 | { | 2973 | { |
2920 | m_host.AddScriptLPS(1); | 2974 | m_host.AddScriptLPS(1); |
2921 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); | 2975 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); |
@@ -2929,7 +2983,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2929 | } | 2983 | } |
2930 | } | 2984 | } |
2931 | 2985 | ||
2932 | public LSL_Types.LSLString llGetLinkName(int linknum) | 2986 | public LSL_String llGetLinkName(int linknum) |
2933 | { | 2987 | { |
2934 | m_host.AddScriptLPS(1); | 2988 | m_host.AddScriptLPS(1); |
2935 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); | 2989 | SceneObjectPart part = m_host.ParentGroup.GetLinkNumPart(linknum); |
@@ -2943,7 +2997,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2943 | } | 2997 | } |
2944 | } | 2998 | } |
2945 | 2999 | ||
2946 | public LSL_Types.LSLInteger llGetInventoryNumber(int type) | 3000 | public LSL_Integer llGetInventoryNumber(int type) |
2947 | { | 3001 | { |
2948 | m_host.AddScriptLPS(1); | 3002 | m_host.AddScriptLPS(1); |
2949 | int count = 0; | 3003 | int count = 0; |
@@ -2957,7 +3011,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2957 | return count; | 3011 | return count; |
2958 | } | 3012 | } |
2959 | 3013 | ||
2960 | public LSL_Types.LSLString llGetInventoryName(int type, int number) | 3014 | public LSL_String llGetInventoryName(int type, int number) |
2961 | { | 3015 | { |
2962 | m_host.AddScriptLPS(1); | 3016 | m_host.AddScriptLPS(1); |
2963 | ArrayList keys = new ArrayList(); | 3017 | ArrayList keys = new ArrayList(); |
@@ -2999,7 +3053,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2999 | } | 3053 | } |
3000 | } | 3054 | } |
3001 | 3055 | ||
3002 | public LSL_Types.LSLFloat llGetEnergy() | 3056 | public LSL_Float llGetEnergy() |
3003 | { | 3057 | { |
3004 | m_host.AddScriptLPS(1); | 3058 | m_host.AddScriptLPS(1); |
3005 | // TODO: figure out real energy value | 3059 | // TODO: figure out real energy value |
@@ -3063,7 +3117,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3063 | } | 3117 | } |
3064 | } | 3118 | } |
3065 | 3119 | ||
3066 | public void llSetText(string text, LSL_Types.Vector3 color, double alpha) | 3120 | public void llSetText(string text, LSL_Vector color, double alpha) |
3067 | { | 3121 | { |
3068 | m_host.AddScriptLPS(1); | 3122 | m_host.AddScriptLPS(1); |
3069 | Vector3 av3 = new Vector3(Util.Clip((float)color.x, 0.0f, 1.0f), | 3123 | Vector3 av3 = new Vector3(Util.Clip((float)color.x, 0.0f, 1.0f), |
@@ -3073,7 +3127,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3073 | m_host.ParentGroup.HasGroupChanged = true; | 3127 | m_host.ParentGroup.HasGroupChanged = true; |
3074 | } | 3128 | } |
3075 | 3129 | ||
3076 | public LSL_Types.LSLFloat llWater(LSL_Types.Vector3 offset) | 3130 | public LSL_Float llWater(LSL_Vector offset) |
3077 | { | 3131 | { |
3078 | m_host.AddScriptLPS(1); | 3132 | m_host.AddScriptLPS(1); |
3079 | return World.RegionInfo.RegionSettings.WaterHeight; | 3133 | return World.RegionInfo.RegionSettings.WaterHeight; |
@@ -3085,7 +3139,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3085 | NotImplemented("llPassTouches"); | 3139 | NotImplemented("llPassTouches"); |
3086 | } | 3140 | } |
3087 | 3141 | ||
3088 | public LSL_Types.LSLString llRequestAgentData(string id, int data) | 3142 | public LSL_String llRequestAgentData(string id, int data) |
3089 | { | 3143 | { |
3090 | m_host.AddScriptLPS(1); | 3144 | m_host.AddScriptLPS(1); |
3091 | 3145 | ||
@@ -3140,7 +3194,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3140 | return tid.ToString(); | 3194 | return tid.ToString(); |
3141 | } | 3195 | } |
3142 | 3196 | ||
3143 | public LSL_Types.LSLString llRequestInventoryData(string name) | 3197 | public LSL_String llRequestInventoryData(string name) |
3144 | { | 3198 | { |
3145 | m_host.AddScriptLPS(1); | 3199 | m_host.AddScriptLPS(1); |
3146 | 3200 | ||
@@ -3203,6 +3257,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3203 | // ScriptSleep(5000); | 3257 | // ScriptSleep(5000); |
3204 | } | 3258 | } |
3205 | 3259 | ||
3260 | public void llTextBox(string avatar, string message, int chat_channel) | ||
3261 | { | ||
3262 | m_host.AddScriptLPS(1); | ||
3263 | NotImplemented("llTextBox"); | ||
3264 | } | ||
3265 | |||
3206 | public void llModifyLand(int action, int brush) | 3266 | public void llModifyLand(int action, int brush) |
3207 | { | 3267 | { |
3208 | m_host.AddScriptLPS(1); | 3268 | m_host.AddScriptLPS(1); |
@@ -3221,7 +3281,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3221 | NotImplemented("llCollisionSprite"); | 3281 | NotImplemented("llCollisionSprite"); |
3222 | } | 3282 | } |
3223 | 3283 | ||
3224 | public LSL_Types.LSLString llGetAnimation(string id) | 3284 | public LSL_String llGetAnimation(string id) |
3225 | { | 3285 | { |
3226 | m_host.AddScriptLPS(1); | 3286 | m_host.AddScriptLPS(1); |
3227 | NotImplemented("llGetAnimation"); | 3287 | NotImplemented("llGetAnimation"); |
@@ -3259,7 +3319,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3259 | 3319 | ||
3260 | object[] resobj = new object[] | 3320 | object[] resobj = new object[] |
3261 | { | 3321 | { |
3262 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3322 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3263 | }; | 3323 | }; |
3264 | 3324 | ||
3265 | m_ScriptEngine.PostScriptEvent(partItemID, | 3325 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3283,7 +3343,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3283 | partItemID = item.ItemID; | 3343 | partItemID = item.ItemID; |
3284 | Object[] resobj = new object[] | 3344 | Object[] resobj = new object[] |
3285 | { | 3345 | { |
3286 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3346 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3287 | }; | 3347 | }; |
3288 | 3348 | ||
3289 | m_ScriptEngine.PostScriptEvent(partItemID, | 3349 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3311,7 +3371,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3311 | partItemID = item.ItemID; | 3371 | partItemID = item.ItemID; |
3312 | Object[] resobj = new object[] | 3372 | Object[] resobj = new object[] |
3313 | { | 3373 | { |
3314 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3374 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3315 | }; | 3375 | }; |
3316 | 3376 | ||
3317 | m_ScriptEngine.PostScriptEvent(partItemID, | 3377 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3341,7 +3401,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3341 | partItemID = item.ItemID; | 3401 | partItemID = item.ItemID; |
3342 | Object[] resobj = new object[] | 3402 | Object[] resobj = new object[] |
3343 | { | 3403 | { |
3344 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3404 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3345 | }; | 3405 | }; |
3346 | 3406 | ||
3347 | m_ScriptEngine.PostScriptEvent(partItemID, | 3407 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3365,7 +3425,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3365 | 3425 | ||
3366 | object[] resobj = new object[] | 3426 | object[] resobj = new object[] |
3367 | { | 3427 | { |
3368 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3428 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3369 | }; | 3429 | }; |
3370 | 3430 | ||
3371 | m_ScriptEngine.PostScriptEvent(partItemID, | 3431 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3392,7 +3452,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3392 | partItemID = item.ItemID; | 3452 | partItemID = item.ItemID; |
3393 | Object[] resObjDef = new object[] | 3453 | Object[] resObjDef = new object[] |
3394 | { | 3454 | { |
3395 | new LSL_Types.LSLInteger(m_host.LinkNum), new LSL_Types.LSLInteger(num), new LSL_Types.LSLString(msg), new LSL_Types.LSLString(id) | 3455 | new LSL_Integer(m_host.LinkNum), new LSL_Integer(num), new LSL_String(msg), new LSL_String(id) |
3396 | }; | 3456 | }; |
3397 | 3457 | ||
3398 | m_ScriptEngine.PostScriptEvent(partItemID, | 3458 | m_ScriptEngine.PostScriptEvent(partItemID, |
@@ -3410,7 +3470,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3410 | 3470 | ||
3411 | } | 3471 | } |
3412 | 3472 | ||
3413 | public void llPushObject(string target, LSL_Types.Vector3 impulse, LSL_Types.Vector3 ang_impulse, int local) | 3473 | public void llPushObject(string target, LSL_Vector impulse, LSL_Vector ang_impulse, int local) |
3414 | { | 3474 | { |
3415 | m_host.AddScriptLPS(1); | 3475 | m_host.AddScriptLPS(1); |
3416 | SceneObjectPart targ = World.GetSceneObjectPart(target); | 3476 | SceneObjectPart targ = World.GetSceneObjectPart(target); |
@@ -3425,7 +3485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3425 | NotImplemented("llPassCollisions"); | 3485 | NotImplemented("llPassCollisions"); |
3426 | } | 3486 | } |
3427 | 3487 | ||
3428 | public LSL_Types.LSLString llGetScriptName() | 3488 | public LSL_String llGetScriptName() |
3429 | { | 3489 | { |
3430 | 3490 | ||
3431 | string result = String.Empty; | 3491 | string result = String.Empty; |
@@ -3502,7 +3562,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3502 | 3562 | ||
3503 | } | 3563 | } |
3504 | 3564 | ||
3505 | public LSL_Types.LSLInteger llGetNumberOfSides() | 3565 | public LSL_Integer llGetNumberOfSides() |
3506 | { | 3566 | { |
3507 | m_host.AddScriptLPS(1); | 3567 | m_host.AddScriptLPS(1); |
3508 | 3568 | ||
@@ -3597,7 +3657,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3597 | // Xantor 29/apr/2008 | 3657 | // Xantor 29/apr/2008 |
3598 | // Returns rotation described by rotating angle radians about axis. | 3658 | // Returns rotation described by rotating angle radians about axis. |
3599 | // q = cos(a/2) + i (x * sin(a/2)) + j (y * sin(a/2)) + k (z * sin(a/2)) | 3659 | // q = cos(a/2) + i (x * sin(a/2)) + j (y * sin(a/2)) + k (z * sin(a/2)) |
3600 | public LSL_Types.Quaternion llAxisAngle2Rot(LSL_Types.Vector3 axis, double angle) | 3660 | public LSL_Rotation llAxisAngle2Rot(LSL_Vector axis, double angle) |
3601 | { | 3661 | { |
3602 | m_host.AddScriptLPS(1); | 3662 | m_host.AddScriptLPS(1); |
3603 | 3663 | ||
@@ -3609,13 +3669,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3609 | y = axis.y * t; | 3669 | y = axis.y * t; |
3610 | z = axis.z * t; | 3670 | z = axis.z * t; |
3611 | 3671 | ||
3612 | return new LSL_Types.Quaternion(x,y,z,s); | 3672 | return new LSL_Rotation(x,y,z,s); |
3613 | } | 3673 | } |
3614 | 3674 | ||
3615 | 3675 | ||
3616 | // Xantor 29/apr/2008 | 3676 | // Xantor 29/apr/2008 |
3617 | // converts a Quaternion to X,Y,Z axis rotations | 3677 | // converts a Quaternion to X,Y,Z axis rotations |
3618 | public LSL_Types.Vector3 llRot2Axis(LSL_Types.Quaternion rot) | 3678 | public LSL_Vector llRot2Axis(LSL_Rotation rot) |
3619 | { | 3679 | { |
3620 | m_host.AddScriptLPS(1); | 3680 | m_host.AddScriptLPS(1); |
3621 | double x,y,z; | 3681 | double x,y,z; |
@@ -3646,12 +3706,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3646 | z = rot.z / s; | 3706 | z = rot.z / s; |
3647 | } | 3707 | } |
3648 | 3708 | ||
3649 | return new LSL_Types.Vector3(x,y,z); | 3709 | return new LSL_Vector(x,y,z); |
3650 | } | 3710 | } |
3651 | 3711 | ||
3652 | 3712 | ||
3653 | // Returns the angle of a quaternion (see llRot2Axis for the axis) | 3713 | // Returns the angle of a quaternion (see llRot2Axis for the axis) |
3654 | public LSL_Types.LSLFloat llRot2Angle(LSL_Types.Quaternion rot) | 3714 | public LSL_Float llRot2Angle(LSL_Rotation rot) |
3655 | { | 3715 | { |
3656 | m_host.AddScriptLPS(1); | 3716 | m_host.AddScriptLPS(1); |
3657 | 3717 | ||
@@ -3671,27 +3731,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3671 | return angle; | 3731 | return angle; |
3672 | } | 3732 | } |
3673 | 3733 | ||
3674 | public LSL_Types.LSLFloat llAcos(double val) | 3734 | public LSL_Float llAcos(double val) |
3675 | { | 3735 | { |
3676 | m_host.AddScriptLPS(1); | 3736 | m_host.AddScriptLPS(1); |
3677 | return (double)Math.Acos(val); | 3737 | return (double)Math.Acos(val); |
3678 | } | 3738 | } |
3679 | 3739 | ||
3680 | public LSL_Types.LSLFloat llAsin(double val) | 3740 | public LSL_Float llAsin(double val) |
3681 | { | 3741 | { |
3682 | m_host.AddScriptLPS(1); | 3742 | m_host.AddScriptLPS(1); |
3683 | return (double)Math.Asin(val); | 3743 | return (double)Math.Asin(val); |
3684 | } | 3744 | } |
3685 | 3745 | ||
3686 | // Xantor 30/apr/2008 | 3746 | // Xantor 30/apr/2008 |
3687 | public LSL_Types.LSLFloat llAngleBetween(LSL_Types.Quaternion a, LSL_Types.Quaternion b) | 3747 | public LSL_Float llAngleBetween(LSL_Rotation a, LSL_Rotation b) |
3688 | { | 3748 | { |
3689 | m_host.AddScriptLPS(1); | 3749 | m_host.AddScriptLPS(1); |
3690 | 3750 | ||
3691 | return (double) Math.Acos(a.x * b.x + a.y * b.y + a.z * b.z + a.s * b.s) * 2; | 3751 | return (double) Math.Acos(a.x * b.x + a.y * b.y + a.z * b.z + a.s * b.s) * 2; |
3692 | } | 3752 | } |
3693 | 3753 | ||
3694 | public LSL_Types.LSLString llGetInventoryKey(string name) | 3754 | public LSL_String llGetInventoryKey(string name) |
3695 | { | 3755 | { |
3696 | m_host.AddScriptLPS(1); | 3756 | m_host.AddScriptLPS(1); |
3697 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) | 3757 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) |
@@ -3721,15 +3781,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3721 | m_host.ParentGroup.RootPart.AllowedDrop = false; | 3781 | m_host.ParentGroup.RootPart.AllowedDrop = false; |
3722 | } | 3782 | } |
3723 | 3783 | ||
3724 | public LSL_Types.Vector3 llGetSunDirection() | 3784 | public LSL_Vector llGetSunDirection() |
3725 | { | 3785 | { |
3726 | m_host.AddScriptLPS(1); | 3786 | m_host.AddScriptLPS(1); |
3727 | 3787 | ||
3728 | LSL_Types.Vector3 SunDoubleVector3; | 3788 | LSL_Vector SunDoubleVector3; |
3729 | Vector3 SunFloatVector3; | 3789 | Vector3 SunFloatVector3; |
3730 | 3790 | ||
3731 | // sunPosition estate setting is set in OpenSim.Region.Environment.Modules.SunModule | 3791 | // sunPosition estate setting is set in OpenSim.Region.Environment.Modules.SunModule |
3732 | // have to convert from Vector3 (float) to LSL_Types.Vector3 (double) | 3792 | // have to convert from Vector3 (float) to LSL_Vector (double) |
3733 | SunFloatVector3 = World.RegionInfo.RegionSettings.SunVector; | 3793 | SunFloatVector3 = World.RegionInfo.RegionSettings.SunVector; |
3734 | SunDoubleVector3.x = (double)SunFloatVector3.X; | 3794 | SunDoubleVector3.x = (double)SunFloatVector3.X; |
3735 | SunDoubleVector3.y = (double)SunFloatVector3.Y; | 3795 | SunDoubleVector3.y = (double)SunFloatVector3.Y; |
@@ -3738,16 +3798,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3738 | return SunDoubleVector3; | 3798 | return SunDoubleVector3; |
3739 | } | 3799 | } |
3740 | 3800 | ||
3741 | public LSL_Types.Vector3 llGetTextureOffset(int face) | 3801 | public LSL_Vector llGetTextureOffset(int face) |
3742 | { | 3802 | { |
3743 | m_host.AddScriptLPS(1); | 3803 | m_host.AddScriptLPS(1); |
3744 | return GetTextureOffset(m_host, face); | 3804 | return GetTextureOffset(m_host, face); |
3745 | } | 3805 | } |
3746 | 3806 | ||
3747 | private LSL_Types.Vector3 GetTextureOffset(SceneObjectPart part, int face) | 3807 | private LSL_Vector GetTextureOffset(SceneObjectPart part, int face) |
3748 | { | 3808 | { |
3749 | Primitive.TextureEntry tex = part.Shape.Textures; | 3809 | Primitive.TextureEntry tex = part.Shape.Textures; |
3750 | LSL_Types.Vector3 offset = new LSL_Types.Vector3(); | 3810 | LSL_Vector offset = new LSL_Vector(); |
3751 | if (face == ScriptBaseClass.ALL_SIDES) | 3811 | if (face == ScriptBaseClass.ALL_SIDES) |
3752 | { | 3812 | { |
3753 | face = 0; | 3813 | face = 0; |
@@ -3765,11 +3825,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3765 | } | 3825 | } |
3766 | } | 3826 | } |
3767 | 3827 | ||
3768 | public LSL_Types.Vector3 llGetTextureScale(int side) | 3828 | public LSL_Vector llGetTextureScale(int side) |
3769 | { | 3829 | { |
3770 | m_host.AddScriptLPS(1); | 3830 | m_host.AddScriptLPS(1); |
3771 | Primitive.TextureEntry tex = m_host.Shape.Textures; | 3831 | Primitive.TextureEntry tex = m_host.Shape.Textures; |
3772 | LSL_Types.Vector3 scale; | 3832 | LSL_Vector scale; |
3773 | if (side == -1) | 3833 | if (side == -1) |
3774 | { | 3834 | { |
3775 | side = 0; | 3835 | side = 0; |
@@ -3780,13 +3840,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3780 | return scale; | 3840 | return scale; |
3781 | } | 3841 | } |
3782 | 3842 | ||
3783 | public LSL_Types.LSLFloat llGetTextureRot(int face) | 3843 | public LSL_Float llGetTextureRot(int face) |
3784 | { | 3844 | { |
3785 | m_host.AddScriptLPS(1); | 3845 | m_host.AddScriptLPS(1); |
3786 | return GetTextureRot(m_host, face); | 3846 | return GetTextureRot(m_host, face); |
3787 | } | 3847 | } |
3788 | 3848 | ||
3789 | private LSL_Types.LSLFloat GetTextureRot(SceneObjectPart part, int face) | 3849 | private LSL_Float GetTextureRot(SceneObjectPart part, int face) |
3790 | { | 3850 | { |
3791 | Primitive.TextureEntry tex = part.Shape.Textures; | 3851 | Primitive.TextureEntry tex = part.Shape.Textures; |
3792 | if (face == -1) | 3852 | if (face == -1) |
@@ -3803,13 +3863,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3803 | } | 3863 | } |
3804 | } | 3864 | } |
3805 | 3865 | ||
3806 | public LSL_Types.LSLInteger llSubStringIndex(string source, string pattern) | 3866 | public LSL_Integer llSubStringIndex(string source, string pattern) |
3807 | { | 3867 | { |
3808 | m_host.AddScriptLPS(1); | 3868 | m_host.AddScriptLPS(1); |
3809 | return source.IndexOf(pattern); | 3869 | return source.IndexOf(pattern); |
3810 | } | 3870 | } |
3811 | 3871 | ||
3812 | public LSL_Types.LSLString llGetOwnerKey(string id) | 3872 | public LSL_String llGetOwnerKey(string id) |
3813 | { | 3873 | { |
3814 | m_host.AddScriptLPS(1); | 3874 | m_host.AddScriptLPS(1); |
3815 | UUID key = new UUID(); | 3875 | UUID key = new UUID(); |
@@ -3834,14 +3894,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3834 | } | 3894 | } |
3835 | } | 3895 | } |
3836 | 3896 | ||
3837 | public LSL_Types.Vector3 llGetCenterOfMass() | 3897 | public LSL_Vector llGetCenterOfMass() |
3838 | { | 3898 | { |
3839 | m_host.AddScriptLPS(1); | 3899 | m_host.AddScriptLPS(1); |
3840 | NotImplemented("llGetCenterOfMass"); | 3900 | NotImplemented("llGetCenterOfMass"); |
3841 | return new LSL_Types.Vector3(); | 3901 | return new LSL_Vector(); |
3842 | } | 3902 | } |
3843 | 3903 | ||
3844 | public LSL_Types.list llListSort(LSL_Types.list src, int stride, int ascending) | 3904 | public LSL_List llListSort(LSL_List src, int stride, int ascending) |
3845 | { | 3905 | { |
3846 | m_host.AddScriptLPS(1); | 3906 | m_host.AddScriptLPS(1); |
3847 | 3907 | ||
@@ -3852,7 +3912,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3852 | return src.Sort(stride, ascending); | 3912 | return src.Sort(stride, ascending); |
3853 | } | 3913 | } |
3854 | 3914 | ||
3855 | public LSL_Types.LSLInteger llGetListLength(LSL_Types.list src) | 3915 | public LSL_Integer llGetListLength(LSL_List src) |
3856 | { | 3916 | { |
3857 | m_host.AddScriptLPS(1); | 3917 | m_host.AddScriptLPS(1); |
3858 | 3918 | ||
@@ -3866,7 +3926,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3866 | } | 3926 | } |
3867 | } | 3927 | } |
3868 | 3928 | ||
3869 | public LSL_Types.LSLInteger llList2Integer(LSL_Types.list src, int index) | 3929 | public LSL_Integer llList2Integer(LSL_List src, int index) |
3870 | { | 3930 | { |
3871 | m_host.AddScriptLPS(1); | 3931 | m_host.AddScriptLPS(1); |
3872 | if (index < 0) | 3932 | if (index < 0) |
@@ -3879,12 +3939,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3879 | } | 3939 | } |
3880 | try | 3940 | try |
3881 | { | 3941 | { |
3882 | if (src.Data[index] is LSL_Types.LSLInteger) | 3942 | if (src.Data[index] is LSL_Integer) |
3883 | return Convert.ToInt32(((LSL_Types.LSLInteger) src.Data[index]).value); | 3943 | return Convert.ToInt32(((LSL_Integer) src.Data[index]).value); |
3884 | else if (src.Data[index] is LSL_Types.LSLFloat) | 3944 | else if (src.Data[index] is LSL_Float) |
3885 | return Convert.ToInt32(((LSL_Types.LSLFloat) src.Data[index]).value); | 3945 | return Convert.ToInt32(((LSL_Float) src.Data[index]).value); |
3886 | else if (src.Data[index] is LSL_Types.LSLString) | 3946 | else if (src.Data[index] is LSL_String) |
3887 | return Convert.ToInt32(((LSL_Types.LSLString) src.Data[index]).m_string); | 3947 | return Convert.ToInt32(((LSL_String) src.Data[index]).m_string); |
3888 | return Convert.ToInt32(src.Data[index]); | 3948 | return Convert.ToInt32(src.Data[index]); |
3889 | } | 3949 | } |
3890 | catch (FormatException) | 3950 | catch (FormatException) |
@@ -3893,7 +3953,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3893 | } | 3953 | } |
3894 | } | 3954 | } |
3895 | 3955 | ||
3896 | public LSL_Types.LSLFloat llList2Float(LSL_Types.list src, int index) | 3956 | public LSL_Float llList2Float(LSL_List src, int index) |
3897 | { | 3957 | { |
3898 | m_host.AddScriptLPS(1); | 3958 | m_host.AddScriptLPS(1); |
3899 | if (index < 0) | 3959 | if (index < 0) |
@@ -3906,12 +3966,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3906 | } | 3966 | } |
3907 | try | 3967 | try |
3908 | { | 3968 | { |
3909 | if (src.Data[index] is LSL_Types.LSLInteger) | 3969 | if (src.Data[index] is LSL_Integer) |
3910 | return Convert.ToDouble(((LSL_Types.LSLInteger) src.Data[index]).value); | 3970 | return Convert.ToDouble(((LSL_Integer) src.Data[index]).value); |
3911 | else if (src.Data[index] is LSL_Types.LSLFloat) | 3971 | else if (src.Data[index] is LSL_Float) |
3912 | return Convert.ToDouble(((LSL_Types.LSLFloat) src.Data[index]).value); | 3972 | return Convert.ToDouble(((LSL_Float) src.Data[index]).value); |
3913 | else if (src.Data[index] is LSL_Types.LSLString) | 3973 | else if (src.Data[index] is LSL_String) |
3914 | return Convert.ToDouble(((LSL_Types.LSLString) src.Data[index]).m_string); | 3974 | return Convert.ToDouble(((LSL_String) src.Data[index]).m_string); |
3915 | return Convert.ToDouble(src.Data[index]); | 3975 | return Convert.ToDouble(src.Data[index]); |
3916 | } | 3976 | } |
3917 | catch (FormatException) | 3977 | catch (FormatException) |
@@ -3920,7 +3980,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3920 | } | 3980 | } |
3921 | } | 3981 | } |
3922 | 3982 | ||
3923 | public LSL_Types.LSLString llList2String(LSL_Types.list src, int index) | 3983 | public LSL_String llList2String(LSL_List src, int index) |
3924 | { | 3984 | { |
3925 | m_host.AddScriptLPS(1); | 3985 | m_host.AddScriptLPS(1); |
3926 | if (index < 0) | 3986 | if (index < 0) |
@@ -3934,7 +3994,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3934 | return src.Data[index].ToString(); | 3994 | return src.Data[index].ToString(); |
3935 | } | 3995 | } |
3936 | 3996 | ||
3937 | public LSL_Types.LSLString llList2Key(LSL_Types.list src, int index) | 3997 | public LSL_String llList2Key(LSL_List src, int index) |
3938 | { | 3998 | { |
3939 | m_host.AddScriptLPS(1); | 3999 | m_host.AddScriptLPS(1); |
3940 | if (index < 0) | 4000 | if (index < 0) |
@@ -3948,7 +4008,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3948 | return src.Data[index].ToString(); | 4008 | return src.Data[index].ToString(); |
3949 | } | 4009 | } |
3950 | 4010 | ||
3951 | public LSL_Types.Vector3 llList2Vector(LSL_Types.list src, int index) | 4011 | public LSL_Vector llList2Vector(LSL_List src, int index) |
3952 | { | 4012 | { |
3953 | m_host.AddScriptLPS(1); | 4013 | m_host.AddScriptLPS(1); |
3954 | if (index < 0) | 4014 | if (index < 0) |
@@ -3957,19 +4017,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3957 | } | 4017 | } |
3958 | if (index >= src.Length) | 4018 | if (index >= src.Length) |
3959 | { | 4019 | { |
3960 | return new LSL_Types.Vector3(0, 0, 0); | 4020 | return new LSL_Vector(0, 0, 0); |
3961 | } | 4021 | } |
3962 | if (src.Data[index].GetType() == typeof(LSL_Types.Vector3)) | 4022 | if (src.Data[index].GetType() == typeof(LSL_Vector)) |
3963 | { | 4023 | { |
3964 | return (LSL_Types.Vector3)src.Data[index]; | 4024 | return (LSL_Vector)src.Data[index]; |
3965 | } | 4025 | } |
3966 | else | 4026 | else |
3967 | { | 4027 | { |
3968 | return new LSL_Types.Vector3(src.Data[index].ToString()); | 4028 | return new LSL_Vector(src.Data[index].ToString()); |
3969 | } | 4029 | } |
3970 | } | 4030 | } |
3971 | 4031 | ||
3972 | public LSL_Types.Quaternion llList2Rot(LSL_Types.list src, int index) | 4032 | public LSL_Rotation llList2Rot(LSL_List src, int index) |
3973 | { | 4033 | { |
3974 | m_host.AddScriptLPS(1); | 4034 | m_host.AddScriptLPS(1); |
3975 | if (index < 0) | 4035 | if (index < 0) |
@@ -3978,30 +4038,30 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3978 | } | 4038 | } |
3979 | if (index >= src.Length) | 4039 | if (index >= src.Length) |
3980 | { | 4040 | { |
3981 | return new LSL_Types.Quaternion(0, 0, 0, 1); | 4041 | return new LSL_Rotation(0, 0, 0, 1); |
3982 | } | 4042 | } |
3983 | if (src.Data[index].GetType() == typeof(LSL_Types.Quaternion)) | 4043 | if (src.Data[index].GetType() == typeof(LSL_Rotation)) |
3984 | { | 4044 | { |
3985 | return (LSL_Types.Quaternion)src.Data[index]; | 4045 | return (LSL_Rotation)src.Data[index]; |
3986 | } | 4046 | } |
3987 | else | 4047 | else |
3988 | { | 4048 | { |
3989 | return new LSL_Types.Quaternion(src.Data[index].ToString()); | 4049 | return new LSL_Rotation(src.Data[index].ToString()); |
3990 | } | 4050 | } |
3991 | } | 4051 | } |
3992 | 4052 | ||
3993 | public LSL_Types.list llList2List(LSL_Types.list src, int start, int end) | 4053 | public LSL_List llList2List(LSL_List src, int start, int end) |
3994 | { | 4054 | { |
3995 | m_host.AddScriptLPS(1); | 4055 | m_host.AddScriptLPS(1); |
3996 | return src.GetSublist(start, end); | 4056 | return src.GetSublist(start, end); |
3997 | } | 4057 | } |
3998 | 4058 | ||
3999 | public LSL_Types.list llDeleteSubList(LSL_Types.list src, int start, int end) | 4059 | public LSL_List llDeleteSubList(LSL_List src, int start, int end) |
4000 | { | 4060 | { |
4001 | return src.DeleteSublist(end, start); | 4061 | return src.DeleteSublist(end, start); |
4002 | } | 4062 | } |
4003 | 4063 | ||
4004 | public LSL_Types.LSLInteger llGetListEntryType(LSL_Types.list src, int index) | 4064 | public LSL_Integer llGetListEntryType(LSL_List src, int index) |
4005 | { | 4065 | { |
4006 | m_host.AddScriptLPS(1); | 4066 | m_host.AddScriptLPS(1); |
4007 | if (index < 0) | 4067 | if (index < 0) |
@@ -4013,11 +4073,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4013 | return 0; | 4073 | return 0; |
4014 | } | 4074 | } |
4015 | 4075 | ||
4016 | if (src.Data[index] is LSL_Types.LSLInteger || src.Data[index] is Int32) | 4076 | if (src.Data[index] is LSL_Integer || src.Data[index] is Int32) |
4017 | return 1; | 4077 | return 1; |
4018 | if (src.Data[index] is LSL_Types.LSLFloat || src.Data[index] is Single || src.Data[index] is Double) | 4078 | if (src.Data[index] is LSL_Float || src.Data[index] is Single || src.Data[index] is Double) |
4019 | return 2; | 4079 | return 2; |
4020 | if (src.Data[index] is LSL_Types.LSLString || src.Data[index] is String) | 4080 | if (src.Data[index] is LSL_String || src.Data[index] is String) |
4021 | { | 4081 | { |
4022 | UUID tuuid; | 4082 | UUID tuuid; |
4023 | if (UUID.TryParse(src.Data[index].ToString(), out tuuid)) | 4083 | if (UUID.TryParse(src.Data[index].ToString(), out tuuid)) |
@@ -4029,11 +4089,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4029 | return 3; | 4089 | return 3; |
4030 | } | 4090 | } |
4031 | } | 4091 | } |
4032 | if (src.Data[index] is LSL_Types.Vector3) | 4092 | if (src.Data[index] is LSL_Vector) |
4033 | return 5; | 4093 | return 5; |
4034 | if (src.Data[index] is LSL_Types.Quaternion) | 4094 | if (src.Data[index] is LSL_Rotation) |
4035 | return 6; | 4095 | return 6; |
4036 | if (src.Data[index] is LSL_Types.list) | 4096 | if (src.Data[index] is LSL_List) |
4037 | return 7; | 4097 | return 7; |
4038 | return 0; | 4098 | return 0; |
4039 | 4099 | ||
@@ -4046,7 +4106,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4046 | /// each comma. | 4106 | /// each comma. |
4047 | /// </summary> | 4107 | /// </summary> |
4048 | 4108 | ||
4049 | public LSL_Types.LSLString llList2CSV(LSL_Types.list src) | 4109 | public LSL_String llList2CSV(LSL_List src) |
4050 | { | 4110 | { |
4051 | 4111 | ||
4052 | string ret = String.Empty; | 4112 | string ret = String.Empty; |
@@ -4074,10 +4134,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4074 | /// before or after an element is trimmed. | 4134 | /// before or after an element is trimmed. |
4075 | /// </summary> | 4135 | /// </summary> |
4076 | 4136 | ||
4077 | public LSL_Types.list llCSV2List(string src) | 4137 | public LSL_List llCSV2List(string src) |
4078 | { | 4138 | { |
4079 | 4139 | ||
4080 | LSL_Types.list result = new LSL_Types.list(); | 4140 | LSL_List result = new LSL_List(); |
4081 | int parens = 0; | 4141 | int parens = 0; |
4082 | int start = 0; | 4142 | int start = 0; |
4083 | int length = 0; | 4143 | int length = 0; |
@@ -4131,9 +4191,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4131 | /// sizes. | 4191 | /// sizes. |
4132 | /// </remarks> | 4192 | /// </remarks> |
4133 | 4193 | ||
4134 | public LSL_Types.list llListRandomize(LSL_Types.list src, int stride) | 4194 | public LSL_List llListRandomize(LSL_List src, int stride) |
4135 | { | 4195 | { |
4136 | LSL_Types.list result; | 4196 | LSL_List result; |
4137 | Random rand = new Random(); | 4197 | Random rand = new Random(); |
4138 | 4198 | ||
4139 | int chunkk; | 4199 | int chunkk; |
@@ -4174,7 +4234,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4174 | 4234 | ||
4175 | // Construct the randomized list | 4235 | // Construct the randomized list |
4176 | 4236 | ||
4177 | result = new LSL_Types.list(); | 4237 | result = new LSL_List(); |
4178 | 4238 | ||
4179 | for (int i = 0; i < chunkk; i++) | 4239 | for (int i = 0; i < chunkk; i++) |
4180 | { | 4240 | { |
@@ -4187,7 +4247,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4187 | else { | 4247 | else { |
4188 | object[] array = new object[src.Length]; | 4248 | object[] array = new object[src.Length]; |
4189 | Array.Copy(src.Data, 0, array, 0, src.Length); | 4249 | Array.Copy(src.Data, 0, array, 0, src.Length); |
4190 | result = new LSL_Types.list(array); | 4250 | result = new LSL_List(array); |
4191 | } | 4251 | } |
4192 | 4252 | ||
4193 | return result; | 4253 | return result; |
@@ -4201,10 +4261,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4201 | /// range are included in the result. | 4261 | /// range are included in the result. |
4202 | /// </summary> | 4262 | /// </summary> |
4203 | 4263 | ||
4204 | public LSL_Types.list llList2ListStrided(LSL_Types.list src, int start, int end, int stride) | 4264 | public LSL_List llList2ListStrided(LSL_List src, int start, int end, int stride) |
4205 | { | 4265 | { |
4206 | 4266 | ||
4207 | LSL_Types.list result = new LSL_Types.list(); | 4267 | LSL_List result = new LSL_List(); |
4208 | int[] si = new int[2]; | 4268 | int[] si = new int[2]; |
4209 | int[] ei = new int[2]; | 4269 | int[] ei = new int[2]; |
4210 | bool twopass = false; | 4270 | bool twopass = false; |
@@ -4281,10 +4341,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4281 | return result; | 4341 | return result; |
4282 | } | 4342 | } |
4283 | 4343 | ||
4284 | public LSL_Types.Vector3 llGetRegionCorner() | 4344 | public LSL_Integer llGetRegionAgentCount() |
4345 | { | ||
4346 | m_host.AddScriptLPS(1); | ||
4347 | NotImplemented("llGetRegionAgentCount"); | ||
4348 | return new LSL_Integer(0); | ||
4349 | } | ||
4350 | |||
4351 | public LSL_Vector llGetRegionCorner() | ||
4285 | { | 4352 | { |
4286 | m_host.AddScriptLPS(1); | 4353 | m_host.AddScriptLPS(1); |
4287 | return new LSL_Types.Vector3(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0); | 4354 | return new LSL_Vector(World.RegionInfo.RegionLocX * Constants.RegionSize, World.RegionInfo.RegionLocY * Constants.RegionSize, 0); |
4288 | } | 4355 | } |
4289 | 4356 | ||
4290 | /// <summary> | 4357 | /// <summary> |
@@ -4293,11 +4360,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4293 | /// new element has the index specified by <index> | 4360 | /// new element has the index specified by <index> |
4294 | /// </summary> | 4361 | /// </summary> |
4295 | 4362 | ||
4296 | public LSL_Types.list llListInsertList(LSL_Types.list dest, LSL_Types.list src, int index) | 4363 | public LSL_List llListInsertList(LSL_List dest, LSL_List src, int index) |
4297 | { | 4364 | { |
4298 | 4365 | ||
4299 | LSL_Types.list pref = null; | 4366 | LSL_List pref = null; |
4300 | LSL_Types.list suff = null; | 4367 | LSL_List suff = null; |
4301 | 4368 | ||
4302 | m_host.AddScriptLPS(1); | 4369 | m_host.AddScriptLPS(1); |
4303 | 4370 | ||
@@ -4343,7 +4410,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4343 | /// in src. | 4410 | /// in src. |
4344 | /// </summary> | 4411 | /// </summary> |
4345 | 4412 | ||
4346 | public LSL_Types.LSLInteger llListFindList(LSL_Types.list src, LSL_Types.list test) | 4413 | public LSL_Integer llListFindList(LSL_List src, LSL_List test) |
4347 | { | 4414 | { |
4348 | 4415 | ||
4349 | int index = -1; | 4416 | int index = -1; |
@@ -4376,7 +4443,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4376 | 4443 | ||
4377 | } | 4444 | } |
4378 | 4445 | ||
4379 | public LSL_Types.LSLString llGetObjectName() | 4446 | public LSL_String llGetObjectName() |
4380 | { | 4447 | { |
4381 | m_host.AddScriptLPS(1); | 4448 | m_host.AddScriptLPS(1); |
4382 | return m_host.Name!=null?m_host.Name:String.Empty; | 4449 | return m_host.Name!=null?m_host.Name:String.Empty; |
@@ -4388,7 +4455,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4388 | m_host.Name = name!=null?name:String.Empty; | 4455 | m_host.Name = name!=null?name:String.Empty; |
4389 | } | 4456 | } |
4390 | 4457 | ||
4391 | public LSL_Types.LSLString llGetDate() | 4458 | public LSL_String llGetDate() |
4392 | { | 4459 | { |
4393 | m_host.AddScriptLPS(1); | 4460 | m_host.AddScriptLPS(1); |
4394 | DateTime date = DateTime.Now.ToUniversalTime(); | 4461 | DateTime date = DateTime.Now.ToUniversalTime(); |
@@ -4396,14 +4463,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4396 | return result; | 4463 | return result; |
4397 | } | 4464 | } |
4398 | 4465 | ||
4399 | public LSL_Types.LSLInteger llEdgeOfWorld(LSL_Types.Vector3 pos, LSL_Types.Vector3 dir) | 4466 | public LSL_Integer llEdgeOfWorld(LSL_Vector pos, LSL_Vector dir) |
4400 | { | 4467 | { |
4401 | m_host.AddScriptLPS(1); | 4468 | m_host.AddScriptLPS(1); |
4402 | NotImplemented("llEdgeOfWorld"); | 4469 | NotImplemented("llEdgeOfWorld"); |
4403 | return 0; | 4470 | return 0; |
4404 | } | 4471 | } |
4405 | 4472 | ||
4406 | public LSL_Types.LSLInteger llGetAgentInfo(string id) | 4473 | public LSL_Integer llGetAgentInfo(string id) |
4407 | { | 4474 | { |
4408 | m_host.AddScriptLPS(1); | 4475 | m_host.AddScriptLPS(1); |
4409 | NotImplemented("llGetAgentInfo"); | 4476 | NotImplemented("llGetAgentInfo"); |
@@ -4429,7 +4496,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4429 | m_host.SoundRadius = radius; | 4496 | m_host.SoundRadius = radius; |
4430 | } | 4497 | } |
4431 | 4498 | ||
4432 | public LSL_Types.LSLString llKey2Name(string id) | 4499 | public LSL_String llKey2Name(string id) |
4433 | { | 4500 | { |
4434 | m_host.AddScriptLPS(1); | 4501 | m_host.AddScriptLPS(1); |
4435 | UUID key = new UUID(); | 4502 | UUID key = new UUID(); |
@@ -4475,8 +4542,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4475 | m_host.ParentGroup.HasGroupChanged = true; | 4542 | m_host.ParentGroup.HasGroupChanged = true; |
4476 | } | 4543 | } |
4477 | 4544 | ||
4478 | public void llTriggerSoundLimited(string sound, double volume, LSL_Types.Vector3 top_north_east, | 4545 | public void llTriggerSoundLimited(string sound, double volume, LSL_Vector top_north_east, |
4479 | LSL_Types.Vector3 bottom_south_west) | 4546 | LSL_Vector bottom_south_west) |
4480 | { | 4547 | { |
4481 | m_host.AddScriptLPS(1); | 4548 | m_host.AddScriptLPS(1); |
4482 | NotImplemented("llTriggerSoundLimited"); | 4549 | NotImplemented("llTriggerSoundLimited"); |
@@ -4499,10 +4566,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4499 | // ScriptSleep(5000); | 4566 | // ScriptSleep(5000); |
4500 | } | 4567 | } |
4501 | 4568 | ||
4502 | public LSL_Types.list llParseString2List(string str, LSL_Types.list separators, LSL_Types.list spacers) | 4569 | public LSL_List llParseString2List(string str, LSL_List separators, LSL_List spacers) |
4503 | { | 4570 | { |
4504 | m_host.AddScriptLPS(1); | 4571 | m_host.AddScriptLPS(1); |
4505 | LSL_Types.list ret = new LSL_Types.list(); | 4572 | LSL_List ret = new LSL_List(); |
4506 | object[] delimiters = new object[separators.Length + spacers.Length]; | 4573 | object[] delimiters = new object[separators.Length + spacers.Length]; |
4507 | separators.Data.CopyTo(delimiters, 0); | 4574 | separators.Data.CopyTo(delimiters, 0); |
4508 | spacers.Data.CopyTo(delimiters, separators.Length); | 4575 | spacers.Data.CopyTo(delimiters, separators.Length); |
@@ -4555,7 +4622,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4555 | return ret; | 4622 | return ret; |
4556 | } | 4623 | } |
4557 | 4624 | ||
4558 | public LSL_Types.LSLInteger llOverMyLand(string id) | 4625 | public LSL_Integer llOverMyLand(string id) |
4559 | { | 4626 | { |
4560 | m_host.AddScriptLPS(1); | 4627 | m_host.AddScriptLPS(1); |
4561 | UUID key = new UUID(); | 4628 | UUID key = new UUID(); |
@@ -4578,17 +4645,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4578 | return 0; | 4645 | return 0; |
4579 | } | 4646 | } |
4580 | 4647 | ||
4581 | public LSL_Types.LSLString llGetLandOwnerAt(LSL_Types.Vector3 pos) | 4648 | public LSL_String llGetLandOwnerAt(LSL_Vector pos) |
4582 | { | 4649 | { |
4583 | m_host.AddScriptLPS(1); | 4650 | m_host.AddScriptLPS(1); |
4584 | return World.GetLandOwner((float)pos.x, (float)pos.y).ToString(); | 4651 | return World.GetLandOwner((float)pos.x, (float)pos.y).ToString(); |
4585 | } | 4652 | } |
4586 | 4653 | ||
4587 | public LSL_Types.Vector3 llGetAgentSize(string id) | 4654 | public LSL_Vector llGetAgentSize(string id) |
4588 | { | 4655 | { |
4589 | m_host.AddScriptLPS(1); | 4656 | m_host.AddScriptLPS(1); |
4590 | ScenePresence avatar = World.GetScenePresence(id); | 4657 | ScenePresence avatar = World.GetScenePresence(id); |
4591 | LSL_Types.Vector3 agentSize; | 4658 | LSL_Vector agentSize; |
4592 | if (avatar == null) | 4659 | if (avatar == null) |
4593 | { | 4660 | { |
4594 | agentSize = ScriptBaseClass.ZERO_VECTOR; | 4661 | agentSize = ScriptBaseClass.ZERO_VECTOR; |
@@ -4596,25 +4663,25 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4596 | else | 4663 | else |
4597 | { | 4664 | { |
4598 | PhysicsVector size = avatar.PhysicsActor.Size; | 4665 | PhysicsVector size = avatar.PhysicsActor.Size; |
4599 | agentSize = new LSL_Types.Vector3(size.X, size.Y, size.Z); | 4666 | agentSize = new LSL_Vector(size.X, size.Y, size.Z); |
4600 | } | 4667 | } |
4601 | return agentSize; | 4668 | return agentSize; |
4602 | } | 4669 | } |
4603 | 4670 | ||
4604 | public LSL_Types.LSLInteger llSameGroup(string agent) | 4671 | public LSL_Integer llSameGroup(string agent) |
4605 | { | 4672 | { |
4606 | m_host.AddScriptLPS(1); | 4673 | m_host.AddScriptLPS(1); |
4607 | UUID agentId = new UUID(); | 4674 | UUID agentId = new UUID(); |
4608 | if (!UUID.TryParse(agent, out agentId)) | 4675 | if (!UUID.TryParse(agent, out agentId)) |
4609 | return new LSL_Types.LSLInteger(0); | 4676 | return new LSL_Integer(0); |
4610 | ScenePresence presence = World.GetScenePresence(agentId); | 4677 | ScenePresence presence = World.GetScenePresence(agentId); |
4611 | if (presence == null) | 4678 | if (presence == null) |
4612 | return new LSL_Types.LSLInteger(0); | 4679 | return new LSL_Integer(0); |
4613 | IClientAPI client = presence.ControllingClient; | 4680 | IClientAPI client = presence.ControllingClient; |
4614 | if (m_host.GroupID == client.ActiveGroupId) | 4681 | if (m_host.GroupID == client.ActiveGroupId) |
4615 | return new LSL_Types.LSLInteger(1); | 4682 | return new LSL_Integer(1); |
4616 | else | 4683 | else |
4617 | return new LSL_Types.LSLInteger(0); | 4684 | return new LSL_Integer(0); |
4618 | } | 4685 | } |
4619 | 4686 | ||
4620 | public void llUnSit(string id) | 4687 | public void llUnSit(string id) |
@@ -4660,7 +4727,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4660 | 4727 | ||
4661 | } | 4728 | } |
4662 | 4729 | ||
4663 | public LSL_Types.Vector3 llGroundSlope(LSL_Types.Vector3 offset) | 4730 | public LSL_Vector llGroundSlope(LSL_Vector offset) |
4664 | { | 4731 | { |
4665 | m_host.AddScriptLPS(1); | 4732 | m_host.AddScriptLPS(1); |
4666 | 4733 | ||
@@ -4670,15 +4737,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4670 | 4737 | ||
4671 | Vector3 p0 = new Vector3(pos.X, pos.Y, | 4738 | Vector3 p0 = new Vector3(pos.X, pos.Y, |
4672 | (float)llGround( | 4739 | (float)llGround( |
4673 | new LSL_Types.Vector3(pos.X, pos.Y, pos.Z) | 4740 | new LSL_Vector(pos.X, pos.Y, pos.Z) |
4674 | )); | 4741 | )); |
4675 | Vector3 p1 = new Vector3(pos.X + 1, pos.Y, | 4742 | Vector3 p1 = new Vector3(pos.X + 1, pos.Y, |
4676 | (float)llGround( | 4743 | (float)llGround( |
4677 | new LSL_Types.Vector3(pos.X + 1, pos.Y, pos.Z) | 4744 | new LSL_Vector(pos.X + 1, pos.Y, pos.Z) |
4678 | )); | 4745 | )); |
4679 | Vector3 p2 = new Vector3(pos.X, pos.Y + 1, | 4746 | Vector3 p2 = new Vector3(pos.X, pos.Y + 1, |
4680 | (float)llGround( | 4747 | (float)llGround( |
4681 | new LSL_Types.Vector3(pos.X, pos.Y + 1, pos.Z) | 4748 | new LSL_Vector(pos.X, pos.Y + 1, pos.Z) |
4682 | )); | 4749 | )); |
4683 | 4750 | ||
4684 | Vector3 v0 = new Vector3( | 4751 | Vector3 v0 = new Vector3( |
@@ -4694,50 +4761,50 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4694 | tv.Y = (v0.Z * v1.X) - (v0.X * v1.Z); | 4761 | tv.Y = (v0.Z * v1.X) - (v0.X * v1.Z); |
4695 | tv.Z = (v0.X * v1.Y) - (v0.Y * v1.X); | 4762 | tv.Z = (v0.X * v1.Y) - (v0.Y * v1.X); |
4696 | 4763 | ||
4697 | return new LSL_Types.Vector3(tv.X, tv.Y, tv.Z); | 4764 | return new LSL_Vector(tv.X, tv.Y, tv.Z); |
4698 | } | 4765 | } |
4699 | 4766 | ||
4700 | public LSL_Types.Vector3 llGroundNormal(LSL_Types.Vector3 offset) | 4767 | public LSL_Vector llGroundNormal(LSL_Vector offset) |
4701 | { | 4768 | { |
4702 | m_host.AddScriptLPS(1); | 4769 | m_host.AddScriptLPS(1); |
4703 | LSL_Types.Vector3 x = llGroundSlope(offset); | 4770 | LSL_Vector x = llGroundSlope(offset); |
4704 | return new LSL_Types.Vector3(x.x, x.y, 1.0); | 4771 | return new LSL_Vector(x.x, x.y, 1.0); |
4705 | } | 4772 | } |
4706 | 4773 | ||
4707 | public LSL_Types.Vector3 llGroundContour(LSL_Types.Vector3 offset) | 4774 | public LSL_Vector llGroundContour(LSL_Vector offset) |
4708 | { | 4775 | { |
4709 | m_host.AddScriptLPS(1); | 4776 | m_host.AddScriptLPS(1); |
4710 | LSL_Types.Vector3 x = llGroundSlope(offset); | 4777 | LSL_Vector x = llGroundSlope(offset); |
4711 | return new LSL_Types.Vector3(-x.y, x.x, 0.0); | 4778 | return new LSL_Vector(-x.y, x.x, 0.0); |
4712 | } | 4779 | } |
4713 | 4780 | ||
4714 | public LSL_Types.LSLInteger llGetAttached() | 4781 | public LSL_Integer llGetAttached() |
4715 | { | 4782 | { |
4716 | m_host.AddScriptLPS(1); | 4783 | m_host.AddScriptLPS(1); |
4717 | NotImplemented("llGetAttached"); | 4784 | NotImplemented("llGetAttached"); |
4718 | return 0; | 4785 | return 0; |
4719 | } | 4786 | } |
4720 | 4787 | ||
4721 | public LSL_Types.LSLInteger llGetFreeMemory() | 4788 | public LSL_Integer llGetFreeMemory() |
4722 | { | 4789 | { |
4723 | m_host.AddScriptLPS(1); | 4790 | m_host.AddScriptLPS(1); |
4724 | // Make scripts designed for LSO happy | 4791 | // Make scripts designed for LSO happy |
4725 | return 16384; | 4792 | return 16384; |
4726 | } | 4793 | } |
4727 | 4794 | ||
4728 | public LSL_Types.LSLString llGetRegionName() | 4795 | public LSL_String llGetRegionName() |
4729 | { | 4796 | { |
4730 | m_host.AddScriptLPS(1); | 4797 | m_host.AddScriptLPS(1); |
4731 | return World.RegionInfo.RegionName; | 4798 | return World.RegionInfo.RegionName; |
4732 | } | 4799 | } |
4733 | 4800 | ||
4734 | public LSL_Types.LSLFloat llGetRegionTimeDilation() | 4801 | public LSL_Float llGetRegionTimeDilation() |
4735 | { | 4802 | { |
4736 | m_host.AddScriptLPS(1); | 4803 | m_host.AddScriptLPS(1); |
4737 | return (double)World.TimeDilation; | 4804 | return (double)World.TimeDilation; |
4738 | } | 4805 | } |
4739 | 4806 | ||
4740 | public LSL_Types.LSLFloat llGetRegionFPS() | 4807 | public LSL_Float llGetRegionFPS() |
4741 | { | 4808 | { |
4742 | m_host.AddScriptLPS(1); | 4809 | m_host.AddScriptLPS(1); |
4743 | //TODO: return actual FPS | 4810 | //TODO: return actual FPS |
@@ -4803,7 +4870,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4803 | return ps; | 4870 | return ps; |
4804 | } | 4871 | } |
4805 | 4872 | ||
4806 | public void llParticleSystem(LSL_Types.list rules) | 4873 | public void llParticleSystem(LSL_List rules) |
4807 | { | 4874 | { |
4808 | m_host.AddScriptLPS(1); | 4875 | m_host.AddScriptLPS(1); |
4809 | if (rules.Length == 0) | 4876 | if (rules.Length == 0) |
@@ -4814,7 +4881,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4814 | else | 4881 | else |
4815 | { | 4882 | { |
4816 | Primitive.ParticleSystem prules = getNewParticleSystemWithSLDefaultValues(); | 4883 | Primitive.ParticleSystem prules = getNewParticleSystemWithSLDefaultValues(); |
4817 | LSL_Types.Vector3 tempv = new LSL_Types.Vector3(); | 4884 | LSL_Vector tempv = new LSL_Vector(); |
4818 | 4885 | ||
4819 | float tempf = 0; | 4886 | float tempf = 0; |
4820 | 4887 | ||
@@ -4968,7 +5035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
4968 | return UUID.Zero; | 5035 | return UUID.Zero; |
4969 | } | 5036 | } |
4970 | 5037 | ||
4971 | public void llGiveInventoryList(string destination, string category, LSL_Types.list inventory) | 5038 | public void llGiveInventoryList(string destination, string category, LSL_List inventory) |
4972 | { | 5039 | { |
4973 | m_host.AddScriptLPS(1); | 5040 | m_host.AddScriptLPS(1); |
4974 | 5041 | ||
@@ -5017,13 +5084,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5017 | NotImplemented("llSetVehicleFloatParam"); | 5084 | NotImplemented("llSetVehicleFloatParam"); |
5018 | } | 5085 | } |
5019 | 5086 | ||
5020 | public void llSetVehicleVectorParam(int param, LSL_Types.Vector3 vec) | 5087 | public void llSetVehicleVectorParam(int param, LSL_Vector vec) |
5021 | { | 5088 | { |
5022 | m_host.AddScriptLPS(1); | 5089 | m_host.AddScriptLPS(1); |
5023 | NotImplemented("llSetVehicleVectorParam"); | 5090 | NotImplemented("llSetVehicleVectorParam"); |
5024 | } | 5091 | } |
5025 | 5092 | ||
5026 | public void llSetVehicleRotationParam(int param, LSL_Types.Quaternion rot) | 5093 | public void llSetVehicleRotationParam(int param, LSL_Rotation rot) |
5027 | { | 5094 | { |
5028 | m_host.AddScriptLPS(1); | 5095 | m_host.AddScriptLPS(1); |
5029 | NotImplemented("llSetVehicleRotationParam"); | 5096 | NotImplemented("llSetVehicleRotationParam"); |
@@ -5041,7 +5108,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5041 | NotImplemented("llRemoveVehicleFlags"); | 5108 | NotImplemented("llRemoveVehicleFlags"); |
5042 | } | 5109 | } |
5043 | 5110 | ||
5044 | public void llSitTarget(LSL_Types.Vector3 offset, LSL_Types.Quaternion rot) | 5111 | public void llSitTarget(LSL_Vector offset, LSL_Rotation rot) |
5045 | { | 5112 | { |
5046 | m_host.AddScriptLPS(1); | 5113 | m_host.AddScriptLPS(1); |
5047 | // LSL quaternions can normalize to 0, normal Quaternions can't. | 5114 | // LSL quaternions can normalize to 0, normal Quaternions can't. |
@@ -5052,7 +5119,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5052 | m_host.SitTargetOrientation = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); | 5119 | m_host.SitTargetOrientation = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); |
5053 | } | 5120 | } |
5054 | 5121 | ||
5055 | public LSL_Types.LSLString llAvatarOnSitTarget() | 5122 | public LSL_String llAvatarOnSitTarget() |
5056 | { | 5123 | { |
5057 | m_host.AddScriptLPS(1); | 5124 | m_host.AddScriptLPS(1); |
5058 | return m_host.GetAvatarOnSitTarget().ToString(); | 5125 | return m_host.GetAvatarOnSitTarget().ToString(); |
@@ -5089,19 +5156,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5089 | m_host.SitName = text; | 5156 | m_host.SitName = text; |
5090 | } | 5157 | } |
5091 | 5158 | ||
5092 | public void llSetCameraEyeOffset(LSL_Types.Vector3 offset) | 5159 | public void llSetCameraEyeOffset(LSL_Vector offset) |
5093 | { | 5160 | { |
5094 | m_host.AddScriptLPS(1); | 5161 | m_host.AddScriptLPS(1); |
5095 | m_host.SetCameraEyeOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); | 5162 | m_host.SetCameraEyeOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); |
5096 | } | 5163 | } |
5097 | 5164 | ||
5098 | public void llSetCameraAtOffset(LSL_Types.Vector3 offset) | 5165 | public void llSetCameraAtOffset(LSL_Vector offset) |
5099 | { | 5166 | { |
5100 | m_host.AddScriptLPS(1); | 5167 | m_host.AddScriptLPS(1); |
5101 | m_host.SetCameraAtOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); | 5168 | m_host.SetCameraAtOffset(new Vector3((float)offset.x, (float)offset.y, (float)offset.z)); |
5102 | } | 5169 | } |
5103 | 5170 | ||
5104 | public LSL_Types.LSLString llDumpList2String(LSL_Types.list src, string seperator) | 5171 | public LSL_String llDumpList2String(LSL_List src, string seperator) |
5105 | { | 5172 | { |
5106 | m_host.AddScriptLPS(1); | 5173 | m_host.AddScriptLPS(1); |
5107 | if (src.Length == 0) | 5174 | if (src.Length == 0) |
@@ -5117,7 +5184,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5117 | return ret; | 5184 | return ret; |
5118 | } | 5185 | } |
5119 | 5186 | ||
5120 | public LSL_Types.LSLInteger llScriptDanger(LSL_Types.Vector3 pos) | 5187 | public LSL_Integer llScriptDanger(LSL_Vector pos) |
5121 | { | 5188 | { |
5122 | m_host.AddScriptLPS(1); | 5189 | m_host.AddScriptLPS(1); |
5123 | bool result = World.scriptDanger(m_host.LocalId, new Vector3((float)pos.x, (float)pos.y, (float)pos.z)); | 5190 | bool result = World.scriptDanger(m_host.LocalId, new Vector3((float)pos.x, (float)pos.y, (float)pos.z)); |
@@ -5132,7 +5199,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5132 | 5199 | ||
5133 | } | 5200 | } |
5134 | 5201 | ||
5135 | public void llDialog(string avatar, string message, LSL_Types.list buttons, int chat_channel) | 5202 | public void llDialog(string avatar, string message, LSL_List buttons, int chat_channel) |
5136 | { | 5203 | { |
5137 | m_host.AddScriptLPS(1); | 5204 | m_host.AddScriptLPS(1); |
5138 | UUID av = new UUID(); | 5205 | UUID av = new UUID(); |
@@ -5188,7 +5255,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5188 | ShoutError("llResetOtherScript: script "+name+" not found"); | 5255 | ShoutError("llResetOtherScript: script "+name+" not found"); |
5189 | } | 5256 | } |
5190 | 5257 | ||
5191 | public LSL_Types.LSLInteger llGetScriptState(string name) | 5258 | public LSL_Integer llGetScriptState(string name) |
5192 | { | 5259 | { |
5193 | UUID item; | 5260 | UUID item; |
5194 | 5261 | ||
@@ -5273,7 +5340,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5273 | if (xmlrpcMod.IsEnabled()) | 5340 | if (xmlrpcMod.IsEnabled()) |
5274 | { | 5341 | { |
5275 | UUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, UUID.Zero); | 5342 | UUID channelID = xmlrpcMod.OpenXMLRPCChannel(m_localID, m_itemID, UUID.Zero); |
5276 | object[] resobj = new object[] { new LSL_Types.LSLInteger(1), new LSL_Types.LSLString(channelID.ToString()), new LSL_Types.LSLString(UUID.Zero.ToString()), new LSL_Types.LSLString(String.Empty), new LSL_Types.LSLInteger(0), new LSL_Types.LSLString(String.Empty) }; | 5343 | object[] resobj = new object[] { new LSL_Integer(1), new LSL_String(channelID.ToString()), new LSL_String(UUID.Zero.ToString()), new LSL_String(String.Empty), new LSL_Integer(0), new LSL_String(String.Empty) }; |
5277 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( | 5344 | m_ScriptEngine.PostScriptEvent(m_itemID, new EventParams( |
5278 | "remote_data", resobj, | 5345 | "remote_data", resobj, |
5279 | new DetectParams[0])); | 5346 | new DetectParams[0])); |
@@ -5281,7 +5348,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5281 | // ScriptSleep(1000); | 5348 | // ScriptSleep(1000); |
5282 | } | 5349 | } |
5283 | 5350 | ||
5284 | public LSL_Types.LSLString llSendRemoteData(string channel, string dest, int idata, string sdata) | 5351 | public LSL_String llSendRemoteData(string channel, string dest, int idata, string sdata) |
5285 | { | 5352 | { |
5286 | m_host.AddScriptLPS(1); | 5353 | m_host.AddScriptLPS(1); |
5287 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); | 5354 | IXMLRPC xmlrpcMod = m_ScriptEngine.World.RequestModuleInterface<IXMLRPC>(); |
@@ -5305,13 +5372,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5305 | // ScriptSleep(1000); | 5372 | // ScriptSleep(1000); |
5306 | } | 5373 | } |
5307 | 5374 | ||
5308 | public LSL_Types.LSLString llMD5String(string src, int nonce) | 5375 | public LSL_String llMD5String(string src, int nonce) |
5309 | { | 5376 | { |
5310 | m_host.AddScriptLPS(1); | 5377 | m_host.AddScriptLPS(1); |
5311 | return Util.Md5Hash(src + ":" + nonce.ToString()); | 5378 | return Util.Md5Hash(src + ":" + nonce.ToString()); |
5312 | } | 5379 | } |
5313 | 5380 | ||
5314 | private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist) | 5381 | private ObjectShapePacket.ObjectDataBlock SetPrimitiveBlockShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist) |
5315 | { | 5382 | { |
5316 | ObjectShapePacket.ObjectDataBlock shapeBlock = new ObjectShapePacket.ObjectDataBlock(); | 5383 | ObjectShapePacket.ObjectDataBlock shapeBlock = new ObjectShapePacket.ObjectDataBlock(); |
5317 | 5384 | ||
@@ -5381,7 +5448,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5381 | return shapeBlock; | 5448 | return shapeBlock; |
5382 | } | 5449 | } |
5383 | 5450 | ||
5384 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 taper_b, LSL_Types.Vector3 topshear, byte fudge) | 5451 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector taper_b, LSL_Vector topshear, byte fudge) |
5385 | { | 5452 | { |
5386 | ObjectShapePacket.ObjectDataBlock shapeBlock; | 5453 | ObjectShapePacket.ObjectDataBlock shapeBlock; |
5387 | 5454 | ||
@@ -5429,7 +5496,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5429 | part.UpdateShape(shapeBlock); | 5496 | part.UpdateShape(shapeBlock); |
5430 | } | 5497 | } |
5431 | 5498 | ||
5432 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 dimple, byte fudge) | 5499 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector dimple, byte fudge) |
5433 | { | 5500 | { |
5434 | ObjectShapePacket.ObjectDataBlock shapeBlock; | 5501 | ObjectShapePacket.ObjectDataBlock shapeBlock; |
5435 | 5502 | ||
@@ -5470,7 +5537,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5470 | part.UpdateShape(shapeBlock); | 5537 | part.UpdateShape(shapeBlock); |
5471 | } | 5538 | } |
5472 | 5539 | ||
5473 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Types.Vector3 cut, float hollow, LSL_Types.Vector3 twist, LSL_Types.Vector3 holesize, LSL_Types.Vector3 topshear, LSL_Types.Vector3 profilecut, LSL_Types.Vector3 taper_a, float revolutions, float radiusoffset, float skew, byte fudge) | 5540 | private void SetPrimitiveShapeParams(SceneObjectPart part, int holeshape, LSL_Vector cut, float hollow, LSL_Vector twist, LSL_Vector holesize, LSL_Vector topshear, LSL_Vector profilecut, LSL_Vector taper_a, float revolutions, float radiusoffset, float skew, byte fudge) |
5474 | { | 5541 | { |
5475 | ObjectShapePacket.ObjectDataBlock shapeBlock; | 5542 | ObjectShapePacket.ObjectDataBlock shapeBlock; |
5476 | 5543 | ||
@@ -5622,12 +5689,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5622 | part.UpdateShape(shapeBlock); | 5689 | part.UpdateShape(shapeBlock); |
5623 | } | 5690 | } |
5624 | 5691 | ||
5625 | public void llSetPrimitiveParams(LSL_Types.list rules) | 5692 | public void llSetPrimitiveParams(LSL_List rules) |
5626 | { | 5693 | { |
5627 | SetPrimParams(m_host, rules); | 5694 | SetPrimParams(m_host, rules); |
5628 | } | 5695 | } |
5629 | 5696 | ||
5630 | public void llSetLinkPrimitiveParams(int linknumber, LSL_Types.list rules) | 5697 | public void llSetLinkPrimitiveParams(int linknumber, LSL_List rules) |
5631 | { | 5698 | { |
5632 | m_host.AddScriptLPS(1); | 5699 | m_host.AddScriptLPS(1); |
5633 | 5700 | ||
@@ -5637,7 +5704,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5637 | SetPrimParams(part, rules); | 5704 | SetPrimParams(part, rules); |
5638 | } | 5705 | } |
5639 | 5706 | ||
5640 | private void SetPrimParams(SceneObjectPart part, LSL_Types.list rules) | 5707 | private void SetPrimParams(SceneObjectPart part, LSL_List rules) |
5641 | { | 5708 | { |
5642 | int idx = 0; | 5709 | int idx = 0; |
5643 | 5710 | ||
@@ -5648,7 +5715,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5648 | int remain = rules.Length - idx; | 5715 | int remain = rules.Length - idx; |
5649 | 5716 | ||
5650 | int face; | 5717 | int face; |
5651 | LSL_Types.Vector3 v; | 5718 | LSL_Vector v; |
5652 | 5719 | ||
5653 | switch (code) | 5720 | switch (code) |
5654 | { | 5721 | { |
@@ -5672,7 +5739,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5672 | if (remain < 1) | 5739 | if (remain < 1) |
5673 | return; | 5740 | return; |
5674 | 5741 | ||
5675 | LSL_Types.Quaternion q = rules.GetQuaternionItem(idx++); | 5742 | LSL_Rotation q = rules.GetQuaternionItem(idx++); |
5676 | SetRot(part, q); | 5743 | SetRot(part, q); |
5677 | 5744 | ||
5678 | break; | 5745 | break; |
@@ -5685,14 +5752,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5685 | 5752 | ||
5686 | remain = rules.Length - idx; | 5753 | remain = rules.Length - idx; |
5687 | float hollow; | 5754 | float hollow; |
5688 | LSL_Types.Vector3 twist; | 5755 | LSL_Vector twist; |
5689 | LSL_Types.Vector3 taper_b; | 5756 | LSL_Vector taper_b; |
5690 | LSL_Types.Vector3 topshear; | 5757 | LSL_Vector topshear; |
5691 | float revolutions; | 5758 | float revolutions; |
5692 | float radiusoffset; | 5759 | float radiusoffset; |
5693 | float skew; | 5760 | float skew; |
5694 | LSL_Types.Vector3 holesize; | 5761 | LSL_Vector holesize; |
5695 | LSL_Types.Vector3 profilecut; | 5762 | LSL_Vector profilecut; |
5696 | 5763 | ||
5697 | switch (code) | 5764 | switch (code) |
5698 | { | 5765 | { |
@@ -5829,8 +5896,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5829 | 5896 | ||
5830 | face=(int)rules.GetLSLIntegerItem(idx++); | 5897 | face=(int)rules.GetLSLIntegerItem(idx++); |
5831 | string tex=rules.Data[idx++].ToString(); | 5898 | string tex=rules.Data[idx++].ToString(); |
5832 | LSL_Types.Vector3 repeats=rules.GetVector3Item(idx++); | 5899 | LSL_Vector repeats=rules.GetVector3Item(idx++); |
5833 | LSL_Types.Vector3 offsets=rules.GetVector3Item(idx++); | 5900 | LSL_Vector offsets=rules.GetVector3Item(idx++); |
5834 | double rotation=(double)rules.GetLSLFloatItem(idx++); | 5901 | double rotation=(double)rules.GetLSLFloatItem(idx++); |
5835 | 5902 | ||
5836 | SetTexture(part, tex, face); | 5903 | SetTexture(part, tex, face); |
@@ -5845,7 +5912,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5845 | return; | 5912 | return; |
5846 | 5913 | ||
5847 | face=(int)rules.GetLSLIntegerItem(idx++); | 5914 | face=(int)rules.GetLSLIntegerItem(idx++); |
5848 | LSL_Types.Vector3 color=rules.GetVector3Item(idx++); | 5915 | LSL_Vector color=rules.GetVector3Item(idx++); |
5849 | double alpha=(double)rules.GetLSLFloatItem(idx++); | 5916 | double alpha=(double)rules.GetLSLFloatItem(idx++); |
5850 | 5917 | ||
5851 | SetColor(part, color, face); | 5918 | SetColor(part, color, face); |
@@ -5862,7 +5929,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5862 | float friction = (float)rules.GetLSLFloatItem(idx++); | 5929 | float friction = (float)rules.GetLSLFloatItem(idx++); |
5863 | float wind = (float)rules.GetLSLFloatItem(idx++); | 5930 | float wind = (float)rules.GetLSLFloatItem(idx++); |
5864 | float tension = (float)rules.GetLSLFloatItem(idx++); | 5931 | float tension = (float)rules.GetLSLFloatItem(idx++); |
5865 | LSL_Types.Vector3 force = rules.GetVector3Item(idx++); | 5932 | LSL_Vector force = rules.GetVector3Item(idx++); |
5866 | 5933 | ||
5867 | SetFlexi(part, flexi, softness, gravity, friction, wind, tension, force); | 5934 | SetFlexi(part, flexi, softness, gravity, friction, wind, tension, force); |
5868 | 5935 | ||
@@ -5871,7 +5938,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5871 | if (remain < 5) | 5938 | if (remain < 5) |
5872 | return; | 5939 | return; |
5873 | bool light = rules.GetLSLIntegerItem(idx++); | 5940 | bool light = rules.GetLSLIntegerItem(idx++); |
5874 | LSL_Types.Vector3 lightcolor = rules.GetVector3Item(idx++); | 5941 | LSL_Vector lightcolor = rules.GetVector3Item(idx++); |
5875 | float intensity = (float)rules.GetLSLFloatItem(idx++); | 5942 | float intensity = (float)rules.GetLSLFloatItem(idx++); |
5876 | float radius = (float)rules.GetLSLFloatItem(idx++); | 5943 | float radius = (float)rules.GetLSLFloatItem(idx++); |
5877 | float falloff = (float)rules.GetLSLFloatItem(idx++); | 5944 | float falloff = (float)rules.GetLSLFloatItem(idx++); |
@@ -5951,7 +6018,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5951 | } | 6018 | } |
5952 | } | 6019 | } |
5953 | 6020 | ||
5954 | public LSL_Types.LSLString llStringToBase64(string str) | 6021 | public LSL_String llStringToBase64(string str) |
5955 | { | 6022 | { |
5956 | m_host.AddScriptLPS(1); | 6023 | m_host.AddScriptLPS(1); |
5957 | try | 6024 | try |
@@ -5967,7 +6034,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
5967 | } | 6034 | } |
5968 | } | 6035 | } |
5969 | 6036 | ||
5970 | public LSL_Types.LSLString llBase64ToString(string str) | 6037 | public LSL_String llBase64ToString(string str) |
5971 | { | 6038 | { |
5972 | m_host.AddScriptLPS(1); | 6039 | m_host.AddScriptLPS(1); |
5973 | UTF8Encoding encoder = new UTF8Encoding(); | 6040 | UTF8Encoding encoder = new UTF8Encoding(); |
@@ -6000,23 +6067,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6000 | NotImplemented("llRemoteDataSetRegion"); | 6067 | NotImplemented("llRemoteDataSetRegion"); |
6001 | } | 6068 | } |
6002 | 6069 | ||
6003 | public LSL_Types.LSLFloat llLog10(double val) | 6070 | public LSL_Float llLog10(double val) |
6004 | { | 6071 | { |
6005 | m_host.AddScriptLPS(1); | 6072 | m_host.AddScriptLPS(1); |
6006 | return (double)Math.Log10(val); | 6073 | return (double)Math.Log10(val); |
6007 | } | 6074 | } |
6008 | 6075 | ||
6009 | public LSL_Types.LSLFloat llLog(double val) | 6076 | public LSL_Float llLog(double val) |
6010 | { | 6077 | { |
6011 | m_host.AddScriptLPS(1); | 6078 | m_host.AddScriptLPS(1); |
6012 | return (double)Math.Log(val); | 6079 | return (double)Math.Log(val); |
6013 | } | 6080 | } |
6014 | 6081 | ||
6015 | public LSL_Types.list llGetAnimationList( string id ) | 6082 | public LSL_List llGetAnimationList( string id ) |
6016 | { | 6083 | { |
6017 | m_host.AddScriptLPS(1); | 6084 | m_host.AddScriptLPS(1); |
6018 | 6085 | ||
6019 | LSL_Types.list l = new LSL_Types.list(); | 6086 | LSL_List l = new LSL_List(); |
6020 | ScenePresence av = World.GetScenePresence(id); | 6087 | ScenePresence av = World.GetScenePresence(id); |
6021 | if (av == null) | 6088 | if (av == null) |
6022 | return l; | 6089 | return l; |
@@ -6043,19 +6110,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6043 | // ScriptSleep(2000); | 6110 | // ScriptSleep(2000); |
6044 | } | 6111 | } |
6045 | 6112 | ||
6046 | public LSL_Types.Vector3 llGetRootPosition() | 6113 | public LSL_Vector llGetRootPosition() |
6047 | { | 6114 | { |
6048 | m_host.AddScriptLPS(1); | 6115 | m_host.AddScriptLPS(1); |
6049 | return new LSL_Types.Vector3(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); | 6116 | return new LSL_Vector(m_host.ParentGroup.AbsolutePosition.X, m_host.ParentGroup.AbsolutePosition.Y, m_host.ParentGroup.AbsolutePosition.Z); |
6050 | } | 6117 | } |
6051 | 6118 | ||
6052 | public LSL_Types.Quaternion llGetRootRotation() | 6119 | public LSL_Rotation llGetRootRotation() |
6053 | { | 6120 | { |
6054 | m_host.AddScriptLPS(1); | 6121 | m_host.AddScriptLPS(1); |
6055 | return new LSL_Types.Quaternion(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); | 6122 | return new LSL_Rotation(m_host.ParentGroup.GroupRotation.X, m_host.ParentGroup.GroupRotation.Y, m_host.ParentGroup.GroupRotation.Z, m_host.ParentGroup.GroupRotation.W); |
6056 | } | 6123 | } |
6057 | 6124 | ||
6058 | public LSL_Types.LSLString llGetObjectDesc() | 6125 | public LSL_String llGetObjectDesc() |
6059 | { | 6126 | { |
6060 | return m_host.Description!=null?m_host.Description:String.Empty; | 6127 | return m_host.Description!=null?m_host.Description:String.Empty; |
6061 | } | 6128 | } |
@@ -6066,13 +6133,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6066 | m_host.Description = desc!=null?desc:String.Empty; | 6133 | m_host.Description = desc!=null?desc:String.Empty; |
6067 | } | 6134 | } |
6068 | 6135 | ||
6069 | public LSL_Types.LSLString llGetCreator() | 6136 | public LSL_String llGetCreator() |
6070 | { | 6137 | { |
6071 | m_host.AddScriptLPS(1); | 6138 | m_host.AddScriptLPS(1); |
6072 | return m_host.ObjectCreator.ToString(); | 6139 | return m_host.ObjectCreator.ToString(); |
6073 | } | 6140 | } |
6074 | 6141 | ||
6075 | public LSL_Types.LSLString llGetTimestamp() | 6142 | public LSL_String llGetTimestamp() |
6076 | { | 6143 | { |
6077 | m_host.AddScriptLPS(1); | 6144 | m_host.AddScriptLPS(1); |
6078 | return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); | 6145 | return DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ"); |
@@ -6156,29 +6223,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6156 | } | 6223 | } |
6157 | } | 6224 | } |
6158 | 6225 | ||
6159 | public LSL_Types.LSLInteger llGetNumberOfPrims() | 6226 | public LSL_Integer llGetNumberOfPrims() |
6160 | { | 6227 | { |
6161 | m_host.AddScriptLPS(1); | 6228 | m_host.AddScriptLPS(1); |
6162 | return m_host.ParentGroup.PrimCount; | 6229 | return m_host.ParentGroup.PrimCount; |
6163 | } | 6230 | } |
6164 | 6231 | ||
6165 | public LSL_Types.list llGetBoundingBox(string obj) | 6232 | public LSL_List llGetBoundingBox(string obj) |
6166 | { | 6233 | { |
6167 | m_host.AddScriptLPS(1); | 6234 | m_host.AddScriptLPS(1); |
6168 | NotImplemented("llGetBoundingBox"); | 6235 | NotImplemented("llGetBoundingBox"); |
6169 | return new LSL_Types.list(); | 6236 | return new LSL_List(); |
6170 | } | 6237 | } |
6171 | 6238 | ||
6172 | public LSL_Types.Vector3 llGetGeometricCenter() | 6239 | public LSL_Vector llGetGeometricCenter() |
6173 | { | 6240 | { |
6174 | return new LSL_Types.Vector3(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); | 6241 | return new LSL_Vector(m_host.GetGeometricCenter().X, m_host.GetGeometricCenter().Y, m_host.GetGeometricCenter().Z); |
6175 | } | 6242 | } |
6176 | 6243 | ||
6177 | public LSL_Types.list llGetPrimitiveParams(LSL_Types.list rules) | 6244 | public LSL_List llGetPrimitiveParams(LSL_List rules) |
6178 | { | 6245 | { |
6179 | m_host.AddScriptLPS(1); | 6246 | m_host.AddScriptLPS(1); |
6180 | 6247 | ||
6181 | LSL_Types.list res = new LSL_Types.list(); | 6248 | LSL_List res = new LSL_List(); |
6182 | int idx=0; | 6249 | int idx=0; |
6183 | while (idx < rules.Length) | 6250 | while (idx < rules.Length) |
6184 | { | 6251 | { |
@@ -6188,44 +6255,44 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6188 | switch (code) | 6255 | switch (code) |
6189 | { | 6256 | { |
6190 | case (int)ScriptBaseClass.PRIM_MATERIAL: | 6257 | case (int)ScriptBaseClass.PRIM_MATERIAL: |
6191 | res.Add(new LSL_Types.LSLInteger(m_host.Material)); | 6258 | res.Add(new LSL_Integer(m_host.Material)); |
6192 | break; | 6259 | break; |
6193 | 6260 | ||
6194 | case (int)ScriptBaseClass.PRIM_PHYSICS: | 6261 | case (int)ScriptBaseClass.PRIM_PHYSICS: |
6195 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Physics) != 0) | 6262 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Physics) != 0) |
6196 | res.Add(new LSL_Types.LSLInteger(1)); | 6263 | res.Add(new LSL_Integer(1)); |
6197 | else | 6264 | else |
6198 | res.Add(new LSL_Types.LSLInteger(0)); | 6265 | res.Add(new LSL_Integer(0)); |
6199 | break; | 6266 | break; |
6200 | 6267 | ||
6201 | case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ: | 6268 | case (int)ScriptBaseClass.PRIM_TEMP_ON_REZ: |
6202 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.TemporaryOnRez) != 0) | 6269 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.TemporaryOnRez) != 0) |
6203 | res.Add(new LSL_Types.LSLInteger(1)); | 6270 | res.Add(new LSL_Integer(1)); |
6204 | else | 6271 | else |
6205 | res.Add(new LSL_Types.LSLInteger(0)); | 6272 | res.Add(new LSL_Integer(0)); |
6206 | break; | 6273 | break; |
6207 | 6274 | ||
6208 | case (int)ScriptBaseClass.PRIM_PHANTOM: | 6275 | case (int)ScriptBaseClass.PRIM_PHANTOM: |
6209 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0) | 6276 | if ((m_host.GetEffectiveObjectFlags() & (uint)PrimFlags.Phantom) != 0) |
6210 | res.Add(new LSL_Types.LSLInteger(1)); | 6277 | res.Add(new LSL_Integer(1)); |
6211 | else | 6278 | else |
6212 | res.Add(new LSL_Types.LSLInteger(0)); | 6279 | res.Add(new LSL_Integer(0)); |
6213 | break; | 6280 | break; |
6214 | 6281 | ||
6215 | case (int)ScriptBaseClass.PRIM_POSITION: | 6282 | case (int)ScriptBaseClass.PRIM_POSITION: |
6216 | res.Add(new LSL_Types.Vector3(m_host.AbsolutePosition.X, | 6283 | res.Add(new LSL_Vector(m_host.AbsolutePosition.X, |
6217 | m_host.AbsolutePosition.Y, | 6284 | m_host.AbsolutePosition.Y, |
6218 | m_host.AbsolutePosition.Z)); | 6285 | m_host.AbsolutePosition.Z)); |
6219 | break; | 6286 | break; |
6220 | 6287 | ||
6221 | case (int)ScriptBaseClass.PRIM_SIZE: | 6288 | case (int)ScriptBaseClass.PRIM_SIZE: |
6222 | res.Add(new LSL_Types.Vector3(m_host.Scale.X, | 6289 | res.Add(new LSL_Vector(m_host.Scale.X, |
6223 | m_host.Scale.Y, | 6290 | m_host.Scale.Y, |
6224 | m_host.Scale.Z)); | 6291 | m_host.Scale.Z)); |
6225 | break; | 6292 | break; |
6226 | 6293 | ||
6227 | case (int)ScriptBaseClass.PRIM_ROTATION: | 6294 | case (int)ScriptBaseClass.PRIM_ROTATION: |
6228 | res.Add(new LSL_Types.Quaternion(m_host.RotationOffset.X, | 6295 | res.Add(new LSL_Rotation(m_host.RotationOffset.X, |
6229 | m_host.RotationOffset.Y, | 6296 | m_host.RotationOffset.Y, |
6230 | m_host.RotationOffset.Z, | 6297 | m_host.RotationOffset.Z, |
6231 | m_host.RotationOffset.W)); | 6298 | m_host.RotationOffset.W)); |
@@ -6235,69 +6302,69 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6235 | // implementing box | 6302 | // implementing box |
6236 | PrimitiveBaseShape Shape = m_host.Shape; | 6303 | PrimitiveBaseShape Shape = m_host.Shape; |
6237 | int primType = getScriptPrimType(m_host.Shape); | 6304 | int primType = getScriptPrimType(m_host.Shape); |
6238 | res.Add(new LSL_Types.LSLInteger(primType)); | 6305 | res.Add(new LSL_Integer(primType)); |
6239 | switch (primType) | 6306 | switch (primType) |
6240 | { | 6307 | { |
6241 | case ScriptBaseClass.PRIM_TYPE_BOX: | 6308 | case ScriptBaseClass.PRIM_TYPE_BOX: |
6242 | case ScriptBaseClass.PRIM_TYPE_CYLINDER: | 6309 | case ScriptBaseClass.PRIM_TYPE_CYLINDER: |
6243 | case ScriptBaseClass.PRIM_TYPE_PRISM: | 6310 | case ScriptBaseClass.PRIM_TYPE_PRISM: |
6244 | res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); | 6311 | res.Add(new LSL_Integer(Shape.ProfileCurve)); |
6245 | res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); | 6312 | res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); |
6246 | res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); | 6313 | res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); |
6247 | res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); | 6314 | res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); |
6248 | res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); | 6315 | res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); |
6249 | res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); | 6316 | res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); |
6250 | break; | 6317 | break; |
6251 | 6318 | ||
6252 | case ScriptBaseClass.PRIM_TYPE_SPHERE: | 6319 | case ScriptBaseClass.PRIM_TYPE_SPHERE: |
6253 | res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); | 6320 | res.Add(new LSL_Integer(Shape.ProfileCurve)); |
6254 | res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); | 6321 | res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); |
6255 | res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); | 6322 | res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); |
6256 | res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); | 6323 | res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); |
6257 | res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); | 6324 | res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); |
6258 | break; | 6325 | break; |
6259 | 6326 | ||
6260 | case ScriptBaseClass.PRIM_TYPE_SCULPT: | 6327 | case ScriptBaseClass.PRIM_TYPE_SCULPT: |
6261 | res.Add(Shape.SculptTexture.ToString()); | 6328 | res.Add(Shape.SculptTexture.ToString()); |
6262 | res.Add(new LSL_Types.LSLInteger(Shape.SculptType)); | 6329 | res.Add(new LSL_Integer(Shape.SculptType)); |
6263 | break; | 6330 | break; |
6264 | 6331 | ||
6265 | case ScriptBaseClass.PRIM_TYPE_RING: | 6332 | case ScriptBaseClass.PRIM_TYPE_RING: |
6266 | case ScriptBaseClass.PRIM_TYPE_TUBE: | 6333 | case ScriptBaseClass.PRIM_TYPE_TUBE: |
6267 | case ScriptBaseClass.PRIM_TYPE_TORUS: | 6334 | case ScriptBaseClass.PRIM_TYPE_TORUS: |
6268 | // holeshape | 6335 | // holeshape |
6269 | res.Add(new LSL_Types.LSLInteger(Shape.ProfileCurve)); | 6336 | res.Add(new LSL_Integer(Shape.ProfileCurve)); |
6270 | 6337 | ||
6271 | // cut | 6338 | // cut |
6272 | res.Add(new LSL_Types.Vector3(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); | 6339 | res.Add(new LSL_Vector(Shape.PathBegin / 50000.0, 1 - Shape.PathEnd / 50000.0, 0)); |
6273 | 6340 | ||
6274 | // hollow | 6341 | // hollow |
6275 | res.Add(new LSL_Types.LSLFloat(Shape.ProfileHollow / 50000.0)); | 6342 | res.Add(new LSL_Float(Shape.ProfileHollow / 50000.0)); |
6276 | 6343 | ||
6277 | // twist | 6344 | // twist |
6278 | res.Add(new LSL_Types.Vector3(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); | 6345 | res.Add(new LSL_Vector(Shape.PathTwistBegin / 100.0, Shape.PathTwist / 100.0, 0)); |
6279 | 6346 | ||
6280 | // vector holesize | 6347 | // vector holesize |
6281 | res.Add(new LSL_Types.Vector3(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); | 6348 | res.Add(new LSL_Vector(1 - (Shape.PathScaleX / 100.0 - 1), 1 - (Shape.PathScaleY / 100.0 - 1), 0)); |
6282 | 6349 | ||
6283 | // vector topshear | 6350 | // vector topshear |
6284 | res.Add(new LSL_Types.Vector3(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); | 6351 | res.Add(new LSL_Vector(Shape.PathShearX / 100.0, Shape.PathShearY / 100.0, 0)); |
6285 | 6352 | ||
6286 | // vector profilecut | 6353 | // vector profilecut |
6287 | res.Add(new LSL_Types.Vector3(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); | 6354 | res.Add(new LSL_Vector(Shape.ProfileBegin / 50000.0, 1 - Shape.ProfileEnd / 50000.0, 0)); |
6288 | 6355 | ||
6289 | 6356 | ||
6290 | // vector tapera | 6357 | // vector tapera |
6291 | res.Add(new LSL_Types.Vector3(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0)); | 6358 | res.Add(new LSL_Vector(Shape.PathTaperX / 100.0, Shape.PathTaperY / 100.0, 0)); |
6292 | 6359 | ||
6293 | // float revolutions, | 6360 | // float revolutions, |
6294 | res.Add(new LSL_Types.LSLFloat(Shape.PathRevolutions / 50.0)); // needs fixing :( | 6361 | res.Add(new LSL_Float(Shape.PathRevolutions / 50.0)); // needs fixing :( |
6295 | 6362 | ||
6296 | // float radiusoffset, | 6363 | // float radiusoffset, |
6297 | res.Add(new LSL_Types.LSLFloat(Shape.PathRadiusOffset / 100.0)); | 6364 | res.Add(new LSL_Float(Shape.PathRadiusOffset / 100.0)); |
6298 | 6365 | ||
6299 | // float skew | 6366 | // float skew |
6300 | res.Add(new LSL_Types.LSLFloat(Shape.PathSkew / 100.0)); | 6367 | res.Add(new LSL_Float(Shape.PathSkew / 100.0)); |
6301 | break; | 6368 | break; |
6302 | 6369 | ||
6303 | } | 6370 | } |
@@ -6315,14 +6382,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6315 | { | 6382 | { |
6316 | Primitive.TextureEntryFace texface = tex.GetFace((uint)face); | 6383 | Primitive.TextureEntryFace texface = tex.GetFace((uint)face); |
6317 | 6384 | ||
6318 | res.Add(new LSL_Types.LSLString(texface.TextureID.ToString())); | 6385 | res.Add(new LSL_String(texface.TextureID.ToString())); |
6319 | res.Add(new LSL_Types.Vector3(texface.RepeatU, | 6386 | res.Add(new LSL_Vector(texface.RepeatU, |
6320 | texface.RepeatV, | 6387 | texface.RepeatV, |
6321 | 0)); | 6388 | 0)); |
6322 | res.Add(new LSL_Types.Vector3(texface.OffsetU, | 6389 | res.Add(new LSL_Vector(texface.OffsetU, |
6323 | texface.OffsetV, | 6390 | texface.OffsetV, |
6324 | 0)); | 6391 | 0)); |
6325 | res.Add(new LSL_Types.LSLFloat(texface.Rotation)); | 6392 | res.Add(new LSL_Float(texface.Rotation)); |
6326 | } | 6393 | } |
6327 | } | 6394 | } |
6328 | else | 6395 | else |
@@ -6331,14 +6398,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6331 | { | 6398 | { |
6332 | Primitive.TextureEntryFace texface = tex.GetFace((uint)face); | 6399 | Primitive.TextureEntryFace texface = tex.GetFace((uint)face); |
6333 | 6400 | ||
6334 | res.Add(new LSL_Types.LSLString(texface.TextureID.ToString())); | 6401 | res.Add(new LSL_String(texface.TextureID.ToString())); |
6335 | res.Add(new LSL_Types.Vector3(texface.RepeatU, | 6402 | res.Add(new LSL_Vector(texface.RepeatU, |
6336 | texface.RepeatV, | 6403 | texface.RepeatV, |
6337 | 0)); | 6404 | 0)); |
6338 | res.Add(new LSL_Types.Vector3(texface.OffsetU, | 6405 | res.Add(new LSL_Vector(texface.OffsetU, |
6339 | texface.OffsetV, | 6406 | texface.OffsetV, |
6340 | 0)); | 6407 | 0)); |
6341 | res.Add(new LSL_Types.LSLFloat(texface.Rotation)); | 6408 | res.Add(new LSL_Float(texface.Rotation)); |
6342 | } | 6409 | } |
6343 | } | 6410 | } |
6344 | break; | 6411 | break; |
@@ -6356,19 +6423,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6356 | for (face = 0 ; face < GetNumberOfSides(m_host) ; face++) | 6423 | for (face = 0 ; face < GetNumberOfSides(m_host) ; face++) |
6357 | { | 6424 | { |
6358 | texcolor = tex.GetFace((uint)face).RGBA; | 6425 | texcolor = tex.GetFace((uint)face).RGBA; |
6359 | res.Add(new LSL_Types.Vector3(texcolor.R, | 6426 | res.Add(new LSL_Vector(texcolor.R, |
6360 | texcolor.G, | 6427 | texcolor.G, |
6361 | texcolor.B)); | 6428 | texcolor.B)); |
6362 | res.Add(new LSL_Types.LSLFloat(texcolor.A)); | 6429 | res.Add(new LSL_Float(texcolor.A)); |
6363 | } | 6430 | } |
6364 | } | 6431 | } |
6365 | else | 6432 | else |
6366 | { | 6433 | { |
6367 | texcolor = tex.GetFace((uint)face).RGBA; | 6434 | texcolor = tex.GetFace((uint)face).RGBA; |
6368 | res.Add(new LSL_Types.Vector3(texcolor.R, | 6435 | res.Add(new LSL_Vector(texcolor.R, |
6369 | texcolor.G, | 6436 | texcolor.G, |
6370 | texcolor.B)); | 6437 | texcolor.B)); |
6371 | res.Add(new LSL_Types.LSLFloat(texcolor.A)); | 6438 | res.Add(new LSL_Float(texcolor.A)); |
6372 | } | 6439 | } |
6373 | break; | 6440 | break; |
6374 | 6441 | ||
@@ -6379,8 +6446,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6379 | 6446 | ||
6380 | face=(int)rules.GetLSLIntegerItem(idx++); | 6447 | face=(int)rules.GetLSLIntegerItem(idx++); |
6381 | 6448 | ||
6382 | res.Add(new LSL_Types.LSLInteger(0)); | 6449 | res.Add(new LSL_Integer(0)); |
6383 | res.Add(new LSL_Types.LSLInteger(0)); | 6450 | res.Add(new LSL_Integer(0)); |
6384 | break; | 6451 | break; |
6385 | 6452 | ||
6386 | case (int)ScriptBaseClass.PRIM_FULLBRIGHT: | 6453 | case (int)ScriptBaseClass.PRIM_FULLBRIGHT: |
@@ -6390,22 +6457,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6390 | 6457 | ||
6391 | face=(int)rules.GetLSLIntegerItem(idx++); | 6458 | face=(int)rules.GetLSLIntegerItem(idx++); |
6392 | 6459 | ||
6393 | res.Add(new LSL_Types.LSLInteger(0)); | 6460 | res.Add(new LSL_Integer(0)); |
6394 | break; | 6461 | break; |
6395 | 6462 | ||
6396 | case (int)ScriptBaseClass.PRIM_FLEXIBLE: | 6463 | case (int)ScriptBaseClass.PRIM_FLEXIBLE: |
6397 | PrimitiveBaseShape shape = m_host.Shape; | 6464 | PrimitiveBaseShape shape = m_host.Shape; |
6398 | 6465 | ||
6399 | if (shape.FlexiEntry) | 6466 | if (shape.FlexiEntry) |
6400 | res.Add(new LSL_Types.LSLInteger(1)); // active | 6467 | res.Add(new LSL_Integer(1)); // active |
6401 | else | 6468 | else |
6402 | res.Add(new LSL_Types.LSLInteger(0)); | 6469 | res.Add(new LSL_Integer(0)); |
6403 | res.Add(new LSL_Types.LSLInteger(shape.FlexiSoftness));// softness | 6470 | res.Add(new LSL_Integer(shape.FlexiSoftness));// softness |
6404 | res.Add(new LSL_Types.LSLFloat(shape.FlexiGravity)); // gravity | 6471 | res.Add(new LSL_Float(shape.FlexiGravity)); // gravity |
6405 | res.Add(new LSL_Types.LSLFloat(shape.FlexiDrag)); // friction | 6472 | res.Add(new LSL_Float(shape.FlexiDrag)); // friction |
6406 | res.Add(new LSL_Types.LSLFloat(shape.FlexiWind)); // wind | 6473 | res.Add(new LSL_Float(shape.FlexiWind)); // wind |
6407 | res.Add(new LSL_Types.LSLFloat(shape.FlexiTension)); // tension | 6474 | res.Add(new LSL_Float(shape.FlexiTension)); // tension |
6408 | res.Add(new LSL_Types.Vector3(shape.FlexiForceX, // force | 6475 | res.Add(new LSL_Vector(shape.FlexiForceX, // force |
6409 | shape.FlexiForceY, | 6476 | shape.FlexiForceY, |
6410 | shape.FlexiForceZ)); | 6477 | shape.FlexiForceZ)); |
6411 | break; | 6478 | break; |
@@ -6418,22 +6485,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6418 | 6485 | ||
6419 | face=(int)rules.GetLSLIntegerItem(idx++); | 6486 | face=(int)rules.GetLSLIntegerItem(idx++); |
6420 | 6487 | ||
6421 | res.Add(new LSL_Types.LSLInteger(0)); | 6488 | res.Add(new LSL_Integer(0)); |
6422 | break; | 6489 | break; |
6423 | 6490 | ||
6424 | case (int)ScriptBaseClass.PRIM_POINT_LIGHT: | 6491 | case (int)ScriptBaseClass.PRIM_POINT_LIGHT: |
6425 | shape = m_host.Shape; | 6492 | shape = m_host.Shape; |
6426 | 6493 | ||
6427 | if (shape.LightEntry) | 6494 | if (shape.LightEntry) |
6428 | res.Add(new LSL_Types.LSLInteger(1)); // active | 6495 | res.Add(new LSL_Integer(1)); // active |
6429 | else | 6496 | else |
6430 | res.Add(new LSL_Types.LSLInteger(0)); | 6497 | res.Add(new LSL_Integer(0)); |
6431 | res.Add(new LSL_Types.Vector3(shape.LightColorR, // color | 6498 | res.Add(new LSL_Vector(shape.LightColorR, // color |
6432 | shape.LightColorG, | 6499 | shape.LightColorG, |
6433 | shape.LightColorB)); | 6500 | shape.LightColorB)); |
6434 | res.Add(new LSL_Types.LSLFloat(shape.LightIntensity)); // intensity | 6501 | res.Add(new LSL_Float(shape.LightIntensity)); // intensity |
6435 | res.Add(new LSL_Types.LSLFloat(shape.LightRadius)); // radius | 6502 | res.Add(new LSL_Float(shape.LightRadius)); // radius |
6436 | res.Add(new LSL_Types.LSLFloat(shape.LightFalloff)); // falloff | 6503 | res.Add(new LSL_Float(shape.LightFalloff)); // falloff |
6437 | break; | 6504 | break; |
6438 | 6505 | ||
6439 | case (int)ScriptBaseClass.PRIM_GLOW: | 6506 | case (int)ScriptBaseClass.PRIM_GLOW: |
@@ -6443,7 +6510,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6443 | 6510 | ||
6444 | face=(int)rules.GetLSLIntegerItem(idx++); | 6511 | face=(int)rules.GetLSLIntegerItem(idx++); |
6445 | 6512 | ||
6446 | res.Add(new LSL_Types.LSLFloat(0)); | 6513 | res.Add(new LSL_Float(0)); |
6447 | break; | 6514 | break; |
6448 | } | 6515 | } |
6449 | } | 6516 | } |
@@ -6577,7 +6644,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6577 | // characters are padded with "=". | 6644 | // characters are padded with "=". |
6578 | // </returns> | 6645 | // </returns> |
6579 | 6646 | ||
6580 | public LSL_Types.LSLString llIntegerToBase64(int number) | 6647 | public LSL_String llIntegerToBase64(int number) |
6581 | { | 6648 | { |
6582 | // uninitialized string | 6649 | // uninitialized string |
6583 | 6650 | ||
@@ -6640,7 +6707,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6640 | // </para> | 6707 | // </para> |
6641 | // </remarks> | 6708 | // </remarks> |
6642 | 6709 | ||
6643 | public LSL_Types.LSLInteger llBase64ToInteger(string str) | 6710 | public LSL_Integer llBase64ToInteger(string str) |
6644 | { | 6711 | { |
6645 | int number = 0; | 6712 | int number = 0; |
6646 | int digit; | 6713 | int digit; |
@@ -6700,19 +6767,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6700 | return number; | 6767 | return number; |
6701 | } | 6768 | } |
6702 | 6769 | ||
6703 | public LSL_Types.LSLFloat llGetGMTclock() | 6770 | public LSL_Float llGetGMTclock() |
6704 | { | 6771 | { |
6705 | m_host.AddScriptLPS(1); | 6772 | m_host.AddScriptLPS(1); |
6706 | return DateTime.UtcNow.TimeOfDay.TotalSeconds; | 6773 | return DateTime.UtcNow.TimeOfDay.TotalSeconds; |
6707 | } | 6774 | } |
6708 | 6775 | ||
6709 | public LSL_Types.LSLString llGetSimulatorHostname() | 6776 | public LSL_String llGetSimulatorHostname() |
6710 | { | 6777 | { |
6711 | m_host.AddScriptLPS(1); | 6778 | m_host.AddScriptLPS(1); |
6712 | return System.Environment.MachineName; | 6779 | return System.Environment.MachineName; |
6713 | } | 6780 | } |
6714 | 6781 | ||
6715 | public void llSetLocalRot(LSL_Types.Quaternion rot) | 6782 | public void llSetLocalRot(LSL_Rotation rot) |
6716 | { | 6783 | { |
6717 | m_host.AddScriptLPS(1); | 6784 | m_host.AddScriptLPS(1); |
6718 | m_host.RotationOffset = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); | 6785 | m_host.RotationOffset = new Quaternion((float)rot.x, (float)rot.y, (float)rot.z, (float)rot.s); |
@@ -6767,7 +6834,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6767 | // of arrays or other objects. | 6834 | // of arrays or other objects. |
6768 | // </remarks> | 6835 | // </remarks> |
6769 | 6836 | ||
6770 | public LSL_Types.list llParseStringKeepNulls(string src, LSL_Types.list separators, LSL_Types.list spacers) | 6837 | public LSL_List llParseStringKeepNulls(string src, LSL_List separators, LSL_List spacers) |
6771 | { | 6838 | { |
6772 | int beginning = 0; | 6839 | int beginning = 0; |
6773 | int srclen = src.Length; | 6840 | int srclen = src.Length; |
@@ -6785,7 +6852,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6785 | 6852 | ||
6786 | // Initial capacity reduces resize cost | 6853 | // Initial capacity reduces resize cost |
6787 | 6854 | ||
6788 | LSL_Types.list tokens = new LSL_Types.list(); | 6855 | LSL_List tokens = new LSL_List(); |
6789 | 6856 | ||
6790 | m_host.AddScriptLPS(1); | 6857 | m_host.AddScriptLPS(1); |
6791 | 6858 | ||
@@ -6895,7 +6962,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6895 | return tokens; | 6962 | return tokens; |
6896 | } | 6963 | } |
6897 | 6964 | ||
6898 | public LSL_Types.LSLInteger llGetObjectPermMask(int mask) | 6965 | public LSL_Integer llGetObjectPermMask(int mask) |
6899 | { | 6966 | { |
6900 | m_host.AddScriptLPS(1); | 6967 | m_host.AddScriptLPS(1); |
6901 | 6968 | ||
@@ -6968,7 +7035,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6968 | } | 7035 | } |
6969 | } | 7036 | } |
6970 | 7037 | ||
6971 | public LSL_Types.LSLInteger llGetInventoryPermMask(string item, int mask) | 7038 | public LSL_Integer llGetInventoryPermMask(string item, int mask) |
6972 | { | 7039 | { |
6973 | m_host.AddScriptLPS(1); | 7040 | m_host.AddScriptLPS(1); |
6974 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) | 7041 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) |
@@ -6999,7 +7066,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6999 | NotImplemented("llSetInventoryPermMask"); | 7066 | NotImplemented("llSetInventoryPermMask"); |
7000 | } | 7067 | } |
7001 | 7068 | ||
7002 | public LSL_Types.LSLString llGetInventoryCreator(string item) | 7069 | public LSL_String llGetInventoryCreator(string item) |
7003 | { | 7070 | { |
7004 | m_host.AddScriptLPS(1); | 7071 | m_host.AddScriptLPS(1); |
7005 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) | 7072 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) |
@@ -7022,7 +7089,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7022 | // wComm.DeliverMessage(ChatTypeEnum.Owner, 0, m_host.Name, m_host.UUID, msg); | 7089 | // wComm.DeliverMessage(ChatTypeEnum.Owner, 0, m_host.Name, m_host.UUID, msg); |
7023 | } | 7090 | } |
7024 | 7091 | ||
7025 | public LSL_Types.LSLString llRequestSimulatorData(string simulator, int data) | 7092 | public LSL_String llRequestSimulatorData(string simulator, int data) |
7026 | { | 7093 | { |
7027 | try | 7094 | try |
7028 | { | 7095 | { |
@@ -7040,7 +7107,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7040 | // ScriptSleep(1000); | 7107 | // ScriptSleep(1000); |
7041 | return UUID.Zero.ToString(); | 7108 | return UUID.Zero.ToString(); |
7042 | } | 7109 | } |
7043 | reply = new LSL_Types.Vector3( | 7110 | reply = new LSL_Vector( |
7044 | info.RegionLocX * Constants.RegionSize, | 7111 | info.RegionLocX * Constants.RegionSize, |
7045 | info.RegionLocY * Constants.RegionSize, | 7112 | info.RegionLocY * Constants.RegionSize, |
7046 | 0).ToString(); | 7113 | 0).ToString(); |
@@ -7096,7 +7163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7096 | m_host.SetForceMouselook(mouselook != 0); | 7163 | m_host.SetForceMouselook(mouselook != 0); |
7097 | } | 7164 | } |
7098 | 7165 | ||
7099 | public LSL_Types.LSLFloat llGetObjectMass(string id) | 7166 | public LSL_Float llGetObjectMass(string id) |
7100 | { | 7167 | { |
7101 | m_host.AddScriptLPS(1); | 7168 | m_host.AddScriptLPS(1); |
7102 | UUID key = new UUID(); | 7169 | UUID key = new UUID(); |
@@ -7119,9 +7186,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7119 | /// and the source list is added as a suffix. | 7186 | /// and the source list is added as a suffix. |
7120 | /// </summary> | 7187 | /// </summary> |
7121 | 7188 | ||
7122 | public LSL_Types.list llListReplaceList(LSL_Types.list dest, LSL_Types.list src, int start, int end) | 7189 | public LSL_List llListReplaceList(LSL_List dest, LSL_List src, int start, int end) |
7123 | { | 7190 | { |
7124 | LSL_Types.list pref = null; | 7191 | LSL_List pref = null; |
7125 | 7192 | ||
7126 | m_host.AddScriptLPS(1); | 7193 | m_host.AddScriptLPS(1); |
7127 | 7194 | ||
@@ -7198,7 +7265,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7198 | // ScriptSleep(10000); | 7265 | // ScriptSleep(10000); |
7199 | } | 7266 | } |
7200 | 7267 | ||
7201 | public void llParcelMediaCommandList(LSL_Types.list commandList) | 7268 | public void llParcelMediaCommandList(LSL_List commandList) |
7202 | { | 7269 | { |
7203 | //TO DO: Implement the missing commands | 7270 | //TO DO: Implement the missing commands |
7204 | //PARCEL_MEDIA_COMMAND_STOP Stop the media stream and go back to the first frame. | 7271 | //PARCEL_MEDIA_COMMAND_STOP Stop the media stream and go back to the first frame. |
@@ -7296,10 +7363,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7296 | // ScriptSleep(2000); | 7363 | // ScriptSleep(2000); |
7297 | } | 7364 | } |
7298 | 7365 | ||
7299 | public LSL_Types.list llParcelMediaQuery(LSL_Types.list aList) | 7366 | public LSL_List llParcelMediaQuery(LSL_List aList) |
7300 | { | 7367 | { |
7301 | m_host.AddScriptLPS(1); | 7368 | m_host.AddScriptLPS(1); |
7302 | LSL_Types.list list = new LSL_Types.list(); | 7369 | LSL_List list = new LSL_List(); |
7303 | //TO DO: make the implementation for the missing commands | 7370 | //TO DO: make the implementation for the missing commands |
7304 | //PARCEL_MEDIA_COMMAND_TEXTURE key uuid Use this to get or set the parcel's media texture. | 7371 | //PARCEL_MEDIA_COMMAND_TEXTURE key uuid Use this to get or set the parcel's media texture. |
7305 | //PARCEL_MEDIA_COMMAND_URL string url Used to get or set the parcel's media url. | 7372 | //PARCEL_MEDIA_COMMAND_URL string url Used to get or set the parcel's media url. |
@@ -7315,13 +7382,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7315 | switch ((ParcelMediaCommandEnum) aList.Data[i]) | 7382 | switch ((ParcelMediaCommandEnum) aList.Data[i]) |
7316 | { | 7383 | { |
7317 | case ParcelMediaCommandEnum.Url: | 7384 | case ParcelMediaCommandEnum.Url: |
7318 | list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); | 7385 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaURL)); |
7319 | break; | 7386 | break; |
7320 | case ParcelMediaCommandEnum.Desc: | 7387 | case ParcelMediaCommandEnum.Desc: |
7321 | list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); | 7388 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).Description)); |
7322 | break; | 7389 | break; |
7323 | case ParcelMediaCommandEnum.Texture: | 7390 | case ParcelMediaCommandEnum.Texture: |
7324 | list.Add(new LSL_Types.LSLString(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); | 7391 | list.Add(new LSL_String(World.GetLandData(m_host.AbsolutePosition.X, m_host.AbsolutePosition.Y).MediaID.ToString())); |
7325 | break; | 7392 | break; |
7326 | default: | 7393 | default: |
7327 | ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; | 7394 | ParcelMediaCommandEnum mediaCommandEnum = ParcelMediaCommandEnum.Url; |
@@ -7335,7 +7402,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7335 | return list; | 7402 | return list; |
7336 | } | 7403 | } |
7337 | 7404 | ||
7338 | public LSL_Types.LSLInteger llModPow(int a, int b, int c) | 7405 | public LSL_Integer llModPow(int a, int b, int c) |
7339 | { | 7406 | { |
7340 | m_host.AddScriptLPS(1); | 7407 | m_host.AddScriptLPS(1); |
7341 | Int64 tmp = 0; | 7408 | Int64 tmp = 0; |
@@ -7344,7 +7411,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7344 | return Convert.ToInt32(tmp); | 7411 | return Convert.ToInt32(tmp); |
7345 | } | 7412 | } |
7346 | 7413 | ||
7347 | public LSL_Types.LSLInteger llGetInventoryType(string name) | 7414 | public LSL_Integer llGetInventoryType(string name) |
7348 | { | 7415 | { |
7349 | m_host.AddScriptLPS(1); | 7416 | m_host.AddScriptLPS(1); |
7350 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) | 7417 | foreach (KeyValuePair<UUID, TaskInventoryItem> inv in m_host.TaskInventory) |
@@ -7357,7 +7424,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7357 | return -1; | 7424 | return -1; |
7358 | } | 7425 | } |
7359 | 7426 | ||
7360 | public void llSetPayPrice(int price, LSL_Types.list quick_pay_buttons) | 7427 | public void llSetPayPrice(int price, LSL_List quick_pay_buttons) |
7361 | { | 7428 | { |
7362 | m_host.AddScriptLPS(1); | 7429 | m_host.AddScriptLPS(1); |
7363 | 7430 | ||
@@ -7368,40 +7435,40 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7368 | } | 7435 | } |
7369 | m_host.ParentGroup.RootPart.PayPrice[0]=price; | 7436 | m_host.ParentGroup.RootPart.PayPrice[0]=price; |
7370 | 7437 | ||
7371 | m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[0]; | 7438 | m_host.ParentGroup.RootPart.PayPrice[1]=(LSL_Integer)quick_pay_buttons.Data[0]; |
7372 | m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[1]; | 7439 | m_host.ParentGroup.RootPart.PayPrice[2]=(LSL_Integer)quick_pay_buttons.Data[1]; |
7373 | m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[2]; | 7440 | m_host.ParentGroup.RootPart.PayPrice[3]=(LSL_Integer)quick_pay_buttons.Data[2]; |
7374 | m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Types.LSLInteger)quick_pay_buttons.Data[3]; | 7441 | m_host.ParentGroup.RootPart.PayPrice[4]=(LSL_Integer)quick_pay_buttons.Data[3]; |
7375 | m_host.ParentGroup.HasGroupChanged = true; | 7442 | m_host.ParentGroup.HasGroupChanged = true; |
7376 | } | 7443 | } |
7377 | 7444 | ||
7378 | public LSL_Types.Vector3 llGetCameraPos() | 7445 | public LSL_Vector llGetCameraPos() |
7379 | { | 7446 | { |
7380 | m_host.AddScriptLPS(1); | 7447 | m_host.AddScriptLPS(1); |
7381 | UUID invItemID=InventorySelf(); | 7448 | UUID invItemID=InventorySelf(); |
7382 | if (invItemID == UUID.Zero) | 7449 | if (invItemID == UUID.Zero) |
7383 | return new LSL_Types.Vector3(); | 7450 | return new LSL_Vector(); |
7384 | if (m_host.TaskInventory[invItemID].PermsGranter == UUID.Zero) | 7451 | if (m_host.TaskInventory[invItemID].PermsGranter == UUID.Zero) |
7385 | return new LSL_Types.Vector3(); | 7452 | return new LSL_Vector(); |
7386 | if ((m_host.TaskInventory[invItemID].PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) | 7453 | if ((m_host.TaskInventory[invItemID].PermsMask & ScriptBaseClass.PERMISSION_TRACK_CAMERA) == 0) |
7387 | { | 7454 | { |
7388 | ShoutError("No permissions to track the camera"); | 7455 | ShoutError("No permissions to track the camera"); |
7389 | return new LSL_Types.Vector3(); | 7456 | return new LSL_Vector(); |
7390 | } | 7457 | } |
7391 | ScenePresence presence = World.GetScenePresence(m_host.OwnerID); | 7458 | ScenePresence presence = World.GetScenePresence(m_host.OwnerID); |
7392 | if (presence != null) | 7459 | if (presence != null) |
7393 | { | 7460 | { |
7394 | LSL_Types.Vector3 pos = new LSL_Types.Vector3(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z); | 7461 | LSL_Vector pos = new LSL_Vector(presence.CameraPosition.X, presence.CameraPosition.Y, presence.CameraPosition.Z); |
7395 | return pos; | 7462 | return pos; |
7396 | } | 7463 | } |
7397 | return new LSL_Types.Vector3(); | 7464 | return new LSL_Vector(); |
7398 | } | 7465 | } |
7399 | 7466 | ||
7400 | public LSL_Types.Quaternion llGetCameraRot() | 7467 | public LSL_Rotation llGetCameraRot() |
7401 | { | 7468 | { |
7402 | m_host.AddScriptLPS(1); | 7469 | m_host.AddScriptLPS(1); |
7403 | NotImplemented("llGetCameraRot"); | 7470 | NotImplemented("llGetCameraRot"); |
7404 | return new LSL_Types.Quaternion(); | 7471 | return new LSL_Rotation(); |
7405 | } | 7472 | } |
7406 | 7473 | ||
7407 | public void llSetPrimURL() | 7474 | public void llSetPrimURL() |
@@ -7418,7 +7485,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7418 | // ScriptSleep(20000); | 7485 | // ScriptSleep(20000); |
7419 | } | 7486 | } |
7420 | 7487 | ||
7421 | public LSL_Types.LSLString llEscapeURL(string url) | 7488 | public LSL_String llEscapeURL(string url) |
7422 | { | 7489 | { |
7423 | m_host.AddScriptLPS(1); | 7490 | m_host.AddScriptLPS(1); |
7424 | try | 7491 | try |
@@ -7431,7 +7498,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7431 | } | 7498 | } |
7432 | } | 7499 | } |
7433 | 7500 | ||
7434 | public LSL_Types.LSLString llUnescapeURL(string url) | 7501 | public LSL_String llUnescapeURL(string url) |
7435 | { | 7502 | { |
7436 | m_host.AddScriptLPS(1); | 7503 | m_host.AddScriptLPS(1); |
7437 | try | 7504 | try |
@@ -7444,7 +7511,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7444 | } | 7511 | } |
7445 | } | 7512 | } |
7446 | 7513 | ||
7447 | public void llMapDestination(string simname, LSL_Types.Vector3 pos, LSL_Types.Vector3 look_at) | 7514 | public void llMapDestination(string simname, LSL_Vector pos, LSL_Vector look_at) |
7448 | { | 7515 | { |
7449 | m_host.AddScriptLPS(1); | 7516 | m_host.AddScriptLPS(1); |
7450 | NotImplemented("llMapDestination"); | 7517 | NotImplemented("llMapDestination"); |
@@ -7514,7 +7581,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7514 | // ScriptSleep(100); | 7581 | // ScriptSleep(100); |
7515 | } | 7582 | } |
7516 | 7583 | ||
7517 | public void llSetCameraParams(LSL_Types.list rules) | 7584 | public void llSetCameraParams(LSL_List rules) |
7518 | { | 7585 | { |
7519 | m_host.AddScriptLPS(1); | 7586 | m_host.AddScriptLPS(1); |
7520 | 7587 | ||
@@ -7547,17 +7614,17 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7547 | case ScriptBaseClass.CAMERA_FOCUS: | 7614 | case ScriptBaseClass.CAMERA_FOCUS: |
7548 | case ScriptBaseClass.CAMERA_FOCUS_OFFSET: | 7615 | case ScriptBaseClass.CAMERA_FOCUS_OFFSET: |
7549 | case ScriptBaseClass.CAMERA_POSITION: | 7616 | case ScriptBaseClass.CAMERA_POSITION: |
7550 | LSL_Types.Vector3 v = (LSL_Types.Vector3)data[i]; | 7617 | LSL_Vector v = (LSL_Vector)data[i]; |
7551 | parameters.Add(type + 1, (float)v.x); | 7618 | parameters.Add(type + 1, (float)v.x); |
7552 | parameters.Add(type + 2, (float)v.y); | 7619 | parameters.Add(type + 2, (float)v.y); |
7553 | parameters.Add(type + 3, (float)v.z); | 7620 | parameters.Add(type + 3, (float)v.z); |
7554 | break; | 7621 | break; |
7555 | default: | 7622 | default: |
7556 | // TODO: clean that up as soon as the implicit casts are in | 7623 | // TODO: clean that up as soon as the implicit casts are in |
7557 | if (data[i] is LSL_Types.LSLFloat) | 7624 | if (data[i] is LSL_Float) |
7558 | parameters.Add(type, (float)((LSL_Types.LSLFloat)data[i]).value); | 7625 | parameters.Add(type, (float)((LSL_Float)data[i]).value); |
7559 | else if (data[i] is LSL_Types.LSLInteger) | 7626 | else if (data[i] is LSL_Integer) |
7560 | parameters.Add(type, (float)((LSL_Types.LSLInteger)data[i]).value); | 7627 | parameters.Add(type, (float)((LSL_Integer)data[i]).value); |
7561 | else parameters.Add(type, Convert.ToSingle(data[i])); | 7628 | else parameters.Add(type, Convert.ToSingle(data[i])); |
7562 | break; | 7629 | break; |
7563 | } | 7630 | } |
@@ -7590,10 +7657,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7590 | presence.ControllingClient.SendClearFollowCamProperties(objectID); | 7657 | presence.ControllingClient.SendClearFollowCamProperties(objectID); |
7591 | } | 7658 | } |
7592 | 7659 | ||
7593 | public LSL_Types.LSLFloat llListStatistics(int operation, LSL_Types.list src) | 7660 | public LSL_Float llListStatistics(int operation, LSL_List src) |
7594 | { | 7661 | { |
7595 | m_host.AddScriptLPS(1); | 7662 | m_host.AddScriptLPS(1); |
7596 | LSL_Types.list nums = LSL_Types.list.ToDoubleList(src); | 7663 | LSL_List nums = LSL_List.ToDoubleList(src); |
7597 | switch (operation) | 7664 | switch (operation) |
7598 | { | 7665 | { |
7599 | case ScriptBaseClass.LIST_STAT_RANGE: | 7666 | case ScriptBaseClass.LIST_STAT_RANGE: |
@@ -7623,19 +7690,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7623 | } | 7690 | } |
7624 | } | 7691 | } |
7625 | 7692 | ||
7626 | public LSL_Types.LSLInteger llGetUnixTime() | 7693 | public LSL_Integer llGetUnixTime() |
7627 | { | 7694 | { |
7628 | m_host.AddScriptLPS(1); | 7695 | m_host.AddScriptLPS(1); |
7629 | return Util.UnixTimeSinceEpoch(); | 7696 | return Util.UnixTimeSinceEpoch(); |
7630 | } | 7697 | } |
7631 | 7698 | ||
7632 | public LSL_Types.LSLInteger llGetParcelFlags(LSL_Types.Vector3 pos) | 7699 | public LSL_Integer llGetParcelFlags(LSL_Vector pos) |
7633 | { | 7700 | { |
7634 | m_host.AddScriptLPS(1); | 7701 | m_host.AddScriptLPS(1); |
7635 | return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.Flags; | 7702 | return (int)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y).landData.Flags; |
7636 | } | 7703 | } |
7637 | 7704 | ||
7638 | public LSL_Types.LSLInteger llGetRegionFlags() | 7705 | public LSL_Integer llGetRegionFlags() |
7639 | { | 7706 | { |
7640 | m_host.AddScriptLPS(1); | 7707 | m_host.AddScriptLPS(1); |
7641 | IEstateModule estate = World.RequestModuleInterface<IEstateModule>(); | 7708 | IEstateModule estate = World.RequestModuleInterface<IEstateModule>(); |
@@ -7644,7 +7711,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7644 | return (int)estate.GetRegionFlags(); | 7711 | return (int)estate.GetRegionFlags(); |
7645 | } | 7712 | } |
7646 | 7713 | ||
7647 | public LSL_Types.LSLString llXorBase64StringsCorrect(string str1, string str2) | 7714 | public LSL_String llXorBase64StringsCorrect(string str1, string str2) |
7648 | { | 7715 | { |
7649 | m_host.AddScriptLPS(1); | 7716 | m_host.AddScriptLPS(1); |
7650 | string ret = String.Empty; | 7717 | string ret = String.Empty; |
@@ -7662,7 +7729,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7662 | return llStringToBase64(ret); | 7729 | return llStringToBase64(ret); |
7663 | } | 7730 | } |
7664 | 7731 | ||
7665 | public LSL_Types.LSLString llHTTPRequest(string url, LSL_Types.list parameters, string body) | 7732 | public LSL_String llHTTPRequest(string url, LSL_List parameters, string body) |
7666 | { | 7733 | { |
7667 | // Partial implementation: support for parameter flags needed | 7734 | // Partial implementation: support for parameter flags needed |
7668 | // see http://wiki.secondlife.com/wiki/LlHTTPRequest | 7735 | // see http://wiki.secondlife.com/wiki/LlHTTPRequest |
@@ -7739,7 +7806,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7739 | // ScriptSleep(100); | 7806 | // ScriptSleep(100); |
7740 | } | 7807 | } |
7741 | 7808 | ||
7742 | public LSL_Types.LSLInteger llGetParcelPrimCount(LSL_Types.Vector3 pos, int category, int sim_wide) | 7809 | public LSL_Integer llGetParcelPrimCount(LSL_Vector pos, int category, int sim_wide) |
7743 | { | 7810 | { |
7744 | m_host.AddScriptLPS(1); | 7811 | m_host.AddScriptLPS(1); |
7745 | 7812 | ||
@@ -7802,11 +7869,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7802 | return 0; | 7869 | return 0; |
7803 | } | 7870 | } |
7804 | 7871 | ||
7805 | public LSL_Types.list llGetParcelPrimOwners(LSL_Types.Vector3 pos) | 7872 | public LSL_List llGetParcelPrimOwners(LSL_Vector pos) |
7806 | { | 7873 | { |
7807 | m_host.AddScriptLPS(1); | 7874 | m_host.AddScriptLPS(1); |
7808 | LandObject land = (LandObject)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y); | 7875 | LandObject land = (LandObject)World.LandChannel.GetLandObject((float)pos.x, (float)pos.y); |
7809 | LSL_Types.list ret = new LSL_Types.list(); | 7876 | LSL_List ret = new LSL_List(); |
7810 | if (land != null) | 7877 | if (land != null) |
7811 | { | 7878 | { |
7812 | foreach (KeyValuePair<UUID, int> d in land.getLandObjectOwners()) | 7879 | foreach (KeyValuePair<UUID, int> d in land.getLandObjectOwners()) |
@@ -7819,7 +7886,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7819 | return ret; | 7886 | return ret; |
7820 | } | 7887 | } |
7821 | 7888 | ||
7822 | public LSL_Types.LSLInteger llGetObjectPrimCount(string object_id) | 7889 | public LSL_Integer llGetObjectPrimCount(string object_id) |
7823 | { | 7890 | { |
7824 | m_host.AddScriptLPS(1); | 7891 | m_host.AddScriptLPS(1); |
7825 | SceneObjectPart part = World.GetSceneObjectPart(new UUID(object_id)); | 7892 | SceneObjectPart part = World.GetSceneObjectPart(new UUID(object_id)); |
@@ -7833,7 +7900,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7833 | } | 7900 | } |
7834 | } | 7901 | } |
7835 | 7902 | ||
7836 | public LSL_Types.LSLInteger llGetParcelMaxPrims(LSL_Types.Vector3 pos, int sim_wide) | 7903 | public LSL_Integer llGetParcelMaxPrims(LSL_Vector pos, int sim_wide) |
7837 | { | 7904 | { |
7838 | m_host.AddScriptLPS(1); | 7905 | m_host.AddScriptLPS(1); |
7839 | // Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation | 7906 | // Alondria: This currently just is utilizing the normal grid's 0.22 prims/m2 calculation |
@@ -7863,36 +7930,36 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7863 | 7930 | ||
7864 | } | 7931 | } |
7865 | 7932 | ||
7866 | public LSL_Types.list llGetParcelDetails(LSL_Types.Vector3 pos, LSL_Types.list param) | 7933 | public LSL_List llGetParcelDetails(LSL_Vector pos, LSL_List param) |
7867 | { | 7934 | { |
7868 | m_host.AddScriptLPS(1); | 7935 | m_host.AddScriptLPS(1); |
7869 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); | 7936 | LandData land = World.GetLandData((float)pos.x, (float)pos.y); |
7870 | if (land == null) | 7937 | if (land == null) |
7871 | { | 7938 | { |
7872 | return new LSL_Types.list(0); | 7939 | return new LSL_List(0); |
7873 | } | 7940 | } |
7874 | LSL_Types.list ret = new LSL_Types.list(); | 7941 | LSL_List ret = new LSL_List(); |
7875 | foreach (object o in param.Data) | 7942 | foreach (object o in param.Data) |
7876 | { | 7943 | { |
7877 | switch (o.ToString()) | 7944 | switch (o.ToString()) |
7878 | { | 7945 | { |
7879 | case "0": | 7946 | case "0": |
7880 | ret = ret + new LSL_Types.list(land.Name); | 7947 | ret = ret + new LSL_List(land.Name); |
7881 | break; | 7948 | break; |
7882 | case "1": | 7949 | case "1": |
7883 | ret = ret + new LSL_Types.list(land.Description); | 7950 | ret = ret + new LSL_List(land.Description); |
7884 | break; | 7951 | break; |
7885 | case "2": | 7952 | case "2": |
7886 | ret = ret + new LSL_Types.list(land.OwnerID.ToString()); | 7953 | ret = ret + new LSL_List(land.OwnerID.ToString()); |
7887 | break; | 7954 | break; |
7888 | case "3": | 7955 | case "3": |
7889 | ret = ret + new LSL_Types.list(land.GroupID.ToString()); | 7956 | ret = ret + new LSL_List(land.GroupID.ToString()); |
7890 | break; | 7957 | break; |
7891 | case "4": | 7958 | case "4": |
7892 | ret = ret + new LSL_Types.list(land.Area); | 7959 | ret = ret + new LSL_List(land.Area); |
7893 | break; | 7960 | break; |
7894 | default: | 7961 | default: |
7895 | ret = ret + new LSL_Types.list(0); | 7962 | ret = ret + new LSL_List(0); |
7896 | break; | 7963 | break; |
7897 | } | 7964 | } |
7898 | } | 7965 | } |
@@ -7915,7 +7982,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7915 | // ScriptSleep(200); | 7982 | // ScriptSleep(200); |
7916 | } | 7983 | } |
7917 | 7984 | ||
7918 | public LSL_Types.LSLString llStringTrim(string src, int type) | 7985 | public LSL_String llStringTrim(string src, int type) |
7919 | { | 7986 | { |
7920 | m_host.AddScriptLPS(1); | 7987 | m_host.AddScriptLPS(1); |
7921 | if (type == (int)ScriptBaseClass.STRING_TRIM_HEAD) { return src.TrimStart(); } | 7988 | if (type == (int)ScriptBaseClass.STRING_TRIM_HEAD) { return src.TrimStart(); } |
@@ -7924,10 +7991,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7924 | return src; | 7991 | return src; |
7925 | } | 7992 | } |
7926 | 7993 | ||
7927 | public LSL_Types.list llGetObjectDetails(string id, LSL_Types.list args) | 7994 | public LSL_List llGetObjectDetails(string id, LSL_List args) |
7928 | { | 7995 | { |
7929 | m_host.AddScriptLPS(1); | 7996 | m_host.AddScriptLPS(1); |
7930 | LSL_Types.list ret = new LSL_Types.list(); | 7997 | LSL_List ret = new LSL_List(); |
7931 | UUID key = new UUID(); | 7998 | UUID key = new UUID(); |
7932 | if (UUID.TryParse(id, out key)) | 7999 | if (UUID.TryParse(id, out key)) |
7933 | { | 8000 | { |
@@ -7946,13 +8013,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7946 | ret.Add(""); | 8013 | ret.Add(""); |
7947 | break; | 8014 | break; |
7948 | case "3": | 8015 | case "3": |
7949 | ret.Add(new LSL_Types.Vector3((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z)); | 8016 | ret.Add(new LSL_Vector((double)av.AbsolutePosition.X, (double)av.AbsolutePosition.Y, (double)av.AbsolutePosition.Z)); |
7950 | break; | 8017 | break; |
7951 | case "4": | 8018 | case "4": |
7952 | ret.Add(new LSL_Types.Quaternion((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W)); | 8019 | ret.Add(new LSL_Rotation((double)av.Rotation.X, (double)av.Rotation.Y, (double)av.Rotation.Z, (double)av.Rotation.W)); |
7953 | break; | 8020 | break; |
7954 | case "5": | 8021 | case "5": |
7955 | ret.Add(new LSL_Types.Vector3(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); | 8022 | ret.Add(new LSL_Vector(av.Velocity.X, av.Velocity.Y, av.Velocity.Z)); |
7956 | break; | 8023 | break; |
7957 | case "6": | 8024 | case "6": |
7958 | ret.Add(id); | 8025 | ret.Add(id); |
@@ -7981,13 +8048,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
7981 | ret.Add(obj.Description); | 8048 | ret.Add(obj.Description); |
7982 | break; | 8049 | break; |
7983 | case "3": | 8050 | case "3": |
7984 | ret.Add(new LSL_Types.Vector3(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); | 8051 | ret.Add(new LSL_Vector(obj.AbsolutePosition.X, obj.AbsolutePosition.Y, obj.AbsolutePosition.Z)); |
7985 | break; | 8052 | break; |
7986 | case "4": | 8053 | case "4": |
7987 | ret.Add(new LSL_Types.Quaternion(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W)); | 8054 | ret.Add(new LSL_Rotation(obj.RotationOffset.X, obj.RotationOffset.Y, obj.RotationOffset.Z, obj.RotationOffset.W)); |
7988 | break; | 8055 | break; |
7989 | case "5": | 8056 | case "5": |
7990 | ret.Add(new LSL_Types.Vector3(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); | 8057 | ret.Add(new LSL_Vector(obj.Velocity.X, obj.Velocity.Y, obj.Velocity.Z)); |
7991 | break; | 8058 | break; |
7992 | case "6": | 8059 | case "6": |
7993 | ret.Add(obj.OwnerID.ToString()); | 8060 | ret.Add(obj.OwnerID.ToString()); |
@@ -8003,7 +8070,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8003 | return ret; | 8070 | return ret; |
8004 | } | 8071 | } |
8005 | } | 8072 | } |
8006 | return new LSL_Types.list(); | 8073 | return new LSL_List(); |
8007 | } | 8074 | } |
8008 | 8075 | ||
8009 | 8076 | ||
@@ -8044,7 +8111,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8044 | World.AssetCache.GetAsset(assetID, delegate(UUID i, AssetBase a) { cb(i, a); }, false); | 8111 | World.AssetCache.GetAsset(assetID, delegate(UUID i, AssetBase a) { cb(i, a); }, false); |
8045 | } | 8112 | } |
8046 | 8113 | ||
8047 | public LSL_Types.LSLString llGetNumberOfNotecardLines(string name) | 8114 | public LSL_String llGetNumberOfNotecardLines(string name) |
8048 | { | 8115 | { |
8049 | m_host.AddScriptLPS(1); | 8116 | m_host.AddScriptLPS(1); |
8050 | 8117 | ||
@@ -8086,7 +8153,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
8086 | return UUID.Zero.ToString(); | 8153 | return UUID.Zero.ToString(); |
8087 | } | 8154 | } |
8088 | 8155 | ||
8089 | public LSL_Types.LSLString llGetNotecardLine(string name, int line) | 8156 | public LSL_String llGetNotecardLine(string name, int line) |
8090 | { | 8157 | { |
8091 | m_host.AddScriptLPS(1); | 8158 | m_host.AddScriptLPS(1); |
8092 | 8159 | ||