aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTom2010-08-06 02:39:42 -0700
committerTom2010-08-06 02:40:31 -0700
commitc5c6627adb79644b93c5871243a9eeeff553829c (patch)
tree49201fd9052cf40d666a38b0a62779a13540542d /OpenSim/Region
parentllRequestSimulatorData DATA_SIM_POS : Divide by RegionSize, don't multiply. T... (diff)
downloadopensim-SC-c5c6627adb79644b93c5871243a9eeeff553829c.zip
opensim-SC-c5c6627adb79644b93c5871243a9eeeff553829c.tar.gz
opensim-SC-c5c6627adb79644b93c5871243a9eeeff553829c.tar.bz2
opensim-SC-c5c6627adb79644b93c5871243a9eeeff553829c.tar.xz
Implement CHANGED_REGION_(RE)START and also fix various CHANGED_* constants which had the wrong values (checked using LSL in SL). This addresses mantis #217 and mantis #53.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs8
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs4
6 files changed, 28 insertions, 11 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index 702a1e2..b847d87 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -130,7 +130,7 @@ namespace OpenSim.Region.Framework.Scenes.Animation
130 anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID)) 130 anim, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, m_scenePresence.UUID))
131 { 131 {
132 // 16384 is CHANGED_ANIMATION 132 // 16384 is CHANGED_ANIMATION
133 m_scenePresence.SendScriptEventToAttachments("changed", new Object[] { 16384 }); 133 m_scenePresence.SendScriptEventToAttachments("changed", new Object[] { (int)Changed.ANIMATION});
134 SendAnimPack(); 134 SendAnimPack();
135 } 135 }
136 } 136 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 032fbe8..a0fabff 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -56,9 +56,10 @@ namespace OpenSim.Region.Framework.Scenes
56 LINK = 32, 56 LINK = 32,
57 ALLOWED_DROP = 64, 57 ALLOWED_DROP = 64,
58 OWNER = 128, 58 OWNER = 128,
59 REGION_RESTART = 256, 59 REGION = 256,
60 REGION = 512, 60 TELEPORT = 512,
61 TELEPORT = 1024 61 REGION_RESTART = 1024,
62 ANIMATION = 16384
62 } 63 }
63 64
64 // I don't really know where to put this except here. 65 // I don't really know where to put this except here.
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 8b4f0ed..4f80a7e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -321,6 +321,22 @@ namespace OpenSim.Region.Framework.Scenes
321 StoreScriptErrors(item.ItemID, null); 321 StoreScriptErrors(item.ItemID, null);
322 m_part.ParentGroup.AddActiveScriptCount(1); 322 m_part.ParentGroup.AddActiveScriptCount(1);
323 m_part.ScheduleFullUpdate(); 323 m_part.ScheduleFullUpdate();
324
325 //This should play nice with XEngine since XEngine loads scripts /after/ the region starts
326 if (stateSource == 0 && m_part.ParentGroup.Scene.LoginsDisabled == true)
327 {
328 IScriptModule[] engines = m_part.ParentGroup.Scene.RequestModuleInterfaces<IScriptModule>();
329 if (engines != null)
330 {
331 foreach (IScriptModule xengine in engines)
332 {
333 if (xengine != null)
334 {
335 xengine.PostScriptEvent(item.ItemID, "changed", new Object[] { (int)Changed.REGION_RESTART });
336 }
337 }
338 }
339 }
324 } 340 }
325 } 341 }
326 } 342 }
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index d857a1c..5fcd1c2 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3939,7 +3939,7 @@ Console.WriteLine("Scripted Sit ofset {0}", m_pos);
3939 if (m == null) // No script engine loaded 3939 if (m == null) // No script engine loaded
3940 continue; 3940 continue;
3941 3941
3942 m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] { 16384 }); 3942 m.PostObjectEvent(grp.RootPart.UUID, "changed", new Object[] { (int)Changed.ANIMATION });
3943 } 3943 }
3944 } 3944 }
3945 } 3945 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
index 96f6486..69f48c9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/LSL_Constants.cs
@@ -273,10 +273,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
273 public const int CHANGED_LINK = 32; 273 public const int CHANGED_LINK = 32;
274 public const int CHANGED_ALLOWED_DROP = 64; 274 public const int CHANGED_ALLOWED_DROP = 64;
275 public const int CHANGED_OWNER = 128; 275 public const int CHANGED_OWNER = 128;
276 public const int CHANGED_REGION_RESTART = 256; 276 public const int CHANGED_REGION = 256;
277 public const int CHANGED_REGION_START = 256; //LL Changed the constant from CHANGED_REGION_RESTART 277 public const int CHANGED_TELEPORT = 512;
278 public const int CHANGED_REGION = 512; 278 public const int CHANGED_REGION_RESTART = 1024;
279 public const int CHANGED_TELEPORT = 1024; 279 public const int CHANGED_REGION_START = 1024; //LL Changed the constant from CHANGED_REGION_RESTART
280 public const int CHANGED_ANIMATION = 16384; 280 public const int CHANGED_ANIMATION = 16384;
281 public const int TYPE_INVALID = 0; 281 public const int TYPE_INVALID = 0;
282 public const int TYPE_INTEGER = 1; 282 public const int TYPE_INTEGER = 1;
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
index b348403..dcbe0c4 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
@@ -392,13 +392,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
392 { 392 {
393// m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script"); 393// m_log.Debug("[Script] Posted changed(CHANGED_REGION_RESTART) to script");
394 PostEvent(new EventParams("changed", 394 PostEvent(new EventParams("changed",
395 new Object[] {new LSL_Types.LSLInteger(256)}, new DetectParams[0])); 395 new Object[] { (int)Changed.REGION_RESTART }, new DetectParams[0]));
396 } 396 }
397 else if (m_stateSource == StateSource.PrimCrossing) 397 else if (m_stateSource == StateSource.PrimCrossing)
398 { 398 {
399 // CHANGED_REGION 399 // CHANGED_REGION
400 PostEvent(new EventParams("changed", 400 PostEvent(new EventParams("changed",
401 new Object[] {new LSL_Types.LSLInteger(512)}, new DetectParams[0])); 401 new Object[] { (int)Changed.REGION }, new DetectParams[0]));
402 } 402 }
403 } 403 }
404 else 404 else