anchor.diff:  
   function TKMScriptSoundsManager.CanPlay(const aScriptSound: TKMScriptSound): Boolean;
   var
  -  DistanceSqr: Single;
  +  distanceSqr: Single;
   begin
     Result := ((aScriptSound.HandIndex = gMySpectator.HandID) or (aScriptSound.HandIndex = PLAYER_NONE))
                and (not aScriptSound.Attenuate
  
positive.code: 
  
  function TKMSoundPlayer.ActiveCount: Byte;
  var I: Integer;
  begin
    Result := 0;
    for I := Low(fALSounds) to High(fALSounds) do
  
negative.code: 
  
  procedure TKMSoundPlayer.CheckOpenALError;
  var
    errCode: Integer;
  begin
    errCode := alcGetError(fALDevice);
    if errCode <> ALC_NO_ERROR then begin
      gLog.AddNoTime('OpenAL warning. There is OpenAL error '+inttostr(errCode)+' raised. Sound will be disabled.');
      //MessageDlg works better than Application.MessageBox or others, it stays on top and pauses here until the user clicks ok.
      MessageDlg('There is OpenAL error '+IntToStr(errCode)+' raised. Sound will be disabled.', mtWarning, [mbOk], 0);
      fIsSoundInitialized := False;
    end;
  end;
  
  
  procedure TKMSoundPlayer.AbortAllFadeSounds;
  var
    I: Integer;
  begin
    if SKIP_SOUND or not fIsSoundInitialized then Exit;
  
  