aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs75
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs17
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;