Feature: Set exclusive access to industry from GS (#8115)
This commit is contained in:
@@ -3125,6 +3125,14 @@ bool AfterLoadGame()
|
||||
}
|
||||
}
|
||||
|
||||
/* Make sure all industries exclusive supplier/consumer set correctly. */
|
||||
if (IsSavegameVersionBefore(SLV_GS_INDUSTRY_CONTROL)) {
|
||||
for (Industry *i : Industry::Iterate()) {
|
||||
i->exclusive_supplier = INVALID_OWNER;
|
||||
i->exclusive_consumer = INVALID_OWNER;
|
||||
}
|
||||
}
|
||||
|
||||
/* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */
|
||||
Station::RecomputeCatchmentForAll();
|
||||
|
||||
|
@@ -64,6 +64,8 @@ static const SaveLoad _industry_desc[] = {
|
||||
SLE_CONDVAR(Industry, last_cargo_accepted_at[0], SLE_INT32, SLV_70, SLV_EXTEND_INDUSTRY_CARGO_SLOTS),
|
||||
SLE_CONDARR(Industry, last_cargo_accepted_at, SLE_INT32, 16, SLV_EXTEND_INDUSTRY_CARGO_SLOTS, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Industry, selected_layout, SLE_UINT8, SLV_73, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Industry, exclusive_supplier, SLE_UINT8, SLV_GS_INDUSTRY_CONTROL, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Industry, exclusive_consumer, SLE_UINT8, SLV_GS_INDUSTRY_CONTROL, SL_MAX_VERSION),
|
||||
|
||||
SLEG_CONDARR(_old_ind_persistent_storage.storage, SLE_UINT32, 16, SLV_76, SLV_161),
|
||||
SLE_CONDREF(Industry, psa, REF_STORAGE, SLV_161, SL_MAX_VERSION),
|
||||
|
@@ -320,7 +320,7 @@ enum SaveLoadVersion : uint16 {
|
||||
SLV_START_PATCHPACKS, ///< 220 First known patchpack to use a version just above ours.
|
||||
SLV_END_PATCHPACKS = 286, ///< 286 Last known patchpack to use a version just above ours.
|
||||
|
||||
SLV_GS_INDUSTRY_CONTROL, ///< 287 PR#7912 GS industry control.
|
||||
SLV_GS_INDUSTRY_CONTROL, ///< 287 PR#7912 and PR#8115 GS industry control.
|
||||
|
||||
SL_MAX_VERSION, ///< Highest possible saveload version
|
||||
};
|
||||
|
Reference in New Issue
Block a user