Change the part for sound playback to be the root part / object UUID instead

of the child prim because using the child prim plain doesn't work.
avinationmerge
Melanie 2010-10-10 22:06:47 +01:00
parent 231feab57f
commit 2804c97a39
1 changed files with 8 additions and 8 deletions

View File

@ -2730,7 +2730,7 @@ namespace OpenSim.Region.Framework.Scenes
public void PreloadSound(string sound) public void PreloadSound(string sound)
{ {
// UUID ownerID = OwnerID; // UUID ownerID = OwnerID;
UUID objectID = UUID; UUID objectID = ParentGroup.RootPart.UUID;
UUID soundID = UUID.Zero; UUID soundID = UUID.Zero;
if (!UUID.TryParse(sound, out soundID)) if (!UUID.TryParse(sound, out soundID))
@ -3112,7 +3112,7 @@ namespace OpenSim.Region.Framework.Scenes
volume = 0; volume = 0;
UUID ownerID = _ownerID; UUID ownerID = _ownerID;
UUID objectID = UUID; UUID objectID = ParentGroup.RootPart.UUID;
UUID parentID = GetRootPartUUID(); UUID parentID = GetRootPartUUID();
if (ParentGroup.IsAttachment && ParentGroup.RootPart.Shape.State > 30) if (ParentGroup.IsAttachment && ParentGroup.RootPart.Shape.State > 30)
@ -3157,11 +3157,11 @@ namespace OpenSim.Region.Framework.Scenes
else else
soundModule.PlayAttachedSound(soundID, ownerID, objectID, volume, position, flags, radius); soundModule.PlayAttachedSound(soundID, ownerID, objectID, volume, position, flags, radius);
ParentGroup.PlaySoundMasterPrim = this; ParentGroup.PlaySoundMasterPrim = this;
ownerID = this._ownerID; ownerID = _ownerID;
objectID = this.UUID; objectID = ParentGroup.RootPart.UUID;
parentID = this.GetRootPartUUID(); parentID = GetRootPartUUID();
position = this.AbsolutePosition; // region local position = AbsolutePosition; // region local
regionHandle = this.ParentGroup.Scene.RegionInfo.RegionHandle; regionHandle = ParentGroup.Scene.RegionInfo.RegionHandle;
if (triggered) if (triggered)
soundModule.TriggerSound(soundID, ownerID, objectID, parentID, volume, position, regionHandle, radius); soundModule.TriggerSound(soundID, ownerID, objectID, parentID, volume, position, regionHandle, radius);
else else
@ -3169,7 +3169,7 @@ namespace OpenSim.Region.Framework.Scenes
foreach (SceneObjectPart prim in ParentGroup.PlaySoundSlavePrims) foreach (SceneObjectPart prim in ParentGroup.PlaySoundSlavePrims)
{ {
ownerID = prim._ownerID; ownerID = prim._ownerID;
objectID = prim.UUID; objectID = prim.ParentGroup.RootPart.UUID;
parentID = prim.GetRootPartUUID(); parentID = prim.GetRootPartUUID();
position = prim.AbsolutePosition; // region local position = prim.AbsolutePosition; // region local
regionHandle = prim.ParentGroup.Scene.RegionInfo.RegionHandle; regionHandle = prim.ParentGroup.Scene.RegionInfo.RegionHandle;