anchor.diff:    Store.CurrentSectorRec := BaseSectorRec;
     {$endif}
     Storage := _Storage;
  -
  -  // add buffer items to the pool
  -  CurrentSectorRec := @Buffer[High(Buffer)];
  -  SectorRec := @Buffer[High(Buffer) - 1];
  -  repeat
  -    CurrentSectorRec.Next := SectorRec;
  -    Dec(CurrentSectorRec);
  -    Dec(SectorRec);
  -  until (CurrentSectorRec = @Buffer[0]);
  -  Storage.PoolLast.Next := @Buffer[High(Buffer)];
  -  Storage.PoolLast := CurrentSectorRec{Buffer[0]};
  -  CurrentSectorRec.Next := nil;
   
     // each sector rec loop
     CurrentSectorRec := {$ifdef CPUX86}Store.CurrentSectorRec{$else}BaseSectorRec{$endif};
  
positive.code:       {$endif}
        CurrentSectorRec := SectorRec;
      end else
      begin
        // allocate new pool items
        FloodTileMapSectors(Storage, SectorRec{$ifdef LARGEINT}, NodeBuffers{$endif});
        Exit;
      end;
    until (False);
  end;
  
  procedure TTileMap.ActualizeSectors;
  
negative.code:             PByteList(Sector)[Offset] := SECTOR_PATHLESS;
            end;
          end;
  
          Mask := (Mask xor Flags) and -8;
          Offset := Flags and -8;
          Inc(Flags);
          Inc(Flags, Offset);        
        until (Mask = 0);
      until (Cell = Store.LastCell);
  
      // take next queue item
      {$ifdef CPUX86}
      CurrentSectorRec := Store.CurrentSectorRec;
      {$endif}
      SectorRec := CurrentSectorRec.Next;
      if (SectorRec = nil) then Exit;
  
      // add empty item to pool
      CurrentSectorRec.Next := Storage.Pool;
      Storage.Pool := CurrentSectorRec;
  
      // check a few pool items
      if (NativeUInt(CurrentSectorRec.Next{last pool}) >= NativeUInt(Storage.PoolMarker)) then
      begin
        // next interation
        {$ifdef CPUX86}
  