diff options
-rw-r--r-- | src/roadveh.h | 2 | ||||
-rw-r--r-- | src/roadveh_cmd.cpp | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/roadveh.h b/src/roadveh.h index 6358cef7f..6205f4b55 100644 --- a/src/roadveh.h +++ b/src/roadveh.h @@ -112,7 +112,7 @@ struct RoadVehicle FINAL : public GroundVehicle<RoadVehicle, VEH_ROAD> { int GetDisplayMaxSpeed() const { return this->vcache.cached_max_speed / 2; } Money GetRunningCost() const; int GetDisplayImageWidth(Point *offset = NULL) const; - bool IsInDepot() const { return this->state == RVSB_IN_DEPOT; } + bool IsInDepot() const; bool IsStoppedInDepot() const; bool Tick(); void OnNewDay(); diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index f29efb60a..2c06f7897 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -308,10 +308,15 @@ CommandCost CmdBuildRoadVehicle(TileIndex tile, DoCommandFlag flags, const Engin bool RoadVehicle::IsStoppedInDepot() const { - TileIndex tile = this->tile; + if (this->IsFrontEngine() && !(this->vehstatus & VS_STOPPED)) return false; + + return this->IsInDepot(); +} +bool RoadVehicle::IsInDepot() const +{ + TileIndex tile = this->tile; if (!IsRoadDepotTile(tile)) return false; - if (this->IsFrontEngine() && !(this->vehstatus & VS_STOPPED)) return false; for (const RoadVehicle *v = this; v != NULL; v = v->Next()) { if (v->state != RVSB_IN_DEPOT || v->tile != tile) return false; |