diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 318ee3f3da..9c0e87da12 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -474,7 +474,7 @@ static void HandleCloneVehClick(const Vehicle *v, const Window *w) if (v == NULL) return; - if (v->HasFront() && !v->IsPrimaryVehicle()) { + if (!v->IsPrimaryVehicle()) { v = v->First(); /* Do nothing when clicking on a train in depot with no loc attached */ if (v->type == VEH_TRAIN && !IsFrontEngine(v)) return; diff --git a/src/group_cmd.cpp b/src/group_cmd.cpp index 7942d406e8..2726c59f91 100644 --- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -354,7 +354,7 @@ CommandCost CmdSetGroupReplaceProtection(TileIndex tile, uint32 flags, uint32 p1 */ void RemoveVehicleFromGroup(const Vehicle *v) { - if (!v->IsValid() || !(v->HasFront() && v->IsPrimaryVehicle())) return; + if (!v->IsValid() || !v->IsPrimaryVehicle()) return; if (!IsDefaultGroupID(v->group_id)) DecreaseGroupNumVehicle(v->group_id); } diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 9272a6d52f..76e4982db4 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -509,8 +509,6 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by switch (variable) { case 0x40: // Get length of consist case 0x41: // Get length of same consecutive wagons - if (!v->HasFront()) return 1; - { const Vehicle* u; byte chain_before = 0; @@ -832,7 +830,7 @@ static inline void NewVehicleResolver(ResolverObject *res, EngineID engine_type, res->ResolveReal = &VehicleResolveReal; res->u.vehicle.self = v; - res->u.vehicle.parent = (v != NULL && v->HasFront()) ? v->First() : v; + res->u.vehicle.parent = (v != NULL) ? v->First() : v; res->u.vehicle.self_type = engine_type; diff --git a/src/order_gui.cpp b/src/order_gui.cpp index 0bf98f2401..2dd5714a8f 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -355,7 +355,7 @@ static bool HandleOrderVehClick(const Vehicle *v, const Vehicle *u, Window *w) { if (u->type != v->type) return false; - if (u->HasFront() && !u->IsPrimaryVehicle()) { + if (!u->IsPrimaryVehicle()) { u = u->First(); if (!u->IsPrimaryVehicle()) return false; } diff --git a/src/roadveh.h b/src/roadveh.h index 1c545ea436..46e14bac49 100644 --- a/src/roadveh.h +++ b/src/roadveh.h @@ -69,7 +69,6 @@ struct RoadVehicle : public Vehicle { ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_ROADVEH_INC : EXPENSES_ROADVEH_RUN; } WindowClass GetVehicleListWindowClass() const { return WC_ROADVEH_LIST; } bool IsPrimaryVehicle() const { return IsRoadVehFront(this); } - bool HasFront() const { return true; } int GetImage(Direction direction) const; int GetDisplaySpeed() const { return this->cur_speed * 10 / 32; } int GetDisplayMaxSpeed() const { return this->max_speed * 10 / 32; } diff --git a/src/train.h b/src/train.h index 1751e07e7d..51c6bf2a88 100644 --- a/src/train.h +++ b/src/train.h @@ -296,7 +296,6 @@ struct Train : public Vehicle { WindowClass GetVehicleListWindowClass() const { return WC_TRAINS_LIST; } void PlayLeaveStationSound() const; bool IsPrimaryVehicle() const { return IsFrontEngine(this); } - bool HasFront() const { return true; } int GetImage(Direction direction) const; int GetDisplaySpeed() const { return this->u.rail.last_speed * 10 / 16; } int GetDisplayMaxSpeed() const { return this->u.rail.cached_max_speed * 10 / 16; } diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 33f28a5400..87abd7470d 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -1369,7 +1369,7 @@ static uint32 VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y } else if (IsBridge(tile)) { // XXX is this necessary? DiagDirection dir; - if (v->HasFront() && v->IsPrimaryVehicle()) { + if (v->IsPrimaryVehicle()) { /* modify speed of vehicle */ uint16 spd = _bridge[GetBridgeType(tile)].speed; diff --git a/src/vehicle.h b/src/vehicle.h index 509a87e4c5..7b2b230fc4 100644 --- a/src/vehicle.h +++ b/src/vehicle.h @@ -420,12 +420,6 @@ public: */ virtual bool IsPrimaryVehicle() const { return false; } - /** - * Whether this vehicle understands the concept of a front engine, so - * basically, if GetFirstVehicleInChain() can be called for it. - */ - virtual bool HasFront() const { return false; } - /** * Gets the sprite to show for the given direction * @param direction the direction the vehicle is facing