From 4f80d75bf3fa6de226203c6752e7a8e53fda8108 Mon Sep 17 00:00:00 2001
From: Tom
Date: Sat, 7 Aug 2010 06:28:04 -0700
Subject: Add a CHANGED_POSITION event so scripts don't have to run expensive
 loops to check for position changes

---
 OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs             | 1 +
 OpenSim/Region/Framework/Scenes/SceneObjectPart.cs              | 4 +++-
 OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs | 1 +
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 8ce79a2..cac3df6 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -476,6 +476,7 @@ namespace OpenSim.Region.Framework.Scenes
                     part.IgnoreUndoUpdate = false;
                     part.StoreUndoState(UndoType.STATE_GROUP_POSITION);
                     part.GroupPosition = val;
+                    part.TriggerScriptChangedEvent(Changed.POSITION);
                 }
 
                 foreach (ScenePresence av in m_linkedAvatars)
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index efdc19c..d544619 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -60,7 +60,8 @@ namespace OpenSim.Region.Framework.Scenes
         TELEPORT = 512,
         REGION_RESTART = 1024,
         MEDIA = 2048,
-        ANIMATION = 16384
+        ANIMATION = 16384,
+        POSITION = 32768
     }
 
     // I don't really know where to put this except here.
@@ -730,6 +731,7 @@ namespace OpenSim.Region.Framework.Scenes
                         }
                     }
                 }
+                TriggerScriptChangedEvent(Changed.POSITION);
             }
         }
 
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 5da6bb9..6e8435d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -279,6 +279,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
         public const int CHANGED_REGION_START = 1024; //LL Changed the constant from CHANGED_REGION_RESTART
         public const int CHANGED_MEDIA = 2048;
         public const int CHANGED_ANIMATION = 16384;
+        public const int CHANGED_POSITION = 32768;
         public const int TYPE_INVALID = 0;
         public const int TYPE_INTEGER = 1;
         public const int TYPE_FLOAT = 2;
-- 
cgit v1.1