anchor.diff:      function GetFieldToHouse(aHT: TKMHouseType; aIdx: Integer; var aField: TKMPointList; var aFieldType: TKMFieldType): Boolean;
       function GetTreesInHousePlan(aHT: TKMHouseType; aIdx: Integer; var aField: TKMPointList): Byte;
       function FindForestAround(const aPoint: TKMPoint; aCountByInfluence: Boolean = False): Boolean;
  -    procedure CheckStoneReserves();
  +    procedure CheckStoneReserves(aForceToPlaceQuarry: Boolean = False);
   
       procedure LogStatus(var aBalanceText: UnicodeString);
       procedure Paint();
  
positive.code:     SaveStream.Write(fPlannedHouses[HT].Count);
      SaveStream.Write(fPlannedHouses[HT].Completed);
      SaveStream.Write(fPlannedHouses[HT].UnderConstruction);
      Len := Length(fPlannedHouses[HT].Plans);
      SaveStream.Write( Len );
      for K := 0 to fPlannedHouses[HT].Count - 1 do
  
negative.code:   begin
      CompletedHouses := 0;
      HousesUnderConstruction := 0;
      PlannedHouses := 0;
      for I := 0 to fPlannedHouses[HT].Count - 1 do
        with fPlannedHouses[HT].Plans[I] do
        begin
  