summaryrefslogtreecommitdiff
path: root/src/rail_cmd.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-07-01 23:57:20 +0000
committersmatz <smatz@openttd.org>2009-07-01 23:57:20 +0000
commitd86e17d65adebad6f0213451b99645be3494ea45 (patch)
tree9e09a7d8cff8a641c8ee90ad463362fe534e6e44 /src/rail_cmd.cpp
parentecfaa0564d9588b9f6826b1033d93b827751f410 (diff)
downloadopenttd-d86e17d65adebad6f0213451b99645be3494ea45.tar.xz
(svn r16719) -Codechange: make IsArticulatedPart(), IsTrainEngine(), IsTrainWagon(), IsMultiheaded(), EngineHasArticPart() and IsRearDualheaded() members of Train
Diffstat (limited to 'src/rail_cmd.cpp')
-rw-r--r--src/rail_cmd.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp
index b3cd88546..aa2187c81 100644
--- a/src/rail_cmd.cpp
+++ b/src/rail_cmd.cpp
@@ -1232,12 +1232,15 @@ CommandCost CmdRemoveSignalTrack(TileIndex tile, DoCommandFlag flags, uint32 p1,
/** Update power of train under which is the railtype being converted */
Vehicle *UpdateTrainPowerProc(Vehicle *v, void *data)
{
+ if (v->type != VEH_TRAIN) return NULL;
+
/* Similiar checks as in TrainPowerChanged() */
- if (v->type == VEH_TRAIN && !IsArticulatedPart(v)) {
- const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
- if (GetVehicleProperty(v, 0x0B, rvi->power) != 0) TrainPowerChanged(Train::From(v)->First());
- }
+ Train *t = Train::From(v);
+ if (t->IsArticulatedPart()) return NULL;
+
+ const RailVehicleInfo *rvi = RailVehInfo(t->engine_type);
+ if (GetVehicleProperty(t, 0x0B, rvi->power) != 0) TrainPowerChanged(t->First());
return NULL;
}