diff options
author | glx <glx@openttd.org> | 2006-09-05 16:40:23 +0000 |
---|---|---|
committer | glx <glx@openttd.org> | 2006-09-05 16:40:23 +0000 |
commit | ec6189081dc0cf7931fddd2fb1d5a32b86b4b9e4 (patch) | |
tree | 45dd58459fce99a444dcbfe6d4ba4c0bf94ac317 | |
parent | 85a71fcea96bc48b59e9784368214c3fd3089706 (diff) | |
download | openttd-ec6189081dc0cf7931fddd2fb1d5a32b86b4b9e4.tar.xz |
(svn r6395) -Fix: when converting a depot from/to elrail, update the power of trains that are in it
-rw-r--r-- | rail_cmd.c | 15 | ||||
-rw-r--r-- | train_cmd.c | 1 |
2 files changed, 14 insertions, 2 deletions
diff --git a/rail_cmd.c b/rail_cmd.c index 056578601..52a3bd058 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -31,6 +31,7 @@ #include "yapf/yapf.h" #include "newgrf_callbacks.h" #include "newgrf_station.h" +#include "train.h" const byte _track_sloped_sprites[14] = { 14, 15, 22, 13, @@ -886,13 +887,23 @@ static int32 DoConvertRail(TileIndex tile, RailType totype, bool exec) for (tracks = GetTrackBits(tile); tracks != TRACK_BIT_NONE; tracks = KILL_FIRST_BIT(tracks)) YapfNotifyTrackLayoutChange(tile, FIND_FIRST_BIT(tracks)); - /* Update build vehicle window related to this depot */ if (IsTileDepotType(tile, TRANSPORT_RAIL)) { - Window *w = FindWindowById(WC_BUILD_VEHICLE, tile); + Vehicle *v; + Window *w; + + /* Update build vehicle window related to this depot */ + w = FindWindowById(WC_BUILD_VEHICLE, tile); if (w != NULL) { WP(w,buildtrain_d).railtype = totype; SetWindowDirty(w); } + + /* update power of trains in this depot */ + FOR_ALL_VEHICLES(v) { + if (v->type == VEH_Train && IsFrontEngine(v) && v->tile == tile && v->u.rail.track == 0x80) { + TrainPowerChanged(v); + } + } } } diff --git a/train_cmd.c b/train_cmd.c index 70ba47499..7780faf52 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -113,6 +113,7 @@ void TrainPowerChanged(Vehicle* v) if (v->u.rail.cached_power != power) { v->u.rail.cached_power = power; InvalidateWindow(WC_VEHICLE_DETAILS, v->index); + InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, STATUS_BAR); } } |