33// SPDX-License-Identifier: GPL-2.0-or-later
44
55#include " GamePlayer.h"
6+ #include " AddonHelperFunctions.h"
67#include " Cheats.h"
78#include " EventManager.h"
89#include " FindWhConditions.h"
@@ -299,7 +300,8 @@ void GamePlayer::Deserialize(SerializedGameData& sgd)
299300
300301 if (sgd.GetGameDataVersion () < 12 )
301302 {
302- auto countOfNotAvailableBuildingsInSaveGame = sgd.GetGameDataVersion () < 11 ? 6 : 3 ;
303+ auto countOfNotAvailableBuildingsInSaveGame =
304+ sgd.GetGameDataVersion () < 11 ? wineAndLeatherAddonBuildings : leatherAddonBuildings;
303305 std::vector<BuildingType> build_order_raw (build_order.size () - countOfNotAvailableBuildingsInSaveGame);
304306 helpers::popContainer (sgd, build_order_raw, true );
305307
@@ -313,12 +315,14 @@ void GamePlayer::Deserialize(SerializedGameData& sgd)
313315
314316 std::copy (build_order_raw.begin (), build_order_raw.end (), build_order.begin ());
315317
316- auto countOfNotAvailableGoodsInSaveGame = sgd.GetGameDataVersion () < 11 ? 5 : 3 ;
318+ auto countOfNotAvailableGoodsInSaveGame =
319+ sgd.GetGameDataVersion () < 11 ? wineAndLeatherAddonGoods : leatherAddonGoods;
317320 std::vector<uint8_t > transportPrio_raw (transportPrio.size () - countOfNotAvailableGoodsInSaveGame);
318321 helpers::popContainer (sgd, transportPrio_raw, true );
319322 std::copy (transportPrio_raw.begin (), transportPrio_raw.end (), transportPrio.begin ());
320323 std::transform (transportPrio.begin (), transportPrio.end () - countOfNotAvailableGoodsInSaveGame,
321- transportPrio.begin (), [](uint8_t & prio) { return prio < 7 ? prio : prio + 1 ; });
324+ transportPrio.begin (),
325+ [](uint8_t & prio) { return prio < transportPrioOfLeatherworks ? prio : prio + 1 ; });
322326 } else
323327 {
324328 helpers::popContainer (sgd, build_order);
@@ -334,13 +338,15 @@ void GamePlayer::Deserialize(SerializedGameData& sgd)
334338
335339 if (sgd.GetGameDataVersion () < 12 )
336340 {
337- auto countOfNotAvailableGoodsInSaveGame = sgd.GetGameDataVersion () < 11 ? 5 : 3 ;
341+ auto countOfNotAvailableGoodsInSaveGame =
342+ sgd.GetGameDataVersion () < 11 ? wineAndLeatherAddonGoods : leatherAddonGoods;
338343 std::vector<unsigned int > global_inventory_good_raw (global_inventory.goods .size ()
339344 - countOfNotAvailableGoodsInSaveGame);
340345 helpers::popContainer (sgd, global_inventory_good_raw, true );
341346 std::copy (global_inventory_good_raw.begin (), global_inventory_good_raw.end (), global_inventory.goods .begin ());
342347
343- auto countOfNotAvailableJobsInSaveGame = sgd.GetGameDataVersion () < 11 ? 6 : 3 ;
348+ auto countOfNotAvailableJobsInSaveGame =
349+ sgd.GetGameDataVersion () < 11 ? wineAndLeatherAddonJobs : leatherAddonJobs;
344350 std::vector<unsigned int > global_inventory_people_raw (global_inventory.people .size ()
345351 - countOfNotAvailableJobsInSaveGame);
346352 helpers::popContainer (sgd, global_inventory_people_raw, true );
0 commit comments