OpenTTD
Data Structures | Macros | Enumerations | Functions | Variables
roadveh.h File Reference

Road vehicle states. More...

#include "ground_vehicle.hpp"
#include "engine_base.h"
#include "cargotype.h"
#include "track_func.h"
#include "road_type.h"
#include "newgrf_engine.h"

Go to the source code of this file.

Data Structures

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

Macros

#define FOR_ALL_ROADVEHICLES(var)   FOR_ALL_VEHICLES_OF_TYPE(RoadVehicle, var)

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.
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).

Variables

static const uint RDE_NEXT_TILE = 0x80
 State information about the Road Vehicle controller.
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

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

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
engineThe engine to get the sprite from.
[out]widthThe width of the sprite.
[out]heightThe height of the sprite.
[out]xoffsNumber of pixels to shift the sprite to the right.
[out]yoffsNumber of pixels to shift the sprite downwards.
image_typeContext the sprite is used in.

Definition at line 183 of file roadveh_cmd.cpp.

References VehicleSpriteSeq::GetBounds(), and UnScaleGUI().

Referenced by EnginePreviewWindow::UpdateWidgetSize().

void RoadVehUpdateCache ( RoadVehicle v,
bool  same_length 
)

Variable Documentation

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.

const byte RV_OVERTAKE_TIMEOUT = 35
static

The number of ticks a vehicle has for overtaking.

Definition at line 80 of file roadveh.h.