From f1377a228fbe6ed5e6393c5428970742c520340e Mon Sep 17 00:00:00 2001 From: yexo Date: Sun, 13 Feb 2011 20:45:17 +0000 Subject: [PATCH] (svn r22073) -Fix: immediately update the train weight when you change the multiplier for train cargo weight --- src/settings.cpp | 11 +++++++++++ src/table/settings.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/settings.cpp b/src/settings.cpp index ded3b441e1..e4bc9f336c 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1146,6 +1146,17 @@ static bool StationCatchmentChanged(int32 p1) return true; } + +static bool MarkAllTrainsDirty(int32 p1) +{ + Train *t; + FOR_ALL_TRAINS(t) { + if (t->IsPrimaryVehicle()) t->MarkDirty(); + } + SetWindowClassesDirty(WC_VEHICLE_DETAILS); + return true; +} + #ifdef ENABLE_NETWORK static bool UpdateClientName(int32 p1) diff --git a/src/table/settings.h b/src/table/settings.h index e9597ca579..e73ae21cbb 100644 --- a/src/table/settings.h +++ b/src/table/settings.h @@ -43,6 +43,7 @@ static bool InvalidateCompanyLiveryWindow(int32 p1); static bool InvalidateNewGRFChangeWindows(int32 p1); static bool InvalidateIndustryViewWindow(int32 p1); static bool RedrawTownAuthority(int32 p1); +static bool MarkAllTrainsDirty(int32 p1); #ifdef ENABLE_NETWORK static bool UpdateClientName(int32 p1); @@ -422,7 +423,7 @@ const SettingDesc _settings[] = { SDT_BOOL(GameSettings, order.no_servicing_if_no_breakdowns, 0, 0, true, STR_CONFIG_SETTING_NOSERVICE, NULL), SDT_BOOL(GameSettings, vehicle.wagon_speed_limits, 0,NN, true, STR_CONFIG_SETTING_WAGONSPEEDLIMITS, UpdateConsists), SDT_CONDBOOL(GameSettings, vehicle.disable_elrails, 38, SL_MAX_VERSION, 0,NN, false, STR_CONFIG_SETTING_DISABLE_ELRAILS, SettingsDisableElrail), - SDT_CONDVAR(GameSettings, vehicle.freight_trains, SLE_UINT8, 39, SL_MAX_VERSION, 0,NN, 1, 1, 255, 1, STR_CONFIG_SETTING_FREIGHT_TRAINS, NULL), + SDT_CONDVAR(GameSettings, vehicle.freight_trains, SLE_UINT8, 39, SL_MAX_VERSION, 0,NN, 1, 1, 255, 1, STR_CONFIG_SETTING_FREIGHT_TRAINS, MarkAllTrainsDirty), SDT_CONDNULL( 1, 67, 158), // order.timetabling SDT_CONDVAR(GameSettings, vehicle.plane_speed, SLE_UINT8, 90, SL_MAX_VERSION, 0,NN, 4, 1, 4, 0, STR_CONFIG_SETTING_PLANE_SPEED, NULL), SDT_CONDBOOL(GameSettings, vehicle.dynamic_engines, 95, SL_MAX_VERSION, 0,NN, true, STR_CONFIG_SETTING_DYNAMIC_ENGINES, ChangeDynamicEngines),