anchor.diff:    end;
   end;
   
  -procedure TFSManager.ScanDir(RelDir: string; ARootPath: TStrings);
  +procedure TFSManager.ScanDir(const RelDir: string; ARootPath: TStrings);
   var
     srch: TFileSearcher;
     p: string;
     root_path: String;
   begin
  -
     for root_path in ARootPath do
     begin
       srch := TFileSearcher.Create;
  
positive.code:     procedure OnDirectoryFound(FileIterator: TFileIterator);
      procedure OnArchiveFound(FileIterator: TFileIterator);
  
      procedure ScanDir(RelDir: string; ARootPath: TStrings);
  
      procedure ScanMap(MapPath: string; ARootPath: TStrings);
  
  
negative.code:   FCurrentFilter := VFS_FILTERS[ACurrentVFSPath];
  end;
  
  function TFSManager.MakeFullPath(const ARootPath: string; const RelPath: string
    ): string;
  begin
    Result := IncludeTrailingPathDelimiter(ARootPath)+ ExcludeLeadingPathDelimiter(RelPath);
    //Result := IncludeTrailingPathDelimiter(Result);
  end;
  
  function TFSManager.MatchFilter(const AExt: string; out AType: TResourceType
    ): boolean;
  var
    fltr: TResourceType;
    temp: string;
  begin
    Result := (FCurrentFilter = []); //empty filter = all files match
    if Result then
      Exit;
    temp  := Trim(UpperCase(AExt));
    for fltr in FCurrentFilter do
    begin
      if temp = RES_TO_EXT[fltr] then
      begin
        Result := True;
        AType:=  fltr;
  