anchor.diff:    SaveStream.Write(BuildID);
     SaveStream.Write(HouseNeedsWorker);
     SaveStream.Write(HouseReadyToBuild);
  -  SaveStream.Write(Step);
  -  for i:=1 to length(Cells) do
  -  SaveStream.Write(Cells[i]);
  +  SaveStream.Write(LastToDig);
  +  SaveStream.Write(CellsToDig, SizeOf(CellsToDig));
   end;
   
   
  
positive.code:     BuildID: Integer;
      HouseNeedsWorker: Boolean;
      HouseReadyToBuild: Boolean;
      Step: Byte;
      Cells: array[1..4*4]of TKMPoint;
      function GetHouseEntranceLoc: TKMPoint;
    public
      constructor Create(aWorker: TKMUnitWorker; aHouseType: THouseType; aLoc: TKMPoint; aID:integer);
  
negative.code: 
  
  { TTaskBuildHouseArea }
  constructor TTaskBuildHouseArea.Create(aWorker: TKMUnitWorker; aHouseType: THouseType; aLoc: TKMPoint; aID: Integer);
  var
    I,K: Integer;
    HA: THouseArea;
  begin
    inherited Create(aWorker);
  