From 244ad2e61447164fdddc9b194d99658323c6c067 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Thu, 31 Jul 2008 12:25:18 +0000
Subject: Thank you, HomerHorwitz, for a patch that add
 PERMISSION_CONTROL_CAMERA Fixes Mantis #1861

---
 OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs | 1 +
 OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs     | 1 +
 OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs           | 2 ++
 OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs     | 2 ++
 OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs      | 1 +
 5 files changed, 7 insertions(+)

diff --git a/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs b/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
index b03e761..e1ab733 100644
--- a/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
+++ b/OpenSim/Grid/ScriptEngine/DotNetEngine/Compiler/LSL/LSL_BaseClass.cs
@@ -1848,6 +1848,7 @@ namespace OpenSim.Grid.ScriptEngine.DotNetEngine.Compiler.LSL
         public const int PERMISSION_CHANGE_JOINTS = 256;
         public const int PERMISSION_CHANGE_PERMISSIONS = 512;
         public const int PERMISSION_TRACK_CAMERA = 1024;
+        public const int PERMISSION_CONTROL_CAMERA = 2048;
         public const int AGENT_FLYING = 1;
         public const int AGENT_ATTACHMENTS = 2;
         public const int AGENT_SCRIPTED = 4;
diff --git a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
index 3580d71..551c6f6 100644
--- a/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
+++ b/OpenSim/Region/ScriptEngine/Common/BuiltIn_Commands_BaseClass.cs
@@ -2083,6 +2083,7 @@ namespace OpenSim.Region.ScriptEngine.Common
         public const int PERMISSION_CHANGE_JOINTS = 256;
         public const int PERMISSION_CHANGE_PERMISSIONS = 512;
         public const int PERMISSION_TRACK_CAMERA = 1024;
+        public const int PERMISSION_CONTROL_CAMERA = 2048;
 
         public const int AGENT_FLYING = 1;
         public const int AGENT_ATTACHMENTS = 2;
diff --git a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
index 702cbfa..c386e38 100644
--- a/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
+++ b/OpenSim/Region/ScriptEngine/Common/LSL_BuiltIn_Commands.cs
@@ -2559,6 +2559,7 @@ namespace OpenSim.Region.ScriptEngine.Common
                 // When attached, certain permissions are implicit if requested from owner
                 int implicitPerms = BuiltIn_Commands_BaseClass.PERMISSION_TAKE_CONTROLS |
                         BuiltIn_Commands_BaseClass.PERMISSION_TRIGGER_ANIMATION |
+                        BuiltIn_Commands_BaseClass.PERMISSION_CONTROL_CAMERA |
                         BuiltIn_Commands_BaseClass.PERMISSION_ATTACH;
 
                 if ((perm & (~implicitPerms)) == 0) // Requested only implicit perms
@@ -2576,6 +2577,7 @@ namespace OpenSim.Region.ScriptEngine.Common
             {
                 // When agent is sitting, certain permissions are implicit if requested from sitting agent
                 int implicitPerms = BuiltIn_Commands_BaseClass.PERMISSION_TRIGGER_ANIMATION |
+                        BuiltIn_Commands_BaseClass.PERMISSION_CONTROL_CAMERA |
                         BuiltIn_Commands_BaseClass.PERMISSION_TRACK_CAMERA;
 
                 if ((perm & (~implicitPerms)) == 0) // Requested only implicit perms
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 8bf149d..99af529 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -2437,6 +2437,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
                 // When attached, certain permissions are implicit if requested from owner
                 int implicitPerms = ScriptBaseClass.PERMISSION_TAKE_CONTROLS |
                         ScriptBaseClass.PERMISSION_TRIGGER_ANIMATION |
+                        ScriptBaseClass.PERMISSION_CONTROL_CAMERA |
                         ScriptBaseClass.PERMISSION_ATTACH;
 
                 if ((perm & (~implicitPerms)) == 0) // Requested only implicit perms
@@ -2456,6 +2457,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
             {
                 // When agent is sitting, certain permissions are implicit if requested from sitting agent
                 int implicitPerms = ScriptBaseClass.PERMISSION_TRIGGER_ANIMATION |
+                        ScriptBaseClass.PERMISSION_CONTROL_CAMERA |
                         ScriptBaseClass.PERMISSION_TRACK_CAMERA;
 
                 if ((perm & (~implicitPerms)) == 0) // Requested only implicit perms
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 1472144..810a655 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -76,6 +76,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
         public const int PERMISSION_CHANGE_JOINTS = 256;
         public const int PERMISSION_CHANGE_PERMISSIONS = 512;
         public const int PERMISSION_TRACK_CAMERA = 1024;
+        public const int PERMISSION_CONTROL_CAMERA = 2048;
 
         public const int AGENT_FLYING = 1;
         public const int AGENT_ATTACHMENTS = 2;
-- 
cgit v1.1