anchor.diff:    AN: TAttackNotification;
     SpeechPath: string;
   begin
  -  SpeechPath := ExeDir + 'data\sfx\speech.'+fLocale+'\';
  +  SpeechPath := ExeDir + 'data\sfx\speech.' + fLocale + '\';
   
     //Reset counts from previous locale/unsuccessful load
     FillChar(fWarriorSoundCount, SizeOf(fWarriorSoundCount), #0);
  
positive.code: 
  procedure TSoundLib.ExportSounds;
  var
    i: Integer;
    S: TMemoryStream;
  begin
    if not fIsSoundInitialized then Exit;
  
    ForceDirectories(ExeDir + 'Export\SoundsDat\');
  
    for i:=1 to fWavesCount do
    if Length(fWaves[i].Data) > 0 then
    begin
      S := TMemoryStream.Create;
      S.Write(fWaves[i].Head, SizeOf(fWaves[i].Head));
      S.Write(fWaves[i].Data[0], Length(fWaves[i].Data));
      S.Write(fWaves[i].Foot[0], Length(fWaves[i].Foot));
        S.SaveToFile(ExeDir + 'Export\SoundsDat\sound_' + int2fix(I, 3) + '_' +
                     GetEnumName(TypeInfo(TSoundFX), I) + '.wav');
        S.Free;
  
negative.code: 
    //First inspect folders, if the prefered ones don't exist use the backups
    for U := WARRIOR_MIN to WARRIOR_MAX do
      if not DirectoryExists(SpeechPath + WarriorSFXFolder[U] + '\') then
        fWarriorUseBackup[U] := True;
  
    //If the folder exists it is likely all the sounds are there
  