anchor.diff:    end;
   
     //Stop previously playing sound and release buffer
  -  AlSourceStop(fSound[FreeBuf].ALSource);
  -  AlSourcei(fSound[FreeBuf].ALSource, AL_BUFFER, 0);
  +  AlSourceStop(fALSounds[FreeBuf].ALSource);
  +  AlSourcei(fALSounds[FreeBuf].ALSource, AL_BUFFER, 0);
   
     //Assign new data to buffer and assign it to source
     if SoundID = sfxNone then
  
positive.code:   if fScriptSoundIndex[aIndex] = -1 then Exit;
  
    //Stop previously playing sound and release buffer
    AlSourceStop(fSound[fScriptSoundIndex[aIndex]].ALSource);
    AlSourcei(fSound[fScriptSoundIndex[aIndex]].ALSource, AL_BUFFER, 0);
  
    fSound[fScriptSoundIndex[aIndex]].PlaySince := 0;
    fScriptSoundIndex[aIndex] := -1;
  end;
  
  
negative.code: 
    //Update the volume of all other playing sounds
    for I := 1 to MAX_SOUNDS do
      if not fALSounds[I].FromScript //Looped sounds are handled above
        and (fALSounds[I].PlaySince <> 0) and (GetTimeSince(fALSounds[I].PlaySince) < fALSounds[I].Duration) then
        UpdateSound(I);//AlSourcef(fSound[I].ALSource, AL_GAIN, 1 * fSound[I].Volume * fSoundGain);
  end;
  
  