diff options
author | Talun | 2013-01-14 18:17:33 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-01-25 23:52:55 +0000 |
commit | 70e1dd54fac2639751cd546c525712992b451183 (patch) | |
tree | 0adcd6d0470f9e9f28ce7dc3d5a0f456ba11e366 | |
parent | Fix use of scene debug commands when region is set to root or a specific regi... (diff) | |
download | opensim-SC-70e1dd54fac2639751cd546c525712992b451183.zip opensim-SC-70e1dd54fac2639751cd546c525712992b451183.tar.gz opensim-SC-70e1dd54fac2639751cd546c525712992b451183.tar.bz2 opensim-SC-70e1dd54fac2639751cd546c525712992b451183.tar.xz |
New constants for llGetObjectDetails
New constants for llGetObjectDetails OBJECT_CHARACTER_TIME,
OBJECT_ROOT, OBJECT_ATTACHED_POINT, OBJECT_PATHFINDING_TYPE,
OBJECT_PHYSICS, OBJECT_PHANTOM and OBJECT_TEMP_ON_REZ
also Pathfining constants, 3 of which are used by llGetObjectDetails
-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 ea4e609..2bdf38b 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -10567,6 +10567,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10567 | case ScriptBaseClass.OBJECT_PHYSICS_COST: | 10567 | case ScriptBaseClass.OBJECT_PHYSICS_COST: |
10568 | ret.Add(new LSL_Float(0)); | 10568 | ret.Add(new LSL_Float(0)); |
10569 | break; | 10569 | break; |
10570 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10571 | ret.Add(new LSL_Float(0)); | ||
10572 | break; | ||
10573 | case ScriptBaseClass.OBJECT_ROOT: | ||
10574 | SceneObjectPart p = av.ParentPart; | ||
10575 | if (p != null) | ||
10576 | { | ||
10577 | ret.Add(new LSL_String(p.ParentGroup.RootPart.UUID.ToString())); | ||
10578 | } | ||
10579 | else | ||
10580 | { | ||
10581 | ret.Add(new LSL_String(id)); | ||
10582 | } | ||
10583 | break; | ||
10584 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10585 | ret.Add(new LSL_Integer(0)); | ||
10586 | break; | ||
10587 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: // Pathfinding | ||
10588 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_AVATAR)); | ||
10589 | break; | ||
10590 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10591 | ret.Add(new LSL_Integer(0)); | ||
10592 | break; | ||
10593 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10594 | ret.Add(new LSL_Integer(0)); | ||
10595 | break; | ||
10596 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10597 | ret.Add(new LSL_Integer(0)); | ||
10598 | break; | ||
10570 | default: | 10599 | default: |
10571 | // Invalid or unhandled constant. | 10600 | // Invalid or unhandled constant. |
10572 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10601 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); |
@@ -10662,6 +10691,52 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
10662 | // The value returned in SL for normal prims looks like the prim count | 10691 | // The value returned in SL for normal prims looks like the prim count |
10663 | ret.Add(new LSL_Float(0)); | 10692 | ret.Add(new LSL_Float(0)); |
10664 | break; | 10693 | break; |
10694 | case ScriptBaseClass.OBJECT_CHARACTER_TIME: // Pathfinding | ||
10695 | ret.Add(new LSL_Float(0)); | ||
10696 | break; | ||
10697 | case ScriptBaseClass.OBJECT_ROOT: | ||
10698 | ret.Add(new LSL_String(obj.ParentGroup.RootPart.UUID.ToString())); | ||
10699 | break; | ||
10700 | case ScriptBaseClass.OBJECT_ATTACHED_POINT: | ||
10701 | ret.Add(new LSL_Integer(obj.ParentGroup.AttachmentPoint)); | ||
10702 | break; | ||
10703 | case ScriptBaseClass.OBJECT_PATHFINDING_TYPE: | ||
10704 | byte pcode = obj.Shape.PCode; | ||
10705 | if (obj.ParentGroup.AttachmentPoint != 0 | ||
10706 | || pcode == (byte)PCode.Grass | ||
10707 | || pcode == (byte)PCode.Tree | ||
10708 | || pcode == (byte)PCode.NewTree) | ||
10709 | { | ||
10710 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_OTHER)); | ||
10711 | } | ||
10712 | else | ||
10713 | { | ||
10714 | ret.Add(new LSL_Integer(ScriptBaseClass.OPT_LEGACY_LINKSET)); | ||
10715 | } | ||
10716 | break; | ||
10717 | case ScriptBaseClass.OBJECT_PHYSICS: | ||
10718 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10719 | { | ||
10720 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10721 | } | ||
10722 | else | ||
10723 | { | ||
10724 | ret.Add(new LSL_Integer(obj.ParentGroup.UsesPhysics ? 1 : 0)); | ||
10725 | } | ||
10726 | break; | ||
10727 | case ScriptBaseClass.OBJECT_PHANTOM: | ||
10728 | if (obj.ParentGroup.AttachmentPoint != 0) | ||
10729 | { | ||
10730 | ret.Add(new LSL_Integer(0)); // Always false if attached | ||
10731 | } | ||
10732 | else | ||
10733 | { | ||
10734 | ret.Add(new LSL_Integer(obj.ParentGroup.IsPhantom ? 1 : 0)); | ||
10735 | } | ||
10736 | break; | ||
10737 | case ScriptBaseClass.OBJECT_TEMP_ON_REZ: | ||
10738 | ret.Add(new LSL_Integer(obj.ParentGroup.IsTemporary ? 1 : 0)); | ||
10739 | break; | ||
10665 | default: | 10740 | default: |
10666 | // Invalid or unhandled constant. | 10741 | // Invalid or unhandled constant. |
10667 | ret.Add(new LSL_Integer(ScriptBaseClass.OBJECT_UNKNOWN_DETAIL)); | 10742 | 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; |