anchor.diff:      (1, 2, 2, 2, 2,  2, 2, 2, 2, 0,  0, 0, 0, 2, 2,  1, 1, 1, 2, 2,  2, 2, 2, 0), // 16 btGrassSand3
       (2, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0, 1, 2,  1, 1, 1, 2, 2,  2, 2, 2, 0), // 17 btSand
       (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  2, 2, 2, 1, 2,  2, 2, 2, 0), // 18 btStone
  -    (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 0, 0, 0), // 19 btGold
  -    (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 0, 0, 0), // 20 btEgold
  +    (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 0, 0, 1), // 19 btGold
  +    (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 0, 0, 1), // 20 btEgold
       (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 1, 1, 1), // 21 btIron
       (1, 2, 2, 2, 1,  1, 2, 1, 2, 1,  1, 0, 0, 1, 2,  1, 2, 2, 2, 1,  1, 1, 1, 1), // 22 btEIron
  -    (0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 1, 1, 1)  // 23 btDark
  +    (0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0, 0, 0,  0, 0, 0, 0, 1,  1, 1, 1, 1)  // 23 btDark
     );
   
     canWalk: array[0..len_BIOME-1] of Boolean = (
  
positive.code:     ( 0, 0, 0, 0, 4,  7, 7, 7, 0, 9, 10,-1,-1,13,15, 15,15,15, 0,-1, -1,-1,-1,-1), // 20 btEgold
      ( 0, 0, 0, 0, 4,  7, 7, 7, 0, 9, 10,-1,-1,13,15, 15,15,15, 0,20, 20,-1,-1,-1), // 21 btIron
      ( 0, 0, 0, 0, 4,  7, 7, 7, 0, 9, 10,-1,-1,13,15, 15,15,15, 0,20, 20,-1,-1,-1), // 22 btEIron
      (-1,-1,-1,-1,-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1, -1,-1,-1,-1,-1, -1,22,21,-1)  // 23 btDark
    );
  
    T_FIX: array[0..len_BIOME-1,0..len_BIOME-1] of Byte = ( // Transition fixer
  
negative.code: //  end;
  //
  //// Detect shape of resource
  //  //if RMGSettings.Objects.Active then
  //  //begin
  //  //
  //    MineSearch := TKMMinerFixSearch.Create(  KMPoint(  Low(A[0]), Low(A) ), KMPoint( High(A[0]), High(A) ), MinLimit, MaxLimit, aVisited, A  );
  