summaryrefslogtreecommitdiff
path: root/src/train.h
diff options
context:
space:
mode:
authorterkhen <terkhen@openttd.org>2011-01-19 18:42:54 +0000
committerterkhen <terkhen@openttd.org>2011-01-19 18:42:54 +0000
commit613743538d3946888660a5dd413e463f2052d6a9 (patch)
tree6b3416a1034bc952be65681f7aad84a2390ccd92 /src/train.h
parentcfbbcf159736e18965ac7b187ca9a11b712edc65 (diff)
downloadopenttd-613743538d3946888660a5dd413e463f2052d6a9.tar.xz
(svn r21859) -Codechange: Move train subtype flags to GroundVehicle.
Diffstat (limited to 'src/train.h')
-rw-r--r--src/train.h50
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.