anchor.diff:    end;
   
     //Create context(s)
  -  Context := alcCreateContext(fALDevice, nil);
  +  context := alcCreateContext(fALDevice, nil);
     Set8087CW($133F); //Above OpenAL call messes up FPU settings
  -  if Context = nil then begin
  +  if context = nil then begin
       gLog.AddNoTime('OpenAL warning. Context could not be created.');
       //MessageDlg works better than Application.MessageBox or others, it stays on top and pauses here until the user clicks ok.
       MessageDlg('OpenAL context could not be created. Please refer to Readme.html for solution', mtWarning, [mbOk], 0);
  
positive.code: 
  procedure TKMSoundPlayer.PlayCitizen(aUnitType: TKMUnitType; aSound: TWarriorSpeech; const aLoc: TKMPointF);
  var
    Wave: UnicodeString;
    HasLoc: Boolean;
  begin
    if SKIP_SOUND or not fIsSoundInitialized then Exit;
    if not (aUnitType in [CITIZEN_MIN..CITIZEN_MAX]) then Exit;
  
    HasLoc := not KMSamePointF(aLoc, KMPOINTF_ZERO);
    Wave := gRes.Sounds.FileOfCitizen(aUnitType, aSound);
    if FileExists(Wave) then
      PlayWave(Wave, aLoc, gRes.Sounds.GetSoundType(aSound), HasLoc, 1 + 3*byte(HasLoc)); //Attenuate sounds when aLoc is valid
  end;
  
  
  procedure TKMSoundPlayer.PlayNotification(aSound: TAttackNotification);
  var
    Wave: UnicodeString;
    Count: Byte;
  begin
    if SKIP_SOUND or not fIsSoundInitialized then Exit;
  
    Count := gRes.Sounds.NotificationSoundCount[aSound];
  
    Wave := gRes.Sounds.FileOfNotification(aSound, Random(Count));
    if FileExists(Wave) then
      PlayWave(Wave, KMPOINTF_ZERO, gRes.Sounds.GetSoundType(aSound), False, 1);
  end;
  
  
  
negative.code: 
  function TKMScriptSoundsManager.CanPlay(const aScriptSound: TKMScriptSound): Boolean;
  var
    distanceSqr: Single;
  begin
    Result := ((aScriptSound.HandIndex = gMySpectator.HandID) or (aScriptSound.HandIndex = PLAYER_NONE))
               and (not aScriptSound.Attenuate
  