diff options
author | terkhen <terkhen@openttd.org> | 2011-01-19 18:42:54 +0000 |
---|---|---|
committer | terkhen <terkhen@openttd.org> | 2011-01-19 18:42:54 +0000 |
commit | 613743538d3946888660a5dd413e463f2052d6a9 (patch) | |
tree | 6b3416a1034bc952be65681f7aad84a2390ccd92 /src/train.h | |
parent | cfbbcf159736e18965ac7b187ca9a11b712edc65 (diff) | |
download | openttd-613743538d3946888660a5dd413e463f2052d6a9.tar.xz |
(svn r21859) -Codechange: Move train subtype flags to GroundVehicle.
Diffstat (limited to 'src/train.h')
-rw-r--r-- | src/train.h | 50 |
1 files changed, 18 insertions, 32 deletions
diff --git a/src/train.h b/src/train.h index fcdadc481..55c273faa 100644 --- a/src/train.h +++ b/src/train.h @@ -138,109 +138,95 @@ struct Train : public GroundVehicle<Train, VEH_TRAIN> { int GetCurrentMaxSpeed() const; /** - * enum to handle train subtypes - * Do not access it directly unless you have to. Use the access functions below - * This is an enum to tell what bit to access as it is a bitmask - */ - enum TrainSubtype { - TS_FRONT = 0, ///< Leading engine of a train - TS_ARTICULATED_PART = 1, ///< Articulated part of an engine - TS_WAGON = 2, ///< Wagon - TS_ENGINE = 3, ///< Engine that can be front engine, but might be placed behind another engine. - TS_FREE_WAGON = 4, ///< First in a wagon chain (in depot) - TS_MULTIHEADED = 5, ///< Engine is multiheaded - }; - - /** * Set front engine state */ - FORCEINLINE void SetFrontEngine() { SetBit(this->subtype, TS_FRONT); } + FORCEINLINE void SetFrontEngine() { SetBit(this->subtype, GVSF_FRONT); } /** * Remove the front engine state */ - FORCEINLINE void ClearFrontEngine() { ClrBit(this->subtype, TS_FRONT); } + FORCEINLINE void ClearFrontEngine() { ClrBit(this->subtype, GVSF_FRONT); } /** * Set a vehicle to be an articulated part */ - FORCEINLINE void SetArticulatedPart() { SetBit(this->subtype, TS_ARTICULATED_PART); } + FORCEINLINE void SetArticulatedPart() { SetBit(this->subtype, GVSF_ARTICULATED_PART); } /** * Clear a vehicle from being an articulated part */ - FORCEINLINE void ClearArticulatedPart() { ClrBit(this->subtype, TS_ARTICULATED_PART); } + FORCEINLINE void ClearArticulatedPart() { ClrBit(this->subtype, GVSF_ARTICULATED_PART); } /** * Set a vehicle to be a wagon */ - FORCEINLINE void SetWagon() { SetBit(this->subtype, TS_WAGON); } + FORCEINLINE void SetWagon() { SetBit(this->subtype, GVSF_WAGON); } /** * Clear wagon property */ - FORCEINLINE void ClearWagon() { ClrBit(this->subtype, TS_WAGON); } + FORCEINLINE void ClearWagon() { ClrBit(this->subtype, GVSF_WAGON); } /** * Set engine status */ - FORCEINLINE void SetEngine() { SetBit(this->subtype, TS_ENGINE); } + FORCEINLINE void SetEngine() { SetBit(this->subtype, GVSF_ENGINE); } /** * Clear engine status */ - FORCEINLINE void ClearEngine() { ClrBit(this->subtype, TS_ENGINE); } + FORCEINLINE void ClearEngine() { ClrBit(this->subtype, GVSF_ENGINE); } /** * Set if a vehicle is a free wagon */ - FORCEINLINE void SetFreeWagon() { SetBit(this->subtype, TS_FREE_WAGON); } + FORCEINLINE void SetFreeWagon() { SetBit(this->subtype, GVSF_FREE_WAGON); } /** * Clear a vehicle from being a free wagon */ - FORCEINLINE void ClearFreeWagon() { ClrBit(this->subtype, TS_FREE_WAGON); } + FORCEINLINE void ClearFreeWagon() { ClrBit(this->subtype, GVSF_FREE_WAGON); } /** * Set if a vehicle is a multiheaded engine */ - FORCEINLINE void SetMultiheaded() { SetBit(this->subtype, TS_MULTIHEADED); } + FORCEINLINE void SetMultiheaded() { SetBit(this->subtype, GVSF_MULTIHEADED); } /** * Clear multiheaded engine property */ - FORCEINLINE void ClearMultiheaded() { ClrBit(this->subtype, TS_MULTIHEADED); } + FORCEINLINE void ClearMultiheaded() { ClrBit(this->subtype, GVSF_MULTIHEADED); } /** * Check if train is a front engine * @return Returns true if train is a front engine */ - FORCEINLINE bool IsFrontEngine() const { return HasBit(this->subtype, TS_FRONT); } + FORCEINLINE bool IsFrontEngine() const { return HasBit(this->subtype, GVSF_FRONT); } /** * Check if train is a free wagon (got no engine in front of it) * @return Returns true if train is a free wagon */ - FORCEINLINE bool IsFreeWagon() const { return HasBit(this->subtype, TS_FREE_WAGON); } + FORCEINLINE bool IsFreeWagon() const { return HasBit(this->subtype, GVSF_FREE_WAGON); } /** * Check if a vehicle is an engine (can be first in a train) * @return Returns true if vehicle is an engine */ - FORCEINLINE bool IsEngine() const { return HasBit(this->subtype, TS_ENGINE); } + FORCEINLINE bool IsEngine() const { return HasBit(this->subtype, GVSF_ENGINE); } /** * Check if a train is a wagon * @return Returns true if vehicle is a wagon */ - FORCEINLINE bool IsWagon() const { return HasBit(this->subtype, TS_WAGON); } + FORCEINLINE bool IsWagon() const { return HasBit(this->subtype, GVSF_WAGON); } /** * Check if train is a multiheaded engine * @return Returns true if vehicle is a multiheaded engine */ - FORCEINLINE bool IsMultiheaded() const { return HasBit(this->subtype, TS_MULTIHEADED); } + FORCEINLINE bool IsMultiheaded() const { return HasBit(this->subtype, GVSF_MULTIHEADED); } /** * Tell if we are dealing with the rear end of a multiheaded engine. @@ -252,7 +238,7 @@ struct Train : public GroundVehicle<Train, VEH_TRAIN> { * Check if train is an articulated part of an engine * @return Returns true if train is an articulated part */ - FORCEINLINE bool IsArticulatedPart() const { return HasBit(this->subtype, TS_ARTICULATED_PART); } + FORCEINLINE bool IsArticulatedPart() const { return HasBit(this->subtype, GVSF_ARTICULATED_PART); } /** * Check if an engine has an articulated part. |