diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 056abaa97d..bf043192e9 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -9995,7 +9995,7 @@ static void InitializeGRFSpecial() | (1U << 0x1F); // any switch is on _ttdpatch_flags[4] = (1U << 0x00) // larger persistent storage - | ((_settings_game.economy.inflation ? 1U : 0U) << 0x01); // inflation is on + | ((_settings_game.economy.inflation && !_settings_game.economy.disable_inflation_newgrf_flag ? 1U : 0U) << 0x01); // inflation is on MemSetT(_observed_ttdpatch_flags, 0, lengthof(_observed_ttdpatch_flags)); } diff --git a/src/settings_type.h b/src/settings_type.h index 23fd83ba8e..e062bee9eb 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -701,6 +701,7 @@ struct EconomySettings { bool infrastructure_maintenance; ///< enable monthly maintenance fee for owner infrastructure uint8 day_length_factor; ///< factor which the length of day is multiplied uint16 random_road_reconstruction; ///< chance out of 1000 per tile loop for towns to start random road re-construction + bool disable_inflation_newgrf_flag; ///< Disable NewGRF inflation flag }; struct LinkGraphSettings { diff --git a/src/table/settings/settings.ini b/src/table/settings/settings.ini index 39f6d91f72..741d55faec 100644 --- a/src/table/settings/settings.ini +++ b/src/table/settings/settings.ini @@ -3193,6 +3193,12 @@ strval = STR_JUST_COMMA cat = SC_BASIC patxname = ""economy.random_road_reconstruction"" +[SDT_BOOL] +var = economy.disable_inflation_newgrf_flag +def = false +cat = SC_EXPERT +patxname = ""economy.disable_inflation_newgrf_flag"" + ## [SDT_VAR] var = pf.wait_for_pbs_path