OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields | Protected Member Functions | Friends
RoadVehicle Struct Reference

Buses, trucks and trams belong to this class. More...

`#include <roadveh.h>`

Inheritance diagram for RoadVehicle:

## Public Member Functions
| RoadVehicle ()
| We don't want GCC to zero our struct! It already is zeroed and has an index!
virtual | ~RoadVehicle ()
| We want to 'destruct' the right class.
void | MarkDirty ()
| Marks the vehicles to be redrawn and updates cached variables.
void | UpdateDeltaXY (Direction direction)
| Updates the x and y offsets and the size of the sprite used for this vehicle.
ExpensesType | GetExpenseType (bool income) const
| Sets the expense type associated to this vehicle type.
bool | IsPrimaryVehicle () const
| Whether this is the primary vehicle in the chain.
SpriteID | GetImage (Direction direction, EngineImageType image_type) const
| Gets the sprite to show for the given direction.
int | GetDisplaySpeed () const
| Gets the speed in km-ish/h that can be sent into SetDParam for string processing.
int | GetDisplayMaxSpeed () const
| Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing.
Money | GetRunningCost () const
| Gets the running cost of a vehicle.
int | GetDisplayImageWidth (Point *offset=NULL) const
| Get the width of a road vehicle image in the GUI.
bool | IsInDepot () const
| Check whether the vehicle is in the depot.
bool | Tick ()
| Calls the tick handler of the vehicle.
void | OnNewDay ()
| Calls the new day handler of the vehicle.
uint | Crash (bool flooded=false)
| Common code executed for crashed ground vehicles.
Trackdir | GetVehicleTrackdir () const
| Returns the Trackdir on which the vehicle is currently located.
TileIndex | GetOrderStationLocation (StationID station)
| Determine the location for the station where the vehicle goes to next.
bool | FindClosestDepot (TileIndex *location, DestinationID *destination, bool *reverse)
| Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.
bool | IsBus () const
| Check whether a roadvehicle is a bus.
int | GetCurrentMaxSpeed () const
| Calculates the maximum speed of the vehicle under its current conditions.
int | UpdateSpeed ()
| This function looks at the vehicle and updates its speed (cur_speed and subspeed) variables.
Public Member Functions inherited from GroundVehicle< RoadVehicle, VEH_ROAD >
| GroundVehicle ()
| The constructor at SpecializedVehicle must be called.
void | PowerChanged ()
void | CargoChanged ()
int | GetAcceleration () const
bool | IsChainInDepot () const
| Check whether the whole vehicle chain is in the depot.
int64 | GetSlopeResistance () const
| Calculates the total slope resistance for this vehicle.
void | UpdateZPositionAndInclination ()
| Updates vehicle's Z position and inclination.
void | UpdateZPosition ()
| Updates vehicle's Z position.
int | UpdateInclination (bool new_tile, bool update_delta)
| Checks if the vehicle is in a slope and sets the required flags in that case.
void | SetFrontEngine ()
| Set front engine state.
void | ClearFrontEngine ()
| Remove the front engine state.
void | SetArticulatedPart ()
| Set a vehicle to be an articulated part.
void | ClearArticulatedPart ()
| Clear a vehicle from being an articulated part.
void | SetWagon ()
| Set a vehicle to be a wagon.
void | ClearWagon ()
| Clear wagon property.
void | SetEngine ()
| Set engine status.
void | ClearEngine ()
| Clear engine status.
void | SetFreeWagon ()
| Set a vehicle as a free wagon.
void | ClearFreeWagon ()
| Clear a vehicle from being a free wagon.
void | SetMultiheaded ()
| Set a vehicle as a multiheaded engine.
void | ClearMultiheaded ()
| Clear multiheaded engine property.
bool | IsFreeWagon () const
| Check if the vehicle is a free wagon (got no engine in front of it).
bool | IsEngine () const
| Check if a vehicle is an engine (can be first in a consist).
bool | IsWagon () const
| Check if a vehicle is a wagon.
bool | IsMultiheaded () const
| Check if the vehicle is a multiheaded engine.
bool | IsRearDualheaded () const
| Tell if we are dealing with the rear end of a multiheaded engine.
void | SetLastSpeed ()
| Update the GUI variant of the current speed of the vehicle.
Public Member Functions inherited from SpecializedVehicle< RoadVehicle, Type >
| SpecializedVehicle ()
| Set vehicle type correctly.
RoadVehicle * | First () const
| Get the first vehicle in the chain.
RoadVehicle * | Last ()
| Get the last vehicle in the chain.
const RoadVehicle * | Last () const
| Get the last vehicle in the chain.
RoadVehicle * | Next () const
| Get next vehicle in the chain.
RoadVehicle * | Previous () const
| Get previous vehicle in the chain.
RoadVehicle * | GetNextArticulatedPart ()
| Get the next part of an articulated engine.
RoadVehicle * | GetNextArticulatedPart () const
| Get the next part of an articulated engine.
RoadVehicle * | GetFirstEnginePart ()
| Get the first part of an articulated engine.
const RoadVehicle * | GetFirstEnginePart () const
| Get the first part of an articulated engine.
RoadVehicle * | GetLastEnginePart ()
| Get the last part of an articulated engine.
RoadVehicle * | GetNextVehicle () const
| Get the next real (non-articulated part) vehicle in the consist.
RoadVehicle * | GetPrevVehicle () const
| Get the previous real (non-articulated part) vehicle in the consist.
void | UpdateViewport (bool force_update, bool update_delta)
| Update vehicle sprite- and position caches.
Public Member Functions inherited from Vehicle
| Vehicle (VehicleType type=VEH_INVALID)
| Vehicle constructor.
void | PreDestructor ()
| Destroy all stuff that (still) needs the virtual functions to work properly.
virtual | ~Vehicle ()
| We want to 'destruct' the right class.
void | BeginLoading ()
| Prepare everything to begin the loading when arriving at a station.
void | CancelReservation (StationID next, Station *st)
| Return all reserved cargo packets to the station and reset all packets staged for transfer.
void | LeaveStation ()
| Perform all actions when leaving a station.
GroundVehicleCache * | GetGroundVehicleCache ()
| Access the ground vehicle cache of the vehicle.
const GroundVehicleCache * | GetGroundVehicleCache () const
| Access the ground vehicle cache of the vehicle.
uint16 & | GetGroundVehicleFlags ()
| Access the ground vehicle flags of the vehicle.
const uint16 & | GetGroundVehicleFlags () const
| Access the ground vehicle flags of the vehicle.
void | DeleteUnreachedImplicitOrders ()
| Delete all implicit orders which were not reached.
void | HandleLoading (bool mode=false)
| Handle the loading of the vehicle; when not it skips through dummy orders and does nothing in all other cases.
void | GetConsistFreeCapacities (SmallMap< CargoID, uint > &capacities) const
| Get a map of cargoes and free capacities in the consist.
uint | GetConsistTotalCapacity () const
uint | GetOldAdvanceSpeed (uint speed)
| Determines the effective direction-specific vehicle movement speed.
uint | GetAdvanceDistance ()
| Determines the vehicle "progress" needed for moving a step.
virtual void | PlayLeaveStationSound () const
| Play the sound associated with leaving the station.
const Engine * | GetEngine () const
| Retrieves the engine of the vehicle.
const GRFFile * | GetGRF () const
| Retrieve the NewGRF the vehicle is tied to.
uint32 | GetGRFID () const
| Retrieve the GRF ID of the NewGRF the vehicle is tied to.
void | InvalidateNewGRFCache ()
| Invalidates cached NewGRF variables.
void | InvalidateNewGRFCacheOfChain ()
| Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle)
bool | IsGroundVehicle () const
| Check if the vehicle is a ground vehicle.
bool | IsStoppedInDepot () const
| Check whether the vehicle is in the depot and stopped.
Money | GetDisplayRunningCost () const
| Gets the running cost of a vehicle that can be sent into SetDParam for string processing.
Money | GetDisplayProfitThisYear () const
| Gets the profit vehicle had this year.
Money | GetDisplayProfitLastYear () const
| Gets the profit vehicle had last year.
void | SetNext (Vehicle *next)
| Set the next vehicle of this vehicle.
Vehicle * | Move (int n)
| Get the vehicle at offset n of this vehicle chain.
const Vehicle * | Move (int n) const
| Get the vehicle at offset n of this vehicle chain.
Order * | GetFirstOrder () const
| Get the first order of the vehicles order list.
void | AddToShared (Vehicle *shared_chain)
| Adds this vehicle to a shared vehicle chain.
void | RemoveFromShared ()
| Removes the vehicle from the shared order list.
Vehicle * | NextShared () const
| Get the next vehicle of the shared vehicle chain.
Vehicle * | PreviousShared () const
| Get the previous vehicle of the shared vehicle chain.
Vehicle * | FirstShared () const
| Get the first vehicle of this vehicle chain.
bool | IsOrderListShared () const
| Check if we share our orders with another vehicle.
VehicleOrderID | GetNumOrders () const
| Get the number of orders this vehicle has.
VehicleOrderID | GetNumManualOrders () const
| Get the number of manually added orders this vehicle has.
StationIDStack | GetNextStoppingStation () const
| Get the next station the vehicle will stop at.
void | ResetRefitCaps ()
| Reset all refit_cap in the consist to cargo_cap.
void | CopyVehicleConfigAndStatistics (const Vehicle *src)
| Copy certain configurations and statistics of a vehicle after successful autoreplace/renew The function shall copy everything that cannot be copied by a command (like orders / group etc), and that shall not be resetted for the new vehicle.
bool | HandleBreakdown ()
| Handle all of the aspects of a vehicle breakdown This includes adding smoke and sounds, and ending the breakdown when appropriate.
bool | NeedsAutorenewing (const Company *c, bool use_renew_setting=true) const
| Function to tell if a vehicle needs to be autorenewed.
bool | NeedsServicing () const
| Check if the vehicle needs to go to a depot in near future (if a opportunity presents itself) for service or replacement.
bool | NeedsAutomaticServicing () const
| Checks if the current order should be interrupted for a service-in-depot order.
CommandCost | SendToDepot (DoCommandFlag flags, DepotCommand command)
| Send this vehicle to the depot using the given command(s).
void | UpdateVisualEffect (bool allow_power_change=true)
| Update the cached visual effect.
void | ShowVisualEffect () const
| Draw visual effects (smoke and/or sparks) for a vehicle chain.
void | UpdatePosition ()
| Update the position of the vehicle.
void | UpdateViewport (bool dirty)
| Update the vehicle on the viewport, updating the right hash and setting the new coordinates.
void | UpdatePositionAndViewport ()
| Update the position of the vehicle, and update the viewport.
void | MarkAllViewportsDirty () const
| Marks viewports dirty where the vehicle's image is.
uint16 | GetServiceInterval () const
void | SetServiceInterval (uint16 interval)
bool | ServiceIntervalIsCustom () const
bool | ServiceIntervalIsPercent () const
void | SetServiceIntervalIsCustom (bool on)
void | SetServiceIntervalIsPercent (bool on)
void | IncrementImplicitOrderIndex ()
| Increments cur_implicit_order_index, keeps care of the wrap-around and invalidates the GUI.
void | IncrementRealOrderIndex ()
| Advanced cur_real_order_index to the next real order, keeps care of the wrap-around and invalidates the GUI.
void | UpdateRealOrderIndex ()
| Skip implicit orders until cur_real_order_index is a non-implicit order.
Order * | GetOrder (int index) const
| Returns order 'index' of a vehicle or NULL when it doesn't exists.
Order * | GetLastOrder () const
| Returns the last order of a vehicle, or NULL if it doesn't exists.
bool | IsEngineCountable () const
| Check if a vehicle is counted in num_engines in each company struct.
bool | HasEngineType () const
| Check whether Vehicle::engine_type has any meaning.
bool | HasDepotOrder () const
| Checks if a vehicle has a depot in its order list.
void | HandlePathfindingResult (bool path_found)
| Handle the pathfinding result, especially the lost status.
bool | IsFrontEngine () const
| Check if the vehicle is a front engine.
bool | IsArticulatedPart () const
| Check if the vehicle is an articulated part of an engine.
bool | HasArticulatedPart () const
| Check if an engine has an articulated part.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, size_t index)
| Allocates space for new Titem with given index.
void * | operator new (size_t size, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p)
| Marks Titem as free.
Public Member Functions inherited from BaseConsist
void | CopyConsistPropertiesFrom (const BaseConsist *src)
| Copy properties of other BaseConsist.

## Data Fields
byte | state
byte | frame
uint16 | blocked_ctr
byte | overtaking
| Set to RVSB_DRIVE_SIDE when overtaking, otherwise 0.
byte | overtaking_ctr
| The length of the current overtake attempt.
uint16 | crashed_ctr
| Animation counter when the vehicle has crashed.
byte | reverse_ctr
RoadType | roadtype
RoadTypes | compatible_roadtypes
Data Fields inherited from GroundVehicle< RoadVehicle, VEH_ROAD >
GroundVehicleCache | gcache
| Cache of often calculated values.
uint16 | gv_flags

## Protected Member Functions
uint16 | GetPower () const
| Allows to know the power value that this vehicle will use.
uint16 | GetPoweredPartPower (const RoadVehicle *head) const
| Returns a value if this articulated part is powered.
uint16 | GetWeight () const
| Allows to know the weight value that this vehicle will use.
byte | GetTractiveEffort () const
| Allows to know the tractive effort value that this vehicle will use.
byte | GetAirDragArea () const
| Gets the area used for calculating air drag.
byte | GetAirDrag () const
| Gets the air drag coefficient of this vehicle.
AccelStatus | GetAccelerationStatus () const
| Checks the current acceleration status of this vehicle.
uint16 | GetCurrentSpeed () const
| Calculates the current speed of this vehicle.
uint32 | GetRollingFriction () const
| Returns the rolling friction coefficient of this vehicle.
int | GetAccelerationType () const
| Allows to know the acceleration type of a vehicle.
uint32 | GetSlopeSteepness () const
| Returns the slope steepness used by this vehicle.
uint16 | GetMaxTrackSpeed () const
| Gets the maximum speed allowed by the track for this vehicle.
bool | TileMayHaveSlopedTrack () const
| Checks if the vehicle is at a tile that can be sloped.
bool | HasToUseGetSlopePixelZ ()
| Road vehicles have to use GetSlopePixelZ() to compute their height if they are reversing because in that case, their direction is not parallel with the road.
Protected Member Functions inherited from GroundVehicle< RoadVehicle, VEH_ROAD >
uint | DoUpdateSpeed (uint accel, int min_speed, int max_speed)
| Update the speed of the vehicle.

## Friends
struct | GroundVehicle< RoadVehicle, VEH_ROAD >

## Additional Inherited Members
Public Types inherited from GroundVehicle< RoadVehicle, VEH_ROAD >
typedef GroundVehicle < RoadVehicle, Type > | GroundVehicleBase
| Our type.
Static Public Member Functions inherited from SpecializedVehicle< RoadVehicle, Type >
static bool | IsValidID (size_t index)
| Tests whether given index is a valid index for vehicle of this type.
static RoadVehicle * | Get (size_t index)
| Gets vehicle with given index.
static RoadVehicle * | GetIfValid (size_t index)
| Returns vehicle if the index is a valid index for this vehicle type.
static RoadVehicle * | From (Vehicle *v)
| Converts a Vehicle to SpecializedVehicle with type checking.
static const RoadVehicle * | From (const Vehicle *v)
| Converts a const Vehicle to const SpecializedVehicle with type checking.
Static Public Attributes inherited from SpecializedVehicle< RoadVehicle, Type >
static const VehicleType | EXPECTED_TYPE
| Specialized type.

## Detailed Description

Buses, trucks and trams belong to this class.

Definition at line 88 of file roadveh.h.

## Constructor & Destructor Documentation

virtual RoadVehicle::~RoadVehicle | ( |  | ) |
| inline virtual

We want to 'destruct' the right class.

Definition at line 103 of file roadveh.h.

References Vehicle::PreDestructor().

## Member Function Documentation

uint RoadVehicle::Crash | ( | bool | flooded = `false` | ) |
| virtual

Common code executed for crashed ground vehicles.

Parameters

  flooded | was this vehicle flooded?

Returns
  number of victims

Reimplemented from GroundVehicle< RoadVehicle, VEH_ROAD >.

Definition at line 537 of file roadveh_cmd.cpp.

References GroundVehicle< T, Type >::Crash(), crashed_ctr, RoadStop::GetByTile(), GetRoadStopType(), Vehicle::IsFrontEngine(), IsInsideMM(), RoadStop::Leave(), RVSB_IN_DT_ROAD_STOP, state, and Vehicle::tile.

Referenced by DisasterTick_Ufo().

bool RoadVehicle::FindClosestDepot | ( | TileIndex * | location,
|  | DestinationID * | destination,
|  | bool * | reverse
| ) |  |
| virtual

Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.

Parameters

  location | where do we go to?
  destination | what hangar do we go to?
  reverse | should the vehicle be reversed?

Returns
  true if a depot could be found.

Reimplemented from Vehicle.

Definition at line 354 of file roadveh_cmd.cpp.

References FindDepotData::best_length, GetDepotIndex(), and FindDepotData::tile.

AccelStatus RoadVehicle::GetAccelerationStatus | ( |  | ) | const
| inline protected

Checks the current acceleration status of this vehicle.

Returns
  Acceleration status.

Definition at line 203 of file roadveh.h.

References AS_ACCEL, AS_BRAKE, Vehicle::vehstatus, and VS_STOPPED.

Referenced by UpdateSpeed().

int RoadVehicle::GetAccelerationType | ( |  | ) | const
| inline protected

Allows to know the acceleration type of a vehicle.

Returns
  Zero, road vehicles always use a normal acceleration method.

Definition at line 235 of file roadveh.h.

byte RoadVehicle::GetAirDrag | ( |  | ) | const
| inline protected

Gets the air drag coefficient of this vehicle.

Returns
  Air drag value from the engine.

Definition at line 194 of file roadveh.h.

References Vehicle::engine_type.

byte RoadVehicle::GetAirDragArea | ( |  | ) | const
| inline protected

Gets the area used for calculating air drag.

Returns
  Area of the engine in m^2.

Definition at line 185 of file roadveh.h.

int RoadVehicle::GetCurrentMaxSpeed | ( |  | ) | const
| inline virtual

Calculates the maximum speed of the vehicle under its current conditions.

Returns
  Maximum speed of the vehicle.

Reimplemented from Vehicle.

Definition at line 444 of file roadveh_cmd.cpp.

References _settings_game, VehicleCache::cached_max_speed, Vehicle::current_order, GetBridgeSpec(), GetBridgeType(), Order::GetMaxSpeed(), IsReversingRoadTrackdir(), min(), SpecializedVehicle< T, Type >::Next(), VehicleSettings::roadveh_acceleration_model, RVSB_TRACKDIR_MASK, RVSB_WORMHOLE, BridgeSpec::speed, state, Vehicle::vcache, GameSettings::vehicle, and VS_HIDDEN.

Referenced by UpdateSpeed().

uint16 RoadVehicle::GetCurrentSpeed | ( |  | ) | const
| inline protected

Calculates the current speed of this vehicle.

Returns
  Current speed in km/h-ish.

Definition at line 212 of file roadveh.h.

References Vehicle::cur_speed.

Referenced by GetRollingFriction().

int RoadVehicle::GetDisplayImageWidth | ( | Point * | offset = `NULL` | ) | const

Get the width of a road vehicle image in the GUI.

Parameters

  offset | Additional offset for positioning the sprite; set to NULL if not needed

Returns
  Width in pixels

Definition at line 105 of file roadveh_cmd.cpp.

References GroundVehicleCache::cached_veh_length, GroundVehicle< RoadVehicle, VEH_ROAD >::gcache, ScaleGUITrad(), and VEHICLE_LENGTH.

int RoadVehicle::GetDisplayMaxSpeed | ( |  | ) | const
| inline virtual

Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing.

Returns
  the vehicle's maximum speed

Reimplemented from Vehicle.

Definition at line 113 of file roadveh.h.

References VehicleCache::cached_max_speed, and Vehicle::vcache.

Referenced by CYapfCostRoadT< Types >::PfCalcCost().

int RoadVehicle::GetDisplaySpeed | ( |  | ) | const
| inline virtual

Gets the speed in km-ish/h that can be sent into SetDParam for string processing.

Returns
  the vehicle's speed

Reimplemented from Vehicle.

Definition at line 112 of file roadveh.h.

References GroundVehicle< RoadVehicle, VEH_ROAD >::gcache, and GroundVehicleCache::last_speed.

ExpensesType RoadVehicle::GetExpenseType | ( | bool | income | ) | const
| inline virtual

Sets the expense type associated to this vehicle type.

Parameters

  income | whether this is income or (running) expenses of the vehicle

Reimplemented from Vehicle.

Definition at line 109 of file roadveh.h.

References EXPENSES_ROADVEH_INC, and EXPENSES_ROADVEH_RUN.

SpriteID RoadVehicle::GetImage | ( | Direction | direction,
|  | EngineImageType | image_type
| ) |  | const
| virtual

Gets the sprite to show for the given direction.

Parameters

  direction | the direction the vehicle is facing

Returns
  the sprite for the given vehicle in the given direction

Reimplemented from Vehicle.

Definition at line 132 of file roadveh_cmd.cpp.

References Vehicle::cargo, Vehicle::cargo_cap, Vehicle::GetEngine(), Engine::original_image_index, Vehicle::spritenum, and VehicleCargoList::StoredCount().

uint16 RoadVehicle::GetMaxTrackSpeed | ( |  | ) | const
| inline protected

Gets the maximum speed allowed by the track for this vehicle.

Returns
  Since roads don't limit road vehicle speed, it returns always zero.

Definition at line 253 of file roadveh.h.

TileIndex RoadVehicle::GetOrderStationLocation | ( | StationID | station | ) |
| virtual

Determine the location for the station where the vehicle goes to next.

Things done for example are allocating slots in a road stop or exact location of the platform is determined for ships.

Parameters

  station | the station to make the next location of the vehicle.

Returns
  the location (tile) to aim for.

Reimplemented from Vehicle.

Definition at line 589 of file roadveh_cmd.cpp.

References CanVehicleUseStation(), SpecializedVehicle< RoadVehicle, Type >::Get(), Vehicle::IncrementRealOrderIndex(), Vehicle::last_station_visited, and BaseStation::xy.

Referenced by RemoveRoadStop().

uint16 RoadVehicle::GetPower | ( |  | ) | const
| inline protected

Allows to know the power value that this vehicle will use.

Returns
  Power value from the engine in HP, or zero if the vehicle is not powered.

Definition at line 135 of file roadveh.h.

References Vehicle::engine_type, Vehicle::IsArticulatedPart(), and PROP_ROADVEH_POWER.

uint16 RoadVehicle::GetPoweredPartPower | ( | const RoadVehicle * | head | ) | const
| inline protected

Returns a value if this articulated part is powered.

Returns
  Zero, because road vehicles don't have powered parts.

Definition at line 149 of file roadveh.h.

uint32 RoadVehicle::GetRollingFriction | ( |  | ) | const
| inline protected

Returns the rolling friction coefficient of this vehicle.

Returns
  Rolling friction coefficient in [1e-4].

Definition at line 221 of file roadveh.h.

References GetCurrentSpeed(), and ROADTYPE_TRAM.

Money RoadVehicle::GetRunningCost | ( |  | ) | const
| virtual

Gets the running cost of a vehicle.

Returns
  the vehicle's running cost

Reimplemented from Vehicle.

Definition at line 1583 of file roadveh_cmd.cpp.

References Vehicle::GetEngine(), Engine::GetGRF(), GetPrice(), and PROP_ROADVEH_RUNNING_COST_FACTOR.

Referenced by OnNewDay().

uint32 RoadVehicle::GetSlopeSteepness | ( |  | ) | const
| inline protected

Returns the slope steepness used by this vehicle.

Returns
  Slope steepness used by the vehicle.

Definition at line 244 of file roadveh.h.

References _settings_game, VehicleSettings::roadveh_slope_steepness, and GameSettings::vehicle.

byte RoadVehicle::GetTractiveEffort | ( |  | ) | const
| inline protected

Allows to know the tractive effort value that this vehicle will use.

Returns
  Tractive effort value from the engine.

Definition at line 175 of file roadveh.h.

References Vehicle::engine_type, and PROP_ROADVEH_TRACTIVE_EFFORT.

Trackdir RoadVehicle::GetVehicleTrackdir | ( |  | ) | const
| virtual

Returns the Trackdir on which the vehicle is currently located.

Works for trains and ships. Currently works only sortof for road vehicles, since they have a fuzzy concept of being "on" a trackdir. Dunno really what it returns for a road vehicle that is halfway a tile, never really understood that part. For road vehicles that are at the beginning or end of the tile, should just return the diagonal trackdir on which they are driving. I think. For other vehicles types, or vehicles with no clear trackdir (such as those in depots), returns 0xFF.

Returns
  the trackdir of the vehicle

Reimplemented from Vehicle.

Definition at line 1675 of file roadveh_cmd.cpp.

References DiagDirToDiagTrackdir(), Vehicle::direction, DirToDiagDir(), GetRoadDepotDirection(), GetRoadStopDir(), INVALID_TRACKDIR, IsInDepot(), IsReversingRoadTrackdir(), IsStandardRoadStopTile(), RVSB_TRACKDIR_MASK, state, Vehicle::vehstatus, and VS_CRASHED.

Referenced by NPFRoadVehicleFindNearestDepot(), CYapfFollowRoadT< Types >::SetOriginFromVehiclePos(), and YapfRoadVehicleFindNearestDepot().

uint16 RoadVehicle::GetWeight | ( |  | ) | const
| inline protected

Allows to know the weight value that this vehicle will use.

Returns
  Weight value from the engine in tonnes.

Definition at line 158 of file roadveh.h.

References Vehicle::cargo, Vehicle::cargo_type, Vehicle::engine_type, SpecializedVehicle< RoadVehicle, Type >::Get(), Vehicle::IsArticulatedPart(), PROP_ROADVEH_WEIGHT, and VehicleCargoList::StoredCount().

bool RoadVehicle::HasToUseGetSlopePixelZ | ( |  | ) |
| inline protected

Road vehicles have to use GetSlopePixelZ() to compute their height if they are reversing because in that case, their direction is not parallel with the road.

It is safe to return `true` even if it is not reversing.

Returns
  are we (possibly) reversing?

Definition at line 277 of file roadveh.h.

References Vehicle::direction, SpecializedVehicle< RoadVehicle, Type >::First(), IsReversingRoadTrackdir(), SpecializedVehicle< T, Type >::Next(), RVSB_TRACKDIR_MASK, and state.

bool RoadVehicle::IsBus | ( |  | ) | const

Check whether a roadvehicle is a bus.

Returns
  true if bus

Definition at line 94 of file roadveh_cmd.cpp.

References Vehicle::cargo_type, CC_PASSENGERS, IsCargoInClass(), and Vehicle::IsFrontEngine().

Referenced by CmdCloneOrder(), GetOrderCmdFromTile(), NetworkPopulateCompanyStats(), RoadFindPathToDest(), and RoadVehArrivesAt().

bool RoadVehicle::IsInDepot | ( |  | ) | const
| inline virtual

Check whether the vehicle is in the depot.

Returns
  true if and only if the vehicle is in the depot.

Reimplemented from Vehicle.

Definition at line 116 of file roadveh.h.

References RVSB_IN_DEPOT, and state.

Referenced by CmdTurnRoadVeh(), and GetVehicleTrackdir().

void RoadVehicle::MarkDirty | ( |  | ) |
| virtual

Marks the vehicles to be redrawn and updates cached variables.

This method marks the area of the vehicle on the screen as dirty. It can be use to repaint the vehicle.

Reimplemented from Vehicle.

Definition at line 404 of file roadveh_cmd.cpp.

References GroundVehicle< RoadVehicle, VEH_ROAD >::CargoChanged(), Vehicle::colourmap, SpecializedVehicle< T, Type >::Next(), and SpecializedVehicle< T, Type >::UpdateViewport().

bool RoadVehicle::Tick | ( |  | ) |
| virtual

Calls the tick handler of the vehicle.

Returns
  is this vehicle still valid?

Reimplemented from Vehicle.

Definition at line 1594 of file roadveh_cmd.cpp.

References Vehicle::IsFrontEngine(), Vehicle::running_ticks, Vehicle::tick_counter, Vehicle::vehstatus, and VS_STOPPED.

bool RoadVehicle::TileMayHaveSlopedTrack | ( |  | ) | const
| inline protected

Checks if the vehicle is at a tile that can be sloped.

Returns
  True if the tile can be sloped.

Definition at line 262 of file roadveh.h.

References GetTileTrackStatus(), Vehicle::tile, TRACK_BIT_X, TRACK_BIT_Y, TrackStatusToTrackBits(), and TRANSPORT_ROAD.

void RoadVehicle::UpdateDeltaXY | ( | Direction | direction | ) |
| virtual

Updates the x and y offsets and the size of the sprite used for this vehicle.

Parameters

  direction | the direction the vehicle is facing

Reimplemented from Vehicle.

Definition at line 413 of file roadveh_cmd.cpp.

References GroundVehicleCache::cached_veh_length, Vehicle::direction, GroundVehicle< RoadVehicle, VEH_ROAD >::gcache, IsDiagonalDirection(), VEHICLE_LENGTH, Vehicle::x_bb_offs, Vehicle::x_extent, Vehicle::x_offs, Vehicle::y_bb_offs, Vehicle::y_extent, Vehicle::y_offs, and Vehicle::z_extent.

int RoadVehicle::UpdateSpeed | ( |  | ) |

This function looks at the vehicle and updates its speed (cur_speed and subspeed) variables.

Furthermore, it returns the distance that the vehicle can drive this tick. Vehicle::GetAdvanceDistance() determines the distance to drive before moving a step on the map.

Returns
  distance to drive.

Definition at line 732 of file roadveh_cmd.cpp.

References _settings_game, AS_BRAKE, GroundVehicle< RoadVehicle, VEH_ROAD >::DoUpdateSpeed(), GroundVehicle< RoadVehicle, VEH_ROAD >::GetAcceleration(), GetAccelerationStatus(), GetCurrentMaxSpeed(), overtaking, VehicleSettings::roadveh_acceleration_model, and GameSettings::vehicle.

## Field Documentation

uint16 RoadVehicle::crashed_ctr

Animation counter when the vehicle has crashed.

See Also
  RoadVehIsCrashed

Definition at line 94 of file roadveh.h.

Referenced by Crash(), DisasterTick_Ufo(), and RoadVehIsCrashed().

byte RoadVehicle::state

See Also
  RoadVehicleStates

Definition at line 89 of file roadveh.h.

Referenced by AddArticulatedParts(), AfterLoadGame(), CmdBuildRoadVehicle(), CmdTurnRoadVeh(), Crash(), DeleteLastRoadVeh(), RoadStop::Enter(), FindVehiclesInRoadStop(), FixOldVehicles(), GetCurrentMaxSpeed(), GetVehicleTrackdir(), HasToUseGetSlopePixelZ(), IsInDepot(), RoadStop::Leave(), and Vehicle::PreDestructor().

The documentation for this struct was generated from the following files:

- src/roadveh.h
- src/roadveh_cmd.cpp