File diff r12289:a05fa9e13224 → r12290:442d5d533a57
src/train.h
Show inline comments
 
@@ -51,17 +51,6 @@ enum TrainSubtype {
 
	TS_MULTIHEADED       = 5, ///< Engine is a multiheaded
 
};
 

	
 

	
 
/** Check if a vehicle is front engine
 
 * @param v vehicle to check
 
 * @return Returns true if vehicle is a front engine
 
 */
 
static inline bool IsFrontEngine(const Vehicle *v)
 
{
 
	assert(v->type == VEH_TRAIN);
 
	return HasBit(v->subtype, TS_FRONT);
 
}
 

	
 
/** Set front engine state
 
 * @param v vehicle to change
 
 */
 
@@ -324,7 +313,7 @@ struct Train : public SpecializedVehicle
 
	void UpdateDeltaXY(Direction direction);
 
	ExpensesType GetExpenseType(bool income) const { return income ? EXPENSES_TRAIN_INC : EXPENSES_TRAIN_RUN; }
 
	void PlayLeaveStationSound() const;
 
	bool IsPrimaryVehicle() const { return IsFrontEngine(this); }
 
	bool IsPrimaryVehicle() const { return this->IsFrontEngine(); }
 
	SpriteID GetImage(Direction direction) const;
 
	int GetDisplaySpeed() const { return this->tcache.last_speed; }
 
	int GetDisplayMaxSpeed() const { return this->tcache.cached_max_speed; }
 
@@ -336,6 +325,13 @@ struct Train : public SpecializedVehicle
 
	Trackdir GetVehicleTrackdir() const;
 
	TileIndex GetOrderStationLocation(StationID station);
 
	bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse);
 

	
 
	/**
 
	 * Check if a vehicle is front engine
 
	 * @param v vehicle to check
 
	 * @return Returns true if vehicle is a front engine
 
	 */
 
	FORCEINLINE bool IsFrontEngine() const { return HasBit(this->subtype, TS_FRONT); }
 
};
 

	
 
#define FOR_ALL_TRAINS(var) FOR_ALL_VEHICLES_OF_TYPE(Train, var)