+ if(sfx == &changevolume_sfx)
+ {
+ if(entchannel == 0)
+ return -1;
+ for (ch_idx=NUM_AMBIENTS ; ch_idx < NUM_AMBIENTS + MAX_DYNAMIC_CHANNELS ; ch_idx++)
+ {
+ ch = &channels[ch_idx];
+ if (ch->entnum == entnum && (ch->entchannel == entchannel || entchannel == -1) )
+ {
+ S_SetChannelVolume(ch_idx, fvol);
+ ch->dist_mult = attenuation / snd_soundradius.value;
+ SND_Spatialize(ch, false);
+ return ch_idx;
+ }
+ }
+ return -1;
+ }
+