diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 75 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | 17 |
2 files changed, 92 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 50597b7..db5add1 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -10590,6 +10590,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10590 | case ScriptBaseClass.OBJECT_PHYSICS_COST: | 10590 | case ScriptBaseClass.OBJECT_PHYSICS_COST: |
10591 | ret.Add(new LSL_Float(0)); | 10591 | ret.Add(new LSL_Float(0)); |
10592 | break; | 10592 | break; |
10593 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10594 | ret.Add(new LSL_Float(0)); | ||
10595 | break; | ||
10596 | case ScriptBaseClass.OBJECT_ROOT: | ||
10597 | SceneObjectPart p = av.ParentPart; | ||
10598 | if (p != null) | ||
10599 | { | ||
10600 | ret.Add(new LSL_String(p.ParentGroup.RootPart.UUID.ToString())); | ||
10601 | } | ||
10602 | else | ||
10603 | { | ||
10604 | ret.Add(new LSL_String(id)); | ||
10605 | } | ||
10606 | break; | ||
10607 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10608 | ret.Add(new LSL_Integer(0)); | ||
10609 | break; | ||
10610 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: // Pathfinding | ||
10611 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_AVATAR)); | ||
10612 | break; | ||
10613 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10614 | ret.Add(new LSL_Integer(0)); | ||
10615 | break; | ||
10616 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10617 | ret.Add(new LSL_Integer(0)); | ||
10618 | break; | ||
10619 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10620 | ret.Add(new LSL_Integer(0)); | ||
10621 | break; | ||
10593 | default: | 10622 | default: |
10594 | // Invalid or unhandled constant. | 10623 | // Invalid or unhandled constant. |
10595 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10624 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); |
@@ -10685,6 +10714,52 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10685 | // The value returned in SL for normal prims looks like the prim count | 10714 | // The value returned in SL for normal prims looks like the prim count |
10686 | ret.Add(new LSL_Float(0)); | 10715 | ret.Add(new LSL_Float(0)); |
10687 | break; | 10716 | break; |
10717 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10718 | ret.Add(new LSL_Float(0)); | ||
10719 | break; | ||
10720 | case ScriptBaseClass.OBJECT_ROOT: | ||
10721 | ret.Add(new LSL_String(obj.ParentGroup.RootPart.UUID.ToString())); | ||
10722 | break; | ||
10723 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10724 | ret.Add(new LSL_Integer(obj.ParentGroup.AttachmentPoint)); | ||
10725 | break; | ||
10726 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: | ||
10727 | byte pcode = obj.Shape.PCode; | ||
10728 | if (obj.ParentGroup.AttachmentPoint != 0 | ||
10729 | || pcode == (byte)PCode.Grass | ||
10730 | || pcode == (byte)PCode.Tree | ||
10731 | || pcode == (byte)PCode.NewTree) | ||
10732 | { | ||
10733 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_OTHER)); | ||
10734 | } | ||
10735 | else | ||
10736 | { | ||
10737 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_LEGACY_LINKSET)); | ||
10738 | } | ||
10739 | break; | ||
10740 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10741 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10742 | { | ||
10743 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10744 | } | ||
10745 | else | ||
10746 | { | ||
10747 | ret.Add(new LSL_Integer(obj.ParentGroup.UsesPhysics ? 1 : 0)); | ||
10748 | } | ||
10749 | break; | ||
10750 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10751 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10752 | { | ||
10753 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10754 | } | ||
10755 | else | ||
10756 | { | ||
10757 | ret.Add(new LSL_Integer(obj.ParentGroup.IsPhantom ? 1 : 0)); | ||
10758 | } | ||
10759 | break; | ||
10760 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10761 | ret.Add(new LSL_Integer(obj.ParentGroup.IsTemporary ? 1 : 0)); | ||
10762 | break; | ||
10688 | default: | 10763 | default: |
10689 | // Invalid or unhandled constant. | 10764 | // Invalid or unhandled constant. |
10690 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10765 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs index 880841b..9bf1a64 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | |||
@@ -556,6 +556,23 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
556 | public const int OBJECT_SERVER_COST = 14; | 556 | public const int OBJECT_SERVER_COST = 14; |
557 | public const int OBJECT_STREAMING_COST = 15; | 557 | public const int OBJECT_STREAMING_COST = 15; |
558 | public const int OBJECT_PHYSICS_COST = 16; | 558 | public const int OBJECT_PHYSICS_COST = 16; |
559 | public const int OBJECT_CHARACTER_TIME = 17; | ||
560 | public const int OBJECT_ROOT = 18; | ||
561 | public const int OBJECT_ATTACHED_POINT = 19; | ||
562 | public const int OBJECT_PATHFINDING_TYPE = 20; | ||
563 | public const int OBJECT_PHYSICS = 21; | ||
564 | public const int OBJECT_PHANTOM = 22; | ||
565 | public const int OBJECT_TEMP_ON_REZ = 23; | ||
566 | |||
567 | // Pathfinding types | ||
568 | public const int OPT_OTHER = -1; | ||
569 | public const int OPT_LEGACY_LINKSET = 0; | ||
570 | public const int OPT_AVATAR = 1; | ||
571 | public const int OPT_CHARACTER = 2; | ||
572 | public const int OPT_WALKABLE = 3; | ||
573 | public const int OPT_STATIC_OBSTACLE = 4; | ||
574 | public const int OPT_MATERIAL_VOLUME = 5; | ||
575 | public const int OPT_EXCLUSION_VOLUME = 6; | ||
559 | 576 | ||
560 | // for llGetAgentList | 577 | // for llGetAgentList |
561 | public const int AGENT_LIST_PARCEL = 1; | 578 | public const int AGENT_LIST_PARCEL = 1; |