From 7d38f4940c39b217bcf6b90b7811933099916de9 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 22 May 2013 20:01:57 +0100
Subject: Implement llSetSoundQueueing().
This is controlled by the viewer, not the server.
So as per http://wiki.secondlife.com/wiki/LlSetSoundQueueing, only two sounds can be queued per prim.
You probably need to use llPreloadSound() for best results
---
OpenSim/Region/Framework/Interfaces/ISoundModule.cs | 8 +++++++-
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 10 +++++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/Framework')
diff --git a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
index 68af492..8372ddd 100644
--- a/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
+++ b/OpenSim/Region/Framework/Interfaces/ISoundModule.cs
@@ -104,7 +104,6 @@ namespace OpenSim.Region.Framework.Interfaces
/// Sound asset ID
/// Sound volume
/// Triggered or not.
- ///
/// Sound radius
/// Play using sound master
/// Play as sound master
@@ -123,5 +122,12 @@ namespace OpenSim.Region.Framework.Interfaces
/// AABB top north-east corner
void TriggerSoundLimited(UUID objectID, UUID sound, double volume,
Vector3 min, Vector3 max);
+
+ ///
+ /// Set whether sounds on the given prim should be queued.
+ ///
+ ///
+ ///
+ void SetSoundQueueing(UUID objectID, bool shouldQueue);
}
}
\ No newline at end of file
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 347a2b5..b1c1cbb 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -219,6 +219,14 @@ namespace OpenSim.Region.Framework.Scenes
public double SoundRadius;
+ ///
+ /// Should sounds played from this prim be queued?
+ ///
+ ///
+ /// This should only be changed by sound modules. It is up to sound modules as to how they interpret this setting.
+ ///
+ public bool SoundQueueing { get; set; }
+
public uint TimeStampFull;
public uint TimeStampLastActivity; // Will be used for AutoReturn
@@ -2429,7 +2437,7 @@ namespace OpenSim.Region.Framework.Scenes
if (soundModule != null)
{
soundModule.SendSound(UUID, CollisionSound,
- CollisionSoundVolume, true, (byte)0, 0, false,
+ CollisionSoundVolume, true, 0, 0, false,
false);
}
}
--
cgit v1.1
From 9b56f993261954fe9918bd0c9205a41e058183a1 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 23 May 2013 23:52:07 +0100
Subject: Fix bug where a cloned object would report the wrong
llGetNumberOfPrims() when avatars had been sitting on the original and a
different avatar sat on the copy within the same opensim session.
This was because the sitting avatars list was being cloned rather than reset.
Addresses http://opensimulator.org/mantis/view.php?id=6649
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 1 +
1 file changed, 1 insertion(+)
(limited to 'OpenSim/Region/Framework')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 38fa26a..2d4218d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1500,6 +1500,7 @@ namespace OpenSim.Region.Framework.Scenes
dupe.IsAttachment = true;
dupe.AbsolutePosition = new Vector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z);
+ dupe.m_sittingAvatars = new List();
if (!userExposed)
{
--
cgit v1.1
From 02fe05f346f3c4acad0116e702ed197a52b3fb4d Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 24 May 2013 00:41:47 +0100
Subject: Fix issue where llSetPayPrice on either one of a clone prim in the
same OpenSimulator session would change the prices on both prims.
This is because the PayPrice array refernence was being memberwise cloned and not the array itself.
Addresses http://opensimulator.org/mantis/view.php?id=6639
---
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 2 ++
1 file changed, 2 insertions(+)
(limited to 'OpenSim/Region/Framework')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index b1c1cbb..ea8c3c5 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1799,6 +1799,8 @@ namespace OpenSim.Region.Framework.Scenes
Array.Copy(Shape.ExtraParams, extraP, extraP.Length);
dupe.Shape.ExtraParams = extraP;
+ dupe.PayPrice = (int[])PayPrice.Clone();
+
dupe.DynAttrs.CopyFrom(DynAttrs);
if (userExposed)
--
cgit v1.1
From eb2bd9d203dbc9d202ae62594fcbdb53d38031ac Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 24 May 2013 00:46:58 +0100
Subject: minor: Remove unnecessary duplication of AbsolutePosition Vector3 in
SOG.Copy()
As a struct, Vector3 has already been cloned by MemberwiseClone()
---
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 1 -
1 file changed, 1 deletion(-)
(limited to 'OpenSim/Region/Framework')
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 2d4218d..df23cc5 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1499,7 +1499,6 @@ namespace OpenSim.Region.Framework.Scenes
if (!userExposed)
dupe.IsAttachment = true;
- dupe.AbsolutePosition = new Vector3(AbsolutePosition.X, AbsolutePosition.Y, AbsolutePosition.Z);
dupe.m_sittingAvatars = new List();
if (!userExposed)
--
cgit v1.1
From a087dbed7f57f3ec431782dd51ba43110a0f4ae3 Mon Sep 17 00:00:00 2001
From: Mic Bowman
Date: Fri, 24 May 2013 13:26:07 -0700
Subject: One more appearance change: drop sending the SendAppearance packet to
avatar when it becomes root. This packet shows up in the viewer logs as an
error and appears to cause problems for completing the texture rebake process
for v1 viewers in some cases.
---
OpenSim/Region/Framework/Scenes/ScenePresence.cs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
(limited to 'OpenSim/Region/Framework')
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 9e9089b..e1a8941 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2711,7 +2711,9 @@ namespace OpenSim.Region.Framework.Scenes
// again here... this comes after the cached appearance check because the avatars
// appearance goes into the avatar update packet
SendAvatarDataToAllAgents();
- SendAppearanceToAgent(this);
+
+ // This invocation always shows up in the viewer logs as an error.
+ // SendAppearanceToAgent(this);
// If we are using the the cached appearance then send it out to everyone
if (cachedappearance)
--
cgit v1.1