anchor.diff:    Coordinates, MapWidth: NativeInt;
   begin
     // take node list
  -  Node := FNodes.HeuristedPool.First.Next;
  -  if (Node = @FNodes.HeuristedPool.Last) then Exit;
  -  FNodes.HeuristedPool.First.Next := @FNodes.HeuristedPool.Last;
  -  FNodes.HeuristedPool.Last.Prev := @FNodes.HeuristedPool.First;
  +  Node := PoolLast.Prev;
  +  if (Node = @PoolFirst) then Exit;
  +  Node.Next := nil;
  +  Node := PoolFirst.Next;
  +  PoolFirst.Next := @PoolLast;
  +  PoolLast.Prev := @PoolFirst;
   
     // clear flag loop
     Cells := FInfo.CellArray;
  
positive.code:   Result := False;
  end;
  
  procedure FloodTileMapSectors(Cell: PCPFCell; Sector: PByte;
    const Offsets: TCPFOffsets
    {$ifdef LARGEINT}; NodeBuffers: PCPFNodeBuffers{$endif});
  label
  
negative.code:     if (Self.FActualInfo.Sectors = nil) then Self.CPFGetMem(Pointer(Self.FActualInfo.Sectors), Size);
      FillCardinal(PCardinal(Self.FActualInfo.Sectors), Size shr 2, $02020202);
      Self.FActualInfo.SectorsChanged := False;
    end;
  end;
  
  