- fixed: A_StartSound was still masking the sound channel value for checking if it plays something.

This commit is contained in:
Christoph Oelckers 2019-12-30 09:09:08 +01:00
parent 5425aa979d
commit d79c6c1c0a

View file

@ -470,14 +470,14 @@ void A_StartSound(AActor *self, int soundid, int channel, int flags, double volu
{ {
if (!looping) if (!looping)
{ {
if (!(flags & CHANF_NOSTOP) || !S_IsActorPlayingSomething(self, channel & 7, soundid)) if (!(flags & CHANF_NOSTOP) || !S_IsActorPlayingSomething(self, channel, soundid))
{ {
S_PlaySoundPitch(self, channel, EChanFlags::FromInt(flags), soundid, (float)volume, (float)attenuation, local, (float)pitch); S_PlaySoundPitch(self, channel, EChanFlags::FromInt(flags), soundid, (float)volume, (float)attenuation, local, (float)pitch);
} }
} }
else else
{ {
if (!S_IsActorPlayingSomething(self, channel & 7, soundid)) if (!S_IsActorPlayingSomething(self, channel, soundid))
{ {
S_PlaySoundPitch(self, channel, EChanFlags::FromInt(flags) | CHANF_LOOP, soundid, (float)volume, (float)attenuation, local, (float)pitch); S_PlaySoundPitch(self, channel, EChanFlags::FromInt(flags) | CHANF_LOOP, soundid, (float)volume, (float)attenuation, local, (float)pitch);
} }