From 852c61aaa6e5a2e41e7c1724ee974382a55007ec Mon Sep 17 00:00:00 2001
From: Melanie
Date: Sun, 24 Oct 2010 18:19:48 +0200
Subject: Add PRIM_NAME, PRIM_DESC and PRIM_ROT_LOCAL

---
 .../Shared/Api/Implementation/LSL_Api.cs           | 27 ++++++++++++++++++++++
 .../Shared/Api/Runtime/LSL_Constants.cs            |  3 +++
 2 files changed, 30 insertions(+)

(limited to 'OpenSim/Region/ScriptEngine/Shared/Api')

diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 59a3618..1a13dea 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -7268,6 +7268,24 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                         part.SetText(primText, av3, Util.Clip((float)primTextAlpha, 0.0f, 1.0f));
 
                         break;
+                    case (int)ScriptBaseClass.PRIM_NAME:
+                        if (remain < 1)
+                            return;
+                        string primName = rules.GetLSLStringItem(idx++);
+                        part.Name = primName;
+                        break;
+                    case (int)ScriptBaseClass.PRIM_DESC:
+                        if (remain < 1)
+                            return;
+                        string primDesc = rules.GetLSLStringItem(idx++);
+                        part.Description = primDesc;
+                        break;
+                    case (int)ScriptBaseClass.PRIM_ROT_LOCAL:
+                        if (remain < 1)
+                            return;
+                        LSL_Rotation lr = rules.GetQuaternionItem(idx++);
+                        SetRot(part, Rot2Quaternion(lr));
+                        break;
                 }
             }
         }
@@ -7813,6 +7831,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                                                textColor.B));
                         res.Add(new LSL_Float(textColor.A));
                         break;
+                    case (int)ScriptBaseClass.PRIM_NAME:
+                        res.Add(part.Name);
+                        break;
+                    case (int)ScriptBaseClass.PRIM_DESC:
+                        res.Add(part.Description);
+                        break;
+                    case (int)ScriptBaseClass.PRIM_ROT_LOCAL:
+                        res.Add(new LSL_Rotation(part.RotationOffset.X, part.RotationOffset.Y, part.RotationOffset.Z, part.RotationOffset.W));
+                        break;
                 }
             }
             return res;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 5da6bb9..b96e977 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -316,6 +316,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
         public const int PRIM_POINT_LIGHT = 23; // Huh?
         public const int PRIM_GLOW = 25;
         public const int PRIM_TEXT = 26;
+        public const int PRIM_NAME = 27;
+        public const int PRIM_DESC = 28;
+        public const int PRIM_ROT_LOCAL = 29;
         public const int PRIM_TEXGEN_DEFAULT = 0;
         public const int PRIM_TEXGEN_PLANAR = 1;
 
-- 
cgit v1.1