fixing a bug in SceneObjectPart.SendSound where sounds would always come from the root prim rather than the source prim
parent
57940087d1
commit
af39af1cc4
|
@ -2659,7 +2659,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
volume = Util.Clip((float)volume, 0, 1);
|
volume = Util.Clip((float)volume, 0, 1);
|
||||||
|
|
||||||
UUID objectID = ParentGroup.RootPart.UUID;
|
|
||||||
UUID parentID = ParentGroup.UUID;
|
UUID parentID = ParentGroup.UUID;
|
||||||
|
|
||||||
UUID soundID = UUID.Zero;
|
UUID soundID = UUID.Zero;
|
||||||
|
@ -2690,21 +2689,21 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (isMaster)
|
if (isMaster)
|
||||||
{
|
{
|
||||||
if (triggered)
|
if (triggered)
|
||||||
soundModule.TriggerSound(soundID, OwnerID, objectID, parentID, volume, position, regionHandle, radius);
|
soundModule.TriggerSound(soundID, OwnerID, UUID, parentID, volume, position, regionHandle, radius);
|
||||||
else
|
else
|
||||||
soundModule.PlayAttachedSound(soundID, OwnerID, objectID, volume, position, flags, radius);
|
soundModule.PlayAttachedSound(soundID, OwnerID, UUID, volume, position, flags, radius);
|
||||||
ParentGroup.PlaySoundMasterPrim = this;
|
ParentGroup.PlaySoundMasterPrim = this;
|
||||||
if (triggered)
|
if (triggered)
|
||||||
soundModule.TriggerSound(soundID, OwnerID, objectID, parentID, volume, position, regionHandle, radius);
|
soundModule.TriggerSound(soundID, OwnerID, UUID, parentID, volume, position, regionHandle, radius);
|
||||||
else
|
else
|
||||||
soundModule.PlayAttachedSound(soundID, OwnerID, objectID, volume, position, flags, radius);
|
soundModule.PlayAttachedSound(soundID, OwnerID, UUID, volume, position, flags, radius);
|
||||||
foreach (SceneObjectPart prim in ParentGroup.PlaySoundSlavePrims)
|
foreach (SceneObjectPart prim in ParentGroup.PlaySoundSlavePrims)
|
||||||
{
|
{
|
||||||
position = prim.AbsolutePosition; // region local
|
position = prim.AbsolutePosition; // region local
|
||||||
if (triggered)
|
if (triggered)
|
||||||
soundModule.TriggerSound(soundID, OwnerID, objectID, parentID, volume, position, regionHandle, radius);
|
soundModule.TriggerSound(soundID, OwnerID, prim.UUID, parentID, volume, position, regionHandle, radius);
|
||||||
else
|
else
|
||||||
soundModule.PlayAttachedSound(soundID, OwnerID, objectID, volume, position, flags, radius);
|
soundModule.PlayAttachedSound(soundID, OwnerID, prim.UUID, volume, position, flags, radius);
|
||||||
}
|
}
|
||||||
ParentGroup.PlaySoundSlavePrims.Clear();
|
ParentGroup.PlaySoundSlavePrims.Clear();
|
||||||
ParentGroup.PlaySoundMasterPrim = null;
|
ParentGroup.PlaySoundMasterPrim = null;
|
||||||
|
@ -2717,9 +2716,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (triggered)
|
if (triggered)
|
||||||
soundModule.TriggerSound(soundID, OwnerID, objectID, parentID, volume, position, regionHandle, radius);
|
soundModule.TriggerSound(soundID, OwnerID, UUID, parentID, volume, position, regionHandle, radius);
|
||||||
else
|
else
|
||||||
soundModule.PlayAttachedSound(soundID, OwnerID, objectID, volume, position, flags, radius);
|
soundModule.PlayAttachedSound(soundID, OwnerID, UUID, volume, position, flags, radius);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue