anchor.diff:      (0,1,2,3),(2,3,0,1)
     );
     FT: array[0..len_BIOME-1,0..9] of Word = ( // Full textures + variance
  -    {btGrass}       (0,1,2,3,5,6,13,14,0,0),
  -    {btBigGrass}    (8,9,11,0,0,0,0,0,0,0),
  -    {btWetland}     (48,0,0,0,0,0,0,0,0,0),
  -    {btSwamp}       (40,41,42,43,0,0,0,0,0,0),
  -    {btWater}       (192,193,196,0,0,0,0,0,0,0),
  -    {btCoal}        (263,155,154,153,152,7,0,0,0,0),
  -    {btGrassGround} (34,0,0,0,0,0,0,0,0,0),
  -    {btGround}      (35,36,37,0,0,0,0,0,0,0),
  -    {btTreeGrass}   (17,16,0,0,0,0,0,0,0,0),
  -    {btGroundSnow}  (47,0,0,0,0,0,0,0,0,0),
  -    {btSnow1}       (46,0,0,0,0,0,0,0,0,0),
  -    {btSnow2}       (45,0,0,0,0,0,0,0,0,0),
  -    {btIce}         (44,0,0,0,0,0,0,0,0,0),
  -    {btCoastSand}   (31,32,33,0,0,0,0,0,0,0),
  -    {btGrassSand1}  (26,0,0,0,0,0,0,0,0,0),
  -    {btGrassSand2}  (27,0,0,0,0,0,0,0,0,0),
  -    {btGrassSand3}  (28,0,0,0,0,0,0,0,0,0),
  -    {btSand}        (29,30,0,0,0,0,0,0,0,0),
  -    {btStone}       (137,132,131,130,129,18,128,136,135,134),
  -    {btGold}        (308,147,146,145,144,20,0,0,0,0),
  -    {btEgold}       (156,157,158,159,201,0,0,0,0,0),
  -    {btIron}        (260,151,150,149,148,22,0,0,0,0),
  -    {btEIron}       (160,161,162,163,164,0,0,0,0,0),
  -    {btDark}        (245,0,0,0,0,0,0,0,0,0)
  +    (  0,  1,  2,  3,  5,  6, 13, 14,  0,  0), //  0 btGrass
  +    (  8,  9, 11,  0,  0,  0,  0,  0,  0,  0), //  1 btBigGrass
  +    ( 48,  0,  0,  0,  0,  0,  0,  0,  0,  0), //  2 btWetland
  +    ( 40, 41, 42, 43,  0,  0,  0,  0,  0,  0), //  3 btSwamp
  +    (192,193,196,  0,  0,  0,  0,  0,  0,  0), //  4 btWater
  +    (263,155,154,153,152,  7,  0,  0,  0,  0), //  5 btCoal
  +    ( 34,  0,  0,  0,  0,  0,  0,  0,  0,  0), //  6 btGrassGround
  +    ( 35, 36, 37,  0,  0,  0,  0,  0,  0,  0), //  7 btGround
  +    ( 17, 16,  0,  0,  0,  0,  0,  0,  0,  0), //  8 btTreeGrass
  +    ( 47,  0,  0,  0,  0,  0,  0,  0,  0,  0), //  9 btGroundSnow
  +    ( 46,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 10 btSnow1
  +    ( 45,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 11 btSnow2
  +    ( 44,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 12 btIce
  +    ( 31, 32, 33,  0,  0,  0,  0,  0,  0,  0), // 13 btCoastSand
  +    ( 26,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 14 btGrassSand1
  +    ( 27,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 15 btGrassSand2
  +    ( 28,  0,  0,  0,  0,  0,  0,  0,  0,  0), // 16 btGrassSand3
  +    ( 29, 30,  0,  0,  0,  0,  0,  0,  0,  0), // 17 btSand
  +    (137,132,131,130,129, 18,128,136,135,134), // 18 btStone
  +    (308,147,146,145,144, 20,  0,  0,  0,  0), // 19 btGold
  +    (156,157,158,159,201,  0,  0,  0,  0,  0), // 20 btEgold
  +    (260,151,150,149,148, 22,  0,  0,  0,  0), // 21 btIron
  +    (160,161,162,163,164,  0,  0,  0,  0,  0), // 22 btEIron
  +    (245,  0,  0,  0,  0,  0,  0,  0,  0,  0)  // 23 btDark
     );
     PT: array[0..len_BIOME-1,0..9] of Single = ( // Probability of the specific full texture
  -    {btGrass}       (0.667,0.834,0.89,0.913,0.947,0.981,0.993,1,1,1),
  -    {btBigGrass}    (0.385,0.77,1,1,1,1,1,1,1,1),
  -    {btWetland}     (1,1,1,1,1,1,1,1,1,1),
  -    {btSwamp}       (0.295,0.59,0.885,1,1,1,1,1,1,1),
  -    {btWater}       (0.455,0.91,1,1,1,1,1,1,1,1),
  -    {btCoal}        (0.02,0.119,0.414,1,1,1,1,1,1,1),
  -    {btGrassGround} (1,1,1,1,1,1,1,1,1,1),
  -    {btGround}      (0.556,0.834,1,1,1,1,1,1,1,1),
  -    {btTreeGrass}   (0.715,1,1,1,1,1,1,1,1,1),
  -    {btGroundSnow}  (1,1,1,1,1,1,1,1,1,1),
  -    {btSnow1}       (1,1,1,1,1,1,1,1,1,1),
  -    {btSnow2}       (1,1,1,1,1,1,1,1,1,1),
  -    {btIce}         (1,1,1,1,1,1,1,1,1,1),
  -    {btCoastSand}   (0.125,0.75,1,1,1,1,1,1,1,1),
  -    {btGrassSand1}  (1,1,1,1,1,1,1,1,1,1),
  -    {btGrassSand2}  (1,1,1,1,1,1,1,1,1,1),
  -    {btGrassSand3}  (1,1,1,1,1,1,1,1,1,1),
  -    {btSand}        (0.75,1,1,1,1,1,1,1,1,1),
  -    {btStone}       (0.,0.,0.,0.,0.,0.,1,1,1,1),
  -    {btGold}        (0.,0.,0.,0.223,1,1,1,1,1,1),
  -    {btEgold}       (0.2,0.4,0.6,0.8,1,1,1,1,1,1),
  -    {btIron}        (0.,0.,0.,0.223,1,1,1,1,1,1),
  -    {btEIron}       (0.2,0.4,0.6,0.8,1,1,1,1,1,1),
  -    {btDark}        (1,1,1,1,1,1,1,1,1,1)
  +    (0.667,0.834,0.890,0.913,0.947,0.981,0.993,1,1,1), //  0 btGrass
  +    (0.385,0.77 ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  1 btBigGrass
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  2 btWetland
  +    (0.295,0.59 ,0.885,1    ,1    ,1    ,1    ,1,1,1), //  3 btSwamp
  +    (0.455,0.91 ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  4 btWater
  +    (0.02 ,0.119,0.414,1    ,1    ,1    ,1    ,1,1,1), //  5 btCoal
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  6 btGrassGround
  +    (0.556,0.834,1    ,1    ,1    ,1    ,1    ,1,1,1), //  7 btGround
  +    (0.715,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  8 btTreeGrass
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), //  9 btGroundSnow
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 10 btSnow1
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 11 btSnow2
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 12 btIce
  +    (0.125,0.75 ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 13 btCoastSand
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 14 btGrassSand1
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 15 btGrassSand2
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 16 btGrassSand3
  +    (0.75 ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1), // 17 btSand
  +    (0    ,0    ,0    ,0    ,0    ,0    ,1    ,1,1,1), // 18 btStone
  +    (0    ,0    ,0    ,0.223,1    ,1    ,1    ,1,1,1), // 19 btGold
  +    (0.2  ,0.4  ,0.6  ,0.8  ,1    ,1    ,1    ,1,1,1), // 20 btEgold
  +    (0    ,0    ,0    ,0.223,1    ,1    ,1    ,1,1,1), // 21 btIron
  +    (0.2  ,0.4  ,0.6  ,0.8  ,1    ,1    ,1    ,1,1,1), // 22 btEIron
  +    (1    ,1    ,1    ,1    ,1    ,1    ,1    ,1,1,1)  // 23 btDark
     );
   
     // Return full texture of specific biome (with variance)
  
positive.code:   //10,15,0,0,0,10,5,0,15,15,20,20,10,5,btGrassSand1,btGrassSand2,btGrassSand3,btSand,btStone,btGold,btEgold,btIron,btEIron,btDark);
  
    HeightVariance: array [0..len_BIOME-1] of Byte = (
      10,10,5,5,3,5,10,10,10,10,15,15,0,5,10,10,15,20,10,20,20,0,0,0
    );
    HNST: array[0..len_BIOME-1,0..len_BIOME-1] of Byte = ( // Hide Non-Smooth Transition (height fix)
      (0,0,0,2,3,5,2,5,1,5,5,5,5,3,1,4,3,4,0,0,0,0,0,0),
      (0,0,0,2,3,5,2,5,1,5,5,5,5,3,1,4,3,4,0,0,0,0,0,0),
      (0,0,0,2,0,5,2,3,2,5,5,5,5,2,1,2,3,4,0,0,0,0,0,0),
      (2,2,2,0,3,5,0,1,2,5,5,5,5,3,3,3,4,5,0,0,0,0,0,0),
      (3,3,0,3,0,5,3,3,3,3,5,5,5,3,3,3,3,3,0,0,0,0,0,0),
      (5,5,5,5,5,0,2,0,0,5,5,5,5,4,4,4,4,4,0,0,0,0,0,0),
      (2,2,2,0,3,2,0,0,0,5,5,5,5,5,5,5,5,3,0,0,0,0,0,0),
      (5,5,3,1,3,0,0,0,5,5,5,5,5,4,4,4,4,3,0,0,0,0,0,0),
      (1,1,2,2,3,0,0,5,0,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0),
      (5,5,5,5,3,5,5,5,5,0,5,5,5,5,5,5,5,5,0,0,0,0,0,0),
      (5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,0,0,0,0,0,0),
      (5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,0,0,0,0,0,0),
      (5,5,5,5,5,5,5,5,5,5,5,5,0,3,3,3,3,3,0,0,0,0,0,0),
      (3,3,2,3,3,4,5,4,5,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0),
      (1,1,1,3,3,4,5,4,5,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0),
      (4,4,2,3,3,4,5,4,5,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0),
      (3,3,3,4,3,4,5,4,5,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0),
      (4,4,4,5,3,4,3,3,5,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0),
      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
    );
    DECREASE_HEIGHT_SET: set of Byte = [Byte(btWater),Byte(btWetland),Byte(btSwamp)];
    CHANGE_HEIGHT_SET: set of Byte = [Byte(btBigGrass), Byte(btGrassGround), Byte(btTreeGrass), Byte(btGroundSnow), Byte(btSnow1), Byte(btSnow2), Byte(btGrassSand2), Byte(btSand)];
  
negative.code: var
     X,Y: Integer;
  const
    FT: array[0..len_BIOME-1] of Byte = (
      0,   //  0 btGrass
      8,   //  1 btBigGrass
      48,  //  2 btWetland
      40,  //  3 btSwamp
      192, //  4 btWater
      155, //  5 btCoal
      34,  //  6 btGrassGround
      35,  //  7 btGround
      17,  //  8 btTreeGrass
      47,  //  9 btGroundSnow
      46,  // 10 btSnow1
      45,  // 11 btSnow2
      44,  // 12 btIce
      31,  // 13 btCoastSand
      26,  // 14 btGrassSand1
      27,  // 15 btGrassSand2
      28,  // 16 btGrassSand3
      29,  // 17 btSand
      132, // 18 btStone
      147, // 19 btGold
      156, // 20 btEgold
      151, // 21 btIron
      160, // 22 btEIron
      245  // 23 btDark
    );
  begin
  	for Y := 1 to fMapY-1 do
  		for X := 1 to fMapX-1 do
  