anchor.diff:        PValue^ := V;
         Inc(Info.UpdateId);
   
  -      if (V = DEFAULT_WEIGHT_VALUE) then
  +      if (V = DEFAULT_WEIGHT_VALUE_LINE) then
         begin
           if (Index = Info.Count) then
           begin
  
positive.code:     // reinitialize NodeInfo (from parentflags, mask, parentmask, tile):
      //   - bit hexagonal << 1
      //   - bit simple << 2
      //   - mask
      //   - stored childs counter
      //   - tile
      NodeInfo := ((NodeInfo and (NodeInfo shr 8)) and Integer($ff00ff00)) or Store.MapKindFlags;
  
      // each child cell loop
      goto nextchild;
  
negative.code:       begin
          FActualInfo.Weights.SinglesDiagonal[i] := SQRT2 * PWeight^;
  
          V := CPFRound(PWeight^ * Consts.ScaleDiagonal);
          if (V < FTileWeightMinimumDiagonal) then V := FTileWeightMinimumDiagonal;
          FActualInfo.Weights.CardinalsDiagonal[i] := V;
        end;
      end;
  
      // heuristics
      V := CPFRound(PSingle(@Weights.Minimum)^ * Consts.ScaleLine);
      if (V > FTileWeightLimitLine) then FInfo.HeuristicsLine := FTileWeightLimitLine
      else
      if (V < FTileWeightMinimumLine) then FInfo.HeuristicsLine := FTileWeightMinimumLine
      else
      FInfo.HeuristicsLine := V;
  
      V := CPFRound(PSingle(@Weights.Minimum)^ * Consts.ScaleDiagonal);
      if (V < FTileWeightMinimumDiagonal) then FInfo.HeuristicsDiagonal := FTileWeightMinimumDiagonal
      else
      FInfo.HeuristicsDiagonal := V;
    end else
    begin
      // default heuristics
      FInfo.HeuristicsLine := Consts.DefaultWeightLine;
      FInfo.HeuristicsDiagonal := Consts.DefaultWeightDiagonal;
    end;
  
    // simple map heuristics correction
  