anchor.diff:      fMinLimit, fMaxLimit: TKMPoint;
       fScanEightTiles: Boolean; // True = scan 8 tiles around, False = scan 4 tiles (no performance impact!)
   
  -    procedure MakeNewQueue(); virtual;
  +    procedure MakeNewQueue; virtual;
       procedure InsertInQueue(const aX,aY: SmallInt); virtual;
       function RemoveFromQueue(var aX,aY: SmallInt): Boolean; virtual;
       function IsQueueEmpty: Boolean; inline;
  
positive.code: end;
  
  
  destructor TKMQuickFlood.Destroy();
  var
    X,Y: SmallInt;
  begin
    while not IsQueueEmpty do // Dispose everything except 1 last element
      RemoveFromQueue(X,Y);
    Dispose(fStartQueue); // Dispose the last element
    inherited;
  end;
  
  
  procedure TKMQuickFlood.MakeNewQueue();
  var
    X,Y: SmallInt;
  begin
  
negative.code:     procedure SearchAround(aX,aY: SmallInt); virtual;
    public
      constructor Create(const aScanEightTiles: Boolean = False); virtual;
      destructor Destroy; override;
      procedure QuickFlood(aX,aY: SmallInt); virtual;
    end;
  
  