anchor.diff:      Warriors: array[WARRIOR_MIN..WARRIOR_MAX] of Word;
       Houses: array[HOUSE_MIN..HOUSE_MAX] of Word;
     end;
  +  THouseBuildHistory = record
  +    Count: Word;
  +    Quantity: TKMWordArray;
  +    Tick: TKMCardinalArray;
  +  end;
     TWareBalanceArray = array[WARE_MIN..WARE_MAX] of TWareBalance;
     //TWarfareDemands = array[WARFARE_MIN..WARFARE_MAX] of Single;
     TRequiredHousesArray = array[HOUSE_MIN..HOUSE_MAX] of Integer;
  
positive.code: begin
    SaveStream.WriteA('CityPredictor');
    SaveStream.Write(fOwner);
    SaveStream.Write(fCornDelay);
    SaveStream.Write(fMaxSoldiersInMin);
  
    // Requred houses should be saved because of public variable
    SaveStream.Write(RequiredHouses, SizeOf(TRequiredHousesArray));
  
negative.code: begin
    LoadStream.ReadAssert('CityPredictor');
    LoadStream.Read(fOwner);
    LoadStream.Read(fMaxSoldiersInMin);
    LoadStream.Read(fFarmBuildHistory.Count);
    if (fFarmBuildHistory.Count > 0) then
    begin
      SetLength(fFarmBuildHistory.Quantity, fFarmBuildHistory.Count);
      SetLength(fFarmBuildHistory.Tick, fFarmBuildHistory.Count);
      LoadStream.Read(fFarmBuildHistory.Quantity[0], SizeOf(fFarmBuildHistory.Quantity[0]) * fFarmBuildHistory.Count);
      LoadStream.Read(fFarmBuildHistory.Tick[0], SizeOf(fFarmBuildHistory.Tick[0]) * fFarmBuildHistory.Count);
    end;
  
    // Requred houses should be saved because of public variable
    LoadStream.Read(RequiredHouses, SizeOf(TRequiredHousesArray));
  