anchor.diff:  end;
   
   
  +// Flood fill in NavMesh grid
   procedure TNavMeshFloodFill.Flood();
   var
     PolyArr: TPolygonArray;
  -  I, Idx, NearbyIdx: Word;
  +  I: SmallInt;
  +  Idx, NearbyIdx: Word;
     Point: TKMPoint;
   begin
     PolyArr := gAIFields.NavMesh.Polygons;
  
positive.code:     fSorted: Boolean; // Only for sorted case
      fVisitedIdx: Byte;
      fStartQueue, fEndQueue, fQueueCnt: Word;
      fQueueArray: TPolygonsQueueArr; // max 2000 elements (polygons in navmesh) -> use array with fixed length instead of creating elements which have 10<->20 bytes
  
      procedure MakeNewQueue(); virtual;
      procedure ClearVisitIdx();
  
negative.code:       ActIdx := fQueueArray[ActIdx].Next;
        I := I + 1;
      end;
      // Change indexes of surrounding elements (= insert element into queue, no shift of other elements is required)
      if (I = 0) then
      begin
        fQueueArray[aIdx].Next := fStartQueue;
  