anchor.diff:      fTiles[I].IronMinable := nTile.B['IronMinable'];
       fTiles[I].GoldMinable := nTile.B['GoldMinable'];
   
  -    fTiles[I].Water       := nTile.B['Water'];
  -    fTiles[I].HasWater    := nTile.B['HasWater'];
  -    fTiles[I].Ice         := nTile.B['Ice'];
  -    fTiles[I].Snow        := nTile.B['Snow'];
  -    fTiles[I].Sand        := nTile.B['Sand'];
  -    fTiles[I].Soil        := nTile.B['Soil'];
  -    fTiles[I].Corn        := nTile.B['Corn'];
  -    fTiles[I].Wine        := nTile.B['Wine'];
  +    fTiles[I].Water    := nTile.B['Water'];
  +    fTiles[I].HasWater := nTile.B['HasWater'];
  +    fTiles[I].Ice      := nTile.B['Ice'];
  +    fTiles[I].Snow     := nTile.B['Snow'];
  +    fTiles[I].Sand     := nTile.B['Sand'];
  +    fTiles[I].Soil     := nTile.B['Soil'];
  +    fTiles[I].Corn     := nTile.B['Corn'];
  +    fTiles[I].Wine     := nTile.B['Wine'];
   
       nTerKinds := nTile.A['CornersTerKinds'];
       Assert(nTerKinds.Count = 4);
  
positive.code:   nRoot, nAnimLayer: TJsonObject;
    nTiles, nTerKinds, nAnimLayers, nAnims: TJsonArray;
  begin
    if not aCompact then
    begin
      JsonSerializationConfig.InlinedByDefault := True;
      JsonSerializationConfig.IndentChar := '  '; // 2 spaces
      JsonSerializationConfig.LineBreak := #13#10;
    end;
  
    nRoot := TJsonObject.Create;
    nRoot.Inlined := False;
  
negative.code:       end;
      end;
  
      // Save to stream if specified (used for CRC calculations)
      if aSaveStream = nil then
        nRoot.SaveToFile(GetTilesJsonPath, aCompact, TEncoding.UTF8)
      else
  