aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs81
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs17
3 files changed, 96 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index da2a90f..5cbb9c7 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3708,7 +3708,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3708 if (animID == UUID.Zero) 3708 if (animID == UUID.Zero)
3709 presence.Animator.RemoveAnimation(anim); 3709 presence.Animator.RemoveAnimation(anim);
3710 else 3710 else
3711 presence.Animator.RemoveAnimation(animID); 3711 presence.Animator.RemoveAnimation(animID, true);
3712 } 3712 }
3713 } 3713 }
3714 } 3714 }
@@ -6228,13 +6228,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
6228 if (parcelOwned && land.LandData.OwnerID == id || 6228 if (parcelOwned && land.LandData.OwnerID == id ||
6229 parcel && land.LandData.GlobalID == id) 6229 parcel && land.LandData.GlobalID == id)
6230 { 6230 {
6231 result.Add(ssp.UUID.ToString()); 6231 result.Add(new LSL_Key(ssp.UUID.ToString()));
6232 } 6232 }
6233 } 6233 }
6234 } 6234 }
6235 else 6235 else
6236 { 6236 {
6237 result.Add(ssp.UUID.ToString()); 6237 result.Add(new LSL_Key(ssp.UUID.ToString()));
6238 } 6238 }
6239 } 6239 }
6240 // Maximum of 100 results 6240 // Maximum of 100 results
@@ -11528,6 +11528,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
11528 case ScriptBaseClass.OBJECT_PHYSICS_COST: 11528 case ScriptBaseClass.OBJECT_PHYSICS_COST:
11529 ret.Add(new LSL_Float(0)); 11529 ret.Add(new LSL_Float(0));
11530 break; 11530 break;
11531 case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding
11532 ret.Add(new LSL_Float(0));
11533 break;
11534 case ScriptBaseClass.OBJECT_ROOT:
11535 SceneObjectPart p = av.ParentPart;
11536 if (p != null)
11537 {
11538 ret.Add(new LSL_String(p.ParentGroup.RootPart.UUID.ToString()));
11539 }
11540 else
11541 {
11542 ret.Add(new LSL_String(id));
11543 }
11544 break;
11545 case ScriptBaseClass.OBJECT_ATTACHED_POINT:
11546 ret.Add(new LSL_Integer(0));
11547 break;
11548 case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: // Pathfinding
11549 ret.Add(new LSL_Integer(ScriptBaseClass.OPT_AVATAR));
11550 break;
11551 case ScriptBaseClass.OBJECT_PHYSICS:
11552 ret.Add(new LSL_Integer(0));
11553 break;
11554 case ScriptBaseClass.OBJECT_PHANTOM:
11555 ret.Add(new LSL_Integer(0));
11556 break;
11557 case ScriptBaseClass.OBJECT_TEMP_ON_REZ:
11558 ret.Add(new LSL_Integer(0));
11559 break;
11531 default: 11560 default:
11532 // Invalid or unhandled constant. 11561 // Invalid or unhandled constant.
11533 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); 11562 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL));
@@ -11619,6 +11648,52 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
11619 // The value returned in SL for normal prims is prim count 11648 // The value returned in SL for normal prims is prim count
11620 ret.Add(new LSL_Float(obj.PhysicsCost)); 11649 ret.Add(new LSL_Float(obj.PhysicsCost));
11621 break; 11650 break;
11651 case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding
11652 ret.Add(new LSL_Float(0));
11653 break;
11654 case ScriptBaseClass.OBJECT_ROOT:
11655 ret.Add(new LSL_String(obj.ParentGroup.RootPart.UUID.ToString()));
11656 break;
11657 case ScriptBaseClass.OBJECT_ATTACHED_POINT:
11658 ret.Add(new LSL_Integer(obj.ParentGroup.AttachmentPoint));
11659 break;
11660 case ScriptBaseClass.OBJECT_PATHFINDING_TYPE:
11661 byte pcode = obj.Shape.PCode;
11662 if (obj.ParentGroup.AttachmentPoint != 0
11663 || pcode == (byte)PCode.Grass
11664 || pcode == (byte)PCode.Tree
11665 || pcode == (byte)PCode.NewTree)
11666 {
11667 ret.Add(new LSL_Integer(ScriptBaseClass.OPT_OTHER));
11668 }
11669 else
11670 {
11671 ret.Add(new LSL_Integer(ScriptBaseClass.OPT_LEGACY_LINKSET));
11672 }
11673 break;
11674 case ScriptBaseClass.OBJECT_PHYSICS:
11675 if (obj.ParentGroup.AttachmentPoint != 0)
11676 {
11677 ret.Add(new LSL_Integer(0)); // Always false if attached
11678 }
11679 else
11680 {
11681 ret.Add(new LSL_Integer(obj.ParentGroup.UsesPhysics ? 1 : 0));
11682 }
11683 break;
11684 case ScriptBaseClass.OBJECT_PHANTOM:
11685 if (obj.ParentGroup.AttachmentPoint != 0)
11686 {
11687 ret.Add(new LSL_Integer(0)); // Always false if attached
11688 }
11689 else
11690 {
11691 ret.Add(new LSL_Integer(obj.ParentGroup.IsPhantom ? 1 : 0));
11692 }
11693 break;
11694 case ScriptBaseClass.OBJECT_TEMP_ON_REZ:
11695 ret.Add(new LSL_Integer(obj.ParentGroup.IsTemporary ? 1 : 0));
11696 break;
11622 default: 11697 default:
11623 // Invalid or unhandled constant. 11698 // Invalid or unhandled constant.
11624 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); 11699 ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL));
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 49857cf..d6ce069 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -995,7 +995,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
995 if (animID == UUID.Zero) 995 if (animID == UUID.Zero)
996 target.Animator.RemoveAnimation(animation); 996 target.Animator.RemoveAnimation(animation);
997 else 997 else
998 target.Animator.RemoveAnimation(animID); 998 target.Animator.RemoveAnimation(animID, true);
999 } 999 }
1000 } 1000 }
1001 } 1001 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 0dd5a57..da3b31f 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -557,6 +557,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
557 public const int OBJECT_SERVER_COST = 14; 557 public const int OBJECT_SERVER_COST = 14;
558 public const int OBJECT_STREAMING_COST = 15; 558 public const int OBJECT_STREAMING_COST = 15;
559 public const int OBJECT_PHYSICS_COST = 16; 559 public const int OBJECT_PHYSICS_COST = 16;
560 public const int OBJECT_CHARACTER_TIME = 17;
561 public const int OBJECT_ROOT = 18;
562 public const int OBJECT_ATTACHED_POINT = 19;
563 public const int OBJECT_PATHFINDING_TYPE = 20;
564 public const int OBJECT_PHYSICS = 21;
565 public const int OBJECT_PHANTOM = 22;
566 public const int OBJECT_TEMP_ON_REZ = 23;
567
568 // Pathfinding types
569 public const int OPT_OTHER = -1;
570 public const int OPT_LEGACY_LINKSET = 0;
571 public const int OPT_AVATAR = 1;
572 public const int OPT_CHARACTER = 2;
573 public const int OPT_WALKABLE = 3;
574 public const int OPT_STATIC_OBSTACLE = 4;
575 public const int OPT_MATERIAL_VOLUME = 5;
576 public const int OPT_EXCLUSION_VOLUME = 6;
560 577
561 // for llGetAgentList 578 // for llGetAgentList
562 public const int AGENT_LIST_PARCEL = 1; 579 public const int AGENT_LIST_PARCEL = 1;