anchor.diff:    I: Integer;
   begin
     LoadStream.CheckMarker('ScriptSoundsManager');
  -  LoadStream.Read(fLastScriptIndex);
  +  LoadStream.Read(fLastScriptUID);
     LoadStream.Read(fCount);
     SetLength(fScriptSounds, fCount);
  -  for I := 0 to fCount-1 do
  -  begin
  -    LoadStream.Read(fScriptSounds[I].ScriptIndex);
  +  for I := 0 to fCount - 1 do
  +  begin
  +    LoadStream.Read(fScriptSounds[I].ScriptUID);
       LoadStream.ReadA(fScriptSounds[I].SoundName);
       LoadStream.Read(fScriptSounds[I].Volume);
       LoadStream.Read(fScriptSounds[I].Radius);
  
positive.code: var I: Integer;
  begin
    gRenderAux.CircleOnTerrain(fListener.Pos[1], fListener.Pos[2], MAX_DISTANCE, $00000000, $FFFFFFFF);
    for I := 1 to MAX_SOUNDS do
      if IsSoundPlaying(I) then
      begin
        gRenderAux.CircleOnTerrain(fALSounds[I].Position.X, fALSounds[I].Position.Y, 5, $4000FFFF, $FFFFFFFF);
  
negative.code: {Call to this procedure will find free spot and start to play sound immediately}
  {Will need to make another one for unit sounds, which will take WAV file path as parameter}
  {Attenuated means if sound should fade over distance or not}
  //Returns index in fALSound array
  function TKMSoundPlayer.PlaySound(SoundID: TSoundFX; const aFile: UnicodeString; const Loc: TKMPointF; aSoundType: TKMSoundType;
                                    Attenuated: Boolean; Volume: Single; Radius: Single; FadeMusic, aLooped: Boolean;
                                    aFromScript: Boolean = False): Integer;
  