OpenTTD Source: src/roadveh.h File Reference

OpenTTD Source 13.1

Data Structures | Enumerations | Functions | Variables
roadveh.h File Reference
`#include "ground_vehicle.hpp"`
`#include "engine_base.h"`
`#include "cargotype.h"`
`#include "track_func.h"`
`#include "road.h"`
`#include "road_map.h"`
`#include "newgrf_engine.h"`
`#include <deque>`

Go to the source code of this file.

## Data Structures
struct | RoadVehPathCache
struct | RoadVehicle
| Buses, trucks and trams belong to this class. More...

## Enumerations
enum | RoadVehicleStates { RVSB_IN_DEPOT = 0xFE, RVSB_WORMHOLE = 0xFF, RVS_USING_SECOND_BAY = 1, RVS_ENTERED_STOP = 2, RVS_DRIVE_SIDE = 4, RVS_IN_ROAD_STOP = 5, RVS_IN_DT_ROAD_STOP = 6, RVSB_IN_ROAD_STOP = 1 << RVS_IN_ROAD_STOP, RVSB_IN_ROAD_STOP_END = RVSB_IN_ROAD_STOP + TRACKDIR_END, RVSB_IN_DT_ROAD_STOP = 1 << RVS_IN_DT_ROAD_STOP, RVSB_IN_DT_ROAD_STOP_END = RVSB_IN_DT_ROAD_STOP + TRACKDIR_END, RVSB_DRIVE_SIDE = 1 << RVS_DRIVE_SIDE, RVSB_TRACKDIR_MASK = 0x0F, RVSB_ROAD_STOP_TRACKDIR_MASK = 0x09 }
| Road vehicle states. More...

## Functions
void | RoadVehUpdateCache (RoadVehicle *v, bool same_length=false)
| Update the cache of a road vehicle. More...
void | GetRoadVehSpriteSize (EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type)
| Get the size of the sprite of a road vehicle sprite heading west (used for lists). More...

## Variables
static const uint | RDE_NEXT_TILE = 0x80
| State information about the Road Vehicle controller. More...
static const uint | RDE_TURNED = 0x40
| We just finished turning.
static const uint | RVC_DEFAULT_START_FRAME = 0
static const uint | RVC_TURN_AROUND_START_FRAME = 1
static const uint | RVC_DEPOT_START_FRAME = 6
static const uint | RVC_START_FRAME_AFTER_LONG_TRAM = 21
static const uint | RVC_TURN_AROUND_START_FRAME_SHORT_TRAM = 16
static const uint | RVC_DRIVE_THROUGH_STOP_FRAME = 11
static const uint | RVC_DEPOT_STOP_FRAME = 11
static const byte | RV_OVERTAKE_TIMEOUT = 35
| The number of ticks a vehicle has for overtaking.

## Detailed Description

Road vehicle states

Definition in file roadveh.h.

## Enumeration Type Documentation

## ◆ RoadVehicleStates

enum RoadVehicleStates

Road vehicle states.

Enumerator
RVSB_IN_DEPOT | The vehicle is in a depot.
RVSB_WORMHOLE | The vehicle is in a tunnel and/or bridge.
RVS_USING_SECOND_BAY | Only used while in a road stop.
RVS_ENTERED_STOP | Only set when a vehicle has entered the stop.
RVS_DRIVE_SIDE | Only used when retrieving move data.
RVS_IN_ROAD_STOP | The vehicle is in a road stop.
RVS_IN_DT_ROAD_STOP | The vehicle is in a drive-through road stop.
RVSB_IN_ROAD_STOP | The vehicle is in a road stop.
RVSB_IN_DT_ROAD_STOP | The vehicle is in a drive-through road stop.
RVSB_DRIVE_SIDE | The vehicle is at the opposite side of the road.
RVSB_TRACKDIR_MASK | The mask used to extract track dirs.
RVSB_ROAD_STOP_TRACKDIR_MASK | Only bits 0 and 3 are used to encode the trackdir for road stops.

Definition at line 25 of file roadveh.h.

## Function Documentation

## ◆ GetRoadVehSpriteSize()

void GetRoadVehSpriteSize | ( | EngineID | engine,
|  | uint & | width,
|  | uint & | height,
|  | int & | xoffs,
|  | int & | yoffs,
|  | EngineImageType | image_type
| ) |  |

Get the size of the sprite of a road vehicle sprite heading west (used for lists).

Parameters

  | engine | The engine to get the sprite from.
  [out] | width | The width of the sprite.
  [out] | height | The height of the sprite.
  [out] | xoffs | Number of pixels to shift the sprite to the right.
  [out] | yoffs | Number of pixels to shift the sprite downwards.
  | image_type | Context the sprite is used in.

Definition at line 170 of file roadveh_cmd.cpp.

## ◆ RoadVehUpdateCache()

void RoadVehUpdateCache | ( | RoadVehicle * | v,
|  | bool | same_length
| ) |  |

Update the cache of a road vehicle.

Parameters

  v | Road vehicle needing an update of its cache.
  same_length | should length of vehicles stay the same?

Precondition
  v must be first road vehicle.

Definition at line 217 of file roadveh_cmd.cpp.

References GroundVehicleCache::cached_total_length, Vehicle::engine_type, GroundVehicle< T, Type >::gcache, GetRoadVehLength(), INVALID_ENGINE, Vehicle::InvalidateNewGRFCacheOfChain(), Vehicle::IsFrontEngine(), SpecializedVehicle< T, Type >::Next(), BaseVehicle::type, VEH_ROAD, and VehicleLengthChanged().

## Variable Documentation

## ◆ RDE_NEXT_TILE

const uint RDE_NEXT_TILE = 0x80
| static

State information about the Road Vehicle controller.

We should enter the next tile

Definition at line 62 of file roadveh.h.