anchor.diff:  var
      X,Y: Integer;
   const
  -  FT: array[0..len_BIOME-1] of Byte = (0,8,48,40,192,155,34,35,17,47,46,45,44,31,26,27,28,29,132,147,156,151,160,245);
  +  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
  
positive.code:   function GetObjectFromMix(const ObjMixType: TObjectMix): Byte;
    var
      rnd: Single;
      i: TObjects;
      Output: Byte;
    begin
      Output := 255; // no object
      rnd := fRNG.Random();
      for i := Low(TObjects) to High(TObjects) do
        if rnd < ObjectMix[ ObjMixType , i ] then
        begin
          Output := GetObject(i);
          break;
        end;
      Result := Output;
  
negative.code:   TBiomeType = (btGrass,btBigGrass,btWetland,btSwamp,btWater,btCoal,btGrassGround,btGround,btTreeGrass,btGroundSnow,btSnow1,btSnow2,btIce,btCoastSand,btGrassSand1,btGrassSand2,btGrassSand3,btSand,btStone,btGold,btEgold,btIron,btEIron,btDark);
    TObstacleType = (otSwamp,otWater,otWetland,otEgold,otEIron);
    TObjects = (oStone,oShrub,oBranch,oMushroom,oFlower,oGrass,oDebris,oTreeDry,oTree,oConifer,oTreeTropical,oCactus,oPalm,oWaterTypes);
    TObjectMix = (omStone,omGrass,omSwamp,omGround,omSnow,omCoal,omDesert,omWater, omWetland);
    TBiomeTypeArray = array of TBiomeType;
  
  
  