From 9626e0bf2bb87c7e0957b65069527c26b0da4a34 Mon Sep 17 00:00:00 2001 From: terkhen Date: Sat, 29 Jan 2011 17:26:23 +0000 Subject: (svn r21922) -Codechange: Unify articulated vehicle checking functions. --- src/ground_vehicle.hpp | 18 ------------------ src/vehicle_base.h | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/ground_vehicle.hpp b/src/ground_vehicle.hpp index e3fdb918b..c2bd97151 100644 --- a/src/ground_vehicle.hpp +++ b/src/ground_vehicle.hpp @@ -302,12 +302,6 @@ struct GroundVehicle : public SpecializedVehicle { */ FORCEINLINE void ClearMultiheaded() { ClrBit(this->subtype, GVSF_MULTIHEADED); } - /** - * Check if the vehicle is a front engine. - * @return Returns true if the vehicle is a front engine. - */ - FORCEINLINE bool IsFrontEngine() const { return HasBit(this->subtype, GVSF_FRONT); } - /** * Check if the vehicle is a free wagon (got no engine in front of it). * @return Returns true if the vehicle is a free wagon. @@ -338,18 +332,6 @@ struct GroundVehicle : public SpecializedVehicle { */ FORCEINLINE bool IsRearDualheaded() const { return this->IsMultiheaded() && !this->IsEngine(); } - /** - * Check if the vehicle is an articulated part of an engine. - * @return Returns true if the vehicle is an articulated part. - */ - FORCEINLINE bool IsArticulatedPart() const { return HasBit(this->subtype, GVSF_ARTICULATED_PART); } - - /** - * Check if an engine has an articulated part. - * @return True if the engine has an articulated part. - */ - FORCEINLINE bool HasArticulatedPart() const { return this->Next() != NULL && this->Next()->IsArticulatedPart(); } - /** * Update the GUI variant of the current speed of the vehicle. * Also mark the widget dirty when that is needed, i.e. when diff --git a/src/vehicle_base.h b/src/vehicle_base.h index cc5e332d3..d63d97b89 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -644,6 +644,33 @@ public: bool IsEngineCountable() const; bool HasDepotOrder() const; void HandlePathfindingResult(bool path_found); + + /** + * Check if the vehicle is a front engine. + * @return Returns true if the vehicle is a front engine. + */ + FORCEINLINE bool IsFrontEngine() const + { + return this->IsGroundVehicle() && HasBit(this->subtype, GVSF_FRONT); + } + + /** + * Check if the vehicle is an articulated part of an engine. + * @return Returns true if the vehicle is an articulated part. + */ + FORCEINLINE bool IsArticulatedPart() const + { + return this->IsGroundVehicle() && HasBit(this->subtype, GVSF_ARTICULATED_PART); + } + + /** + * Check if an engine has an articulated part. + * @return True if the engine has an articulated part. + */ + FORCEINLINE bool HasArticulatedPart() const + { + return this->Next() != NULL && this->Next()->IsArticulatedPart(); + } }; #define FOR_ALL_VEHICLES_FROM(var, start) FOR_ALL_ITEMS_FROM(Vehicle, vehicle_index, var, start) -- cgit v1.2.3-54-g00ecf