summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryexo <yexo@openttd.org>2011-02-13 20:45:17 +0000
committeryexo <yexo@openttd.org>2011-02-13 20:45:17 +0000
commitf1377a228fbe6ed5e6393c5428970742c520340e (patch)
tree234b4e68c4ac851d9bb4281f7fbd12fb9353b564
parent6a58f3487860dafde6f9b3653e75b78f74108f02 (diff)
downloadopenttd-f1377a228fbe6ed5e6393c5428970742c520340e.tar.xz
(svn r22073) -Fix: immediately update the train weight when you change the multiplier for train cargo weight
-rw-r--r--src/settings.cpp11
-rw-r--r--src/table/settings.h3
2 files changed, 13 insertions, 1 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index ded3b441e..e4bc9f336 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 e9597ca57..e73ae21cb 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),