Infrastructure sharing patch: save/load changes.
This commit is contained in:
@@ -2390,7 +2390,7 @@ bool AfterLoadGame()
|
||||
FOR_ALL_DEPOTS(d) d->build_date = _date;
|
||||
}
|
||||
|
||||
if (IsSavegameVersionBefore(200)) {
|
||||
if (SlXvIsFeatureMissing(XSLFI_INFRA_SHARING)) {
|
||||
Company *c;
|
||||
FOR_ALL_COMPANIES(c) {
|
||||
/* yearly_expenses has 3*15 entries now, saveload code gave us 3*13.
|
||||
|
@@ -283,8 +283,8 @@ static const SaveLoad _company_desc[] = {
|
||||
|
||||
/* yearly expenses was changed to 64-bit in savegame version 2. */
|
||||
SLE_CONDARR(CompanyProperties, yearly_expenses, SLE_FILE_I32 | SLE_VAR_I64, 3 * 13, 0, 1),
|
||||
SLE_CONDARR(CompanyProperties, yearly_expenses, SLE_INT64, 3 * 13, 2, 199),
|
||||
SLE_CONDARR(CompanyProperties, yearly_expenses, SLE_INT64, 3 * 15, 200, SL_MAX_VERSION),
|
||||
SLE_CONDARR_X(CompanyProperties, yearly_expenses, SLE_INT64, 3 * 13, 2, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING, 0, 0)),
|
||||
SLE_CONDARR_X(CompanyProperties, yearly_expenses, SLE_INT64, 3 * 15, 2, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)),
|
||||
|
||||
SLE_CONDVAR(CompanyProperties, is_ai, SLE_BOOL, 2, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(1, 107, 111), ///< is_noai
|
||||
|
@@ -45,6 +45,7 @@ std::vector<uint32> _sl_xv_discardable_chunk_ids; ///< list of chunks
|
||||
static const uint32 _sl_xv_slxi_chunk_version = 0; ///< current version os SLXI chunk
|
||||
|
||||
const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = {
|
||||
{ XSLFI_INFRA_SHARING, XSCF_NULL, 1, 1, "infra_sharing", NULL, NULL, NULL },
|
||||
{ XSLFI_NULL, XSCF_NULL, 0, 0, NULL, NULL, NULL, NULL },// This is the end marker
|
||||
};
|
||||
|
||||
|
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
enum SlXvFeatureIndex {
|
||||
XSLFI_NULL = 0, ///< Unused value, to indicate that no extended feature test is in use
|
||||
XSLFI_INFRA_SHARING, ///< Infrastructure sharing patch
|
||||
|
||||
XSLFI_SIZE, ///< Total count of features, including null feature
|
||||
};
|
||||
|
@@ -1464,88 +1464,98 @@ from = 77
|
||||
def = true
|
||||
cat = SC_EXPERT
|
||||
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = economy.infrastructure_sharing[0]
|
||||
from = 200
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_RAIL
|
||||
proc = CheckSharingRail
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.rail""
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = economy.infrastructure_sharing[1]
|
||||
from = 200
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_ROAD
|
||||
proc = CheckSharingRoad
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.road""
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = economy.infrastructure_sharing[2]
|
||||
from = 200
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_WATER
|
||||
proc = CheckSharingWater
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.water""
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = economy.infrastructure_sharing[3]
|
||||
from = 200
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_AIR
|
||||
proc = CheckSharingAir
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.air""
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.sharing_fee[0]
|
||||
type = SLE_UINT
|
||||
from = 200
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_RAIL
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.rail""
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.sharing_fee[1]
|
||||
type = SLE_UINT
|
||||
from = 200
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_ROAD
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.road""
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.sharing_fee[2]
|
||||
type = SLE_UINT
|
||||
from = 200
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_ROAD
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_WATER
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.water""
|
||||
|
||||
[SDT_VAR]
|
||||
base = GameSettings
|
||||
var = economy.sharing_fee[3]
|
||||
type = SLE_UINT
|
||||
from = 200
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_AIR
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.air""
|
||||
|
||||
[SDT_BOOL]
|
||||
base = GameSettings
|
||||
var = economy.sharing_payment_in_debt
|
||||
from = 200
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_PAYMENT_IN_DEBT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_payment_in_debt""
|
||||
|
||||
; previously ai-new setting.
|
||||
[SDT_NULL]
|
||||
|
Reference in New Issue
Block a user