anchor.diff:    SaveStream.Write(TileSize);
   
     for i:=1 to MapY do for k:=1 to MapX do
  -    SaveStream.Write(Land[i,k].Terrain, TileSize);
  +    SaveStream.Write(Land[i,k].Terrain, TileSize); //todo: don't write all the fields, exclude maped and deduced
   
     FallingTrees.Save(SaveStream);
   
  
positive.code: //       if you run it in speed up for a while you will end up with a lot more trees planted because they aren't
  //       growing faster and the woodcutter is planting faster. (so you should see more trees or more stumps)
  
  type
  {Class to store all terrain data, aswell terrain routines}
  TTerrain = class
  
negative.code:   MapX,MapY:integer; //Terrain width and height
  
    Land:array[1..MaxMapSize,1..MaxMapSize]of record
      Terrain:byte;
      Height:byte;
      Rotation:byte;
      Obj:byte;
  
      //Age of tree, another independent variable since trees can grow on fields
      TreeAge:word;  //Not init=0 .. Full=TreeAgeFull Depending on this tree gets older and thus could be chopped
  
      //Age of field/wine, another independent variable
      FieldAge:word;  //Empty=0, 1, 2, 3, 4, Full=65535  Depending on this special object maybe rendered (straw, grapes)
  
      //Visible for all players, HouseWIP is not a markup in fact, but it fits well in here, so let it be here
      Markup:TMarkup; //Markup (ropes) used on-top of tiles for roads/fields/houseplan/housearea
  
      //Used to display half-dug road
      TileOverlay:TTileOverlay;  //fs_None fs_Dig1, fs_Dig2, fs_Dig3, fs_Dig4 +Roads
  
      TileOwner:TPlayerID; //Name says it all, should simplify player related issues
      IsUnit:shortint; //Whenever there's a unit on that tile mark the tile as occupied and count the number
      IsVertexUnit:shortint; //Whether there are units blocking the vertex. (passing) Should be boolean?
  
  
      //MAPEDITOR
      OldTerrain, OldRotation:byte; //Only used for map editor
  
  
  