OpenTTD Source 20241222-master-gc72542431a
|
Vehicle data structure. More...
#include <vehicle_base.h>
Data Structures | |
struct | IterateWrapper |
Iterable ensemble of orders. More... | |
struct | OrderIterator |
Iterator to iterate orders Supports deletion of current order. More... | |
Public Member Functions | |
virtual uint16_t | GetMaxWeight () const |
Calculates the weight value that this vehicle will have when fully loaded with its current cargo. | |
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_t & | GetGroundVehicleFlags () |
Access the ground vehicle flags of the vehicle. | |
const uint16_t & | 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. | |
virtual void | MarkDirty () |
Marks the vehicles to be redrawn and updates cached variables. | |
virtual void | UpdateDeltaXY () |
Updates the x and y offsets and the size of the sprite used for this vehicle. | |
uint | GetOldAdvanceSpeed (uint speed) |
Determines the effective direction-specific vehicle movement speed. | |
uint | GetAdvanceDistance () |
Determines the vehicle "progress" needed for moving a step. | |
virtual ExpensesType | GetExpenseType (bool income) const |
Sets the expense type associated to this vehicle type. | |
virtual void | PlayLeaveStationSound (bool force=false) const |
Play the sound associated with leaving the station. | |
virtual bool | IsPrimaryVehicle () const |
Whether this is the primary vehicle in the chain. | |
const Engine * | GetEngine () const |
Retrieves the engine of the vehicle. | |
virtual void | GetImage (Direction direction, EngineImageType image_type, VehicleSpriteSeq *result) const |
Gets the sprite to show for the given direction. | |
const GRFFile * | GetGRF () const |
Retrieve the NewGRF the vehicle is tied to. | |
uint32_t | 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) | |
debug_inline bool | IsGroundVehicle () const |
Check if the vehicle is a ground vehicle. | |
virtual int | GetDisplaySpeed () const |
Gets the speed in km-ish/h that can be sent into SetDParam for string processing. | |
virtual int | GetDisplayMaxSpeed () const |
Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing. | |
virtual int | GetCurrentMaxSpeed () const |
Calculates the maximum speed of the vehicle under its current conditions. | |
virtual Money | GetRunningCost () const |
Gets the running cost of a vehicle. | |
virtual bool | IsInDepot () const |
Check whether the vehicle is in the depot. | |
virtual bool | IsChainInDepot () const |
Check whether the whole vehicle chain is in the depot. | |
bool | IsStoppedInDepot () const |
Check whether the vehicle is in the depot and stopped. | |
virtual bool | Tick () |
Calls the tick handler of the vehicle. | |
virtual void | OnNewCalendarDay () |
Calls the new calendar day handler of the vehicle. | |
virtual void | OnNewEconomyDay () |
Calls the new economy day handler of the vehicle. | |
void | ShiftDates (TimerGameEconomy::Date interval) |
Shift all dates by given interval. | |
virtual uint | Crash (bool flooded=false) |
Crash the (whole) vehicle chain. | |
virtual Trackdir | GetVehicleTrackdir () const |
Returns the Trackdir on which the vehicle is currently located. | |
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 * | Next () const |
Get the next vehicle of this vehicle. | |
Vehicle * | Previous () const |
Get the previous vehicle of this vehicle. | |
Vehicle * | First () const |
Get the first vehicle of this vehicle chain. | |
Vehicle * | Last () |
Get the last vehicle of this vehicle chain. | |
const Vehicle * | Last () const |
Get the last vehicle of this vehicle chain. | |
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 | ReleaseUnitNumber () |
Release the vehicle's unit number. | |
void | CopyVehicleConfigAndStatistics (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. | |
virtual TileIndex | GetOrderStationLocation (StationID station) |
Determine the location for the station where the vehicle goes to next. | |
virtual TileIndex | GetCargoTile () const |
virtual ClosestDepot | FindClosestDepot () |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse. | |
virtual void | SetDestTile (TileIndex tile) |
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 | UpdateBoundingBoxCoordinates (bool update_cache) const |
Update the bounding box co-ordinates of the vehicle. | |
void | UpdatePositionAndViewport () |
Update the position of the vehicle, and update the viewport. | |
bool | MarkAllViewportsDirty () const |
Marks viewports dirty where the vehicle's image is. | |
uint16_t | GetServiceInterval () const |
void | SetServiceInterval (uint16_t interval) |
bool | ServiceIntervalIsCustom () const |
bool | ServiceIntervalIsPercent () const |
void | SetServiceIntervalIsCustom (bool on) |
void | SetServiceIntervalIsPercent (bool on) |
bool | HasFullLoadOrder () const |
Check if the current vehicle has a full load order. | |
bool | HasConditionalOrder () const |
Check if the current vehicle has a conditional order. | |
bool | HasUnbunchingOrder () const |
Check if the current vehicle has an unbunching order. | |
void | LeaveUnbunchingDepot () |
Leave an unbunching depot and calculate the next departure time for shared order vehicles. | |
bool | IsWaitingForUnbunching () const |
Check whether a vehicle inside a depot is waiting for unbunching. | |
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 nullptr when it doesn't exists. | |
Order * | GetLastOrder () const |
Returns the last order of a vehicle, or nullptr 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. | |
debug_inline 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. | |
Vehicle * | GetNextArticulatedPart () const |
Get the next part of an articulated engine. | |
Vehicle * | GetFirstEnginePart () |
Get the first part of an articulated engine. | |
const Vehicle * | GetFirstEnginePart () const |
Get the first part of an articulated engine. | |
Vehicle * | GetLastEnginePart () |
Get the last part of an articulated engine. | |
Vehicle * | GetNextVehicle () const |
Get the next real (non-articulated part) vehicle in the consist. | |
Vehicle * | GetPrevVehicle () const |
Get the previous real (non-articulated part) vehicle in the consist. | |
IterateWrapper | Orders () const |
Returns an iterable ensemble of orders of a vehicle. | |
uint32_t | GetDisplayMaxWeight () const |
Calculates the maximum weight of the ground vehicle when loaded. | |
uint32_t | GetDisplayMinPowerToWeight () const |
Calculates the minimum power-to-weight ratio using the maximum weight of the ground vehicle. | |
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, 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. | |
void | ResetDepotUnbunching () |
Resets all the data used for depot unbunching. | |
Static Public Member Functions | |
static uint | GetAdvanceSpeed (uint speed) |
Determines the effective vehicle movement speed. | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool > | |
static bool | CanAllocateItem (size_t n=1) |
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
static bool | CleaningPool () |
Returns current state of pool cleaning - yes or no. | |
static bool | IsValidID (size_t index) |
Tests whether given index can be used to get valid (non-nullptr) Titem. | |
static Titem * | Get (size_t index) |
Returns Titem with given index. | |
static Titem * | GetIfValid (size_t index) |
Returns Titem with given index. | |
static size_t | GetPoolSize () |
Returns first unused index. | |
static size_t | GetNumItems () |
Returns number of valid items in the pool. | |
static void | PostDestructor (size_t index) |
Dummy function called after destructor of each member. | |
static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
Returns an iterable ensemble of all valid Titem. | |
Data Fields | ||
TileIndex | tile | |
Current tile index. | ||
TileIndex | dest_tile | |
Heading for this tile. | ||
Money | profit_this_year | |
Profit this year << 8, low 8 bits are fract. | ||
Money | profit_last_year | |
Profit last year << 8, low 8 bits are fract. | ||
Money | value | |
Value of the vehicle. | ||
CargoPayment * | cargo_payment | |
The cargo payment we're currently in. | ||
Rect | coord | |
NOSAVE: Graphical bounding box of the vehicle, i.e. what to redraw on moves. | ||
Vehicle * | hash_viewport_next | |
NOSAVE: Next vehicle in the visual location hash. | ||
Vehicle ** | hash_viewport_prev | |
NOSAVE: Previous vehicle in the visual location hash. | ||
Vehicle * | hash_tile_next | |
NOSAVE: Next vehicle in the tile location hash. | ||
Vehicle ** | hash_tile_prev | |
NOSAVE: Previous vehicle in the tile location hash. | ||
Vehicle ** | hash_tile_current | |
NOSAVE: Cache of the current hash chain. | ||
SpriteID | colourmap | |
NOSAVE: cached colour mapping. | ||
TimerGameCalendar::Year | build_year | |
Year the vehicle has been built. | ||
TimerGameCalendar::Date | age | |
Age in calendar days. | ||
TimerGameEconomy::Date | economy_age | |
Age in economy days. | ||
TimerGameCalendar::Date | max_age | |
Maximum age. | ||
TimerGameEconomy::Date | date_of_last_service | |
Last economy date the vehicle had a service at a depot. | ||
TimerGameCalendar::Date | date_of_last_service_newgrf | |
Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior. | ||
uint16_t | reliability | |
Reliability. | ||
uint16_t | reliability_spd_dec | |
Reliability decrease speed. | ||
uint8_t | breakdown_ctr | |
Counter for managing breakdown events. | ||
uint8_t | breakdown_delay | |
Counter for managing breakdown length. | ||
uint8_t | breakdowns_since_last_service | |
Counter for the amount of breakdowns. | ||
uint8_t | breakdown_chance | |
Current chance of breakdowns. | ||
int32_t | x_pos | |
x coordinate. | ||
int32_t | y_pos | |
y coordinate. | ||
int32_t | z_pos | |
z coordinate. | ||
Direction | direction | |
facing | ||
Owner | owner | |
Which company owns the vehicle? | ||
uint8_t | spritenum | |
currently displayed sprite index 0xfd == custom sprite, 0xfe == custom second head sprite 0xff == reserved for another custom sprite | ||
uint8_t | x_extent | |
x-extent of vehicle bounding box | ||
uint8_t | y_extent | |
y-extent of vehicle bounding box | ||
uint8_t | z_extent | |
z-extent of vehicle bounding box | ||
int8_t | x_bb_offs | |
x offset of vehicle bounding box | ||
int8_t | y_bb_offs | |
y offset of vehicle bounding box | ||
int8_t | x_offs | |
x offset for vehicle sprite | ||
int8_t | y_offs | |
y offset for vehicle sprite | ||
EngineID | engine_type | |
The type of engine used for this vehicle. | ||
TextEffectID | fill_percent_te_id | |
a text-effect id to a loading indicator object | ||
UnitID | unitnumber | |
unit number, for display purposes only | ||
uint16_t | cur_speed | |
current speed | ||
uint8_t | subspeed | |
fractional speed | ||
uint8_t | acceleration | |
used by train & aircraft | ||
uint32_t | motion_counter | |
counter to occasionally play a vehicle sound. | ||
uint8_t | progress | |
The percentage (if divided by 256) this vehicle already crossed the tile unit. | ||
uint8_t | waiting_triggers | |
Triggers to be yet matched before rerandomizing the random bits. | ||
uint16_t | random_bits | |
Bits used for randomized variational spritegroups. | ||
StationID | last_station_visited | |
The last station we stopped at. | ||
StationID | last_loading_station | |
Last station the vehicle has stopped at and could possibly leave from with any cargo loaded. | ||
TimerGameTick::TickCounter | last_loading_tick | |
Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded. | ||
VehicleCargoList | cargo | |
The cargo this vehicle is carrying. | ||
CargoID | cargo_type | |
type of cargo this vehicle is carrying | ||
uint8_t | cargo_subtype | |
Used for livery refits (NewGRF variations) | ||
uint16_t | cargo_cap | |
total capacity | ||
uint16_t | refit_cap | |
Capacity left over from before last refit. | ||
uint16_t | cargo_age_counter | |
Ticks till cargo is aged next. | ||
int8_t | trip_occupancy | |
NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station). | ||
uint8_t | day_counter | |
Increased by one for each day. | ||
uint8_t | tick_counter | |
Increased by one for each tick. | ||
uint8_t | running_ticks | |
Number of ticks this vehicle was not stopped this day. | ||
uint16_t | load_unload_ticks | |
Ticks to wait before starting next cycle. | ||
uint8_t | vehstatus | |
Status. | ||
uint8_t | subtype | |
subtype (Filled with values from AircraftSubType/DisasterSubType/EffectVehicleType/GroundVehicleSubtypeFlags) | ||
Order | current_order | |
The current order (+ status, like: loading) | ||
union { | ||
OrderList * orders | ||
Pointer to the order list for this vehicle. More... | ||
Order * old_orders | ||
Only used during conversion of old save games. More... | ||
}; | ||
NewGRFCache | grf_cache | |
Cache of often used calculated NewGRF values. | ||
VehicleCache | vcache | |
Cache of often used vehicle values. | ||
GroupID | group_id | |
Index of group Pool array. | ||
MutableSpriteCache | sprite_cache | |
Cache of sprites and values related to recalculating them, see MutableSpriteCache. | ||
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool > | ||
Tindex | index | |
Index of this pool item. | ||
Data Fields inherited from BaseVehicle | ||
VehicleType | type | |
Type of vehicle. | ||
Data Fields inherited from BaseConsist | ||
std::string | name | |
Name of vehicle. | ||
TimerGameTick::Ticks | current_order_time | |
How many ticks have passed since this order started. | ||
TimerGameTick::Ticks | lateness_counter | |
How many ticks late (or early if negative) this vehicle is. | ||
TimerGameTick::TickCounter | timetable_start | |
At what tick of TimerGameTick::counter the vehicle should start its timetable. | ||
TimerGameTick::TickCounter | depot_unbunching_last_departure | |
When the vehicle last left its unbunching depot. | ||
TimerGameTick::TickCounter | depot_unbunching_next_departure | |
When the vehicle will next try to leave its unbunching depot. | ||
TimerGameTick::Ticks | round_trip_time | |
How many ticks for a single circumnavigation of the orders. | ||
uint16_t | service_interval | |
The interval for (automatic) servicing; either in days or %. | ||
VehicleOrderID | cur_real_order_index | |
The index to the current real (non-implicit) order. | ||
VehicleOrderID | cur_implicit_order_index | |
The index to the current implicit order. | ||
uint16_t | vehicle_flags | |
Used for gradual loading and other miscellaneous things (. | ||
Private Types | |
typedef std::list< RefitDesc > | RefitList |
Private Member Functions | |
void | SkipToNextRealOrderIndex () |
Advance cur_real_order_index to the next real order. | |
Private Attributes | |
Vehicle * | next |
pointer to the next vehicle in the chain | |
Vehicle * | previous |
NOSAVE: pointer to the previous vehicle in the chain. | |
Vehicle * | first |
NOSAVE: pointer to the first vehicle in the chain. | |
Vehicle * | next_shared |
pointer to the next vehicle that shares the order | |
Vehicle * | previous_shared |
NOSAVE: pointer to the previous vehicle in the shared order chain. | |
Friends | |
class | SlVehicleCommon |
class | SlVehicleDisaster |
void | FixOldVehicles () |
Convert the old style vehicles into something that resembles the old new style savegames. | |
void | AfterLoadVehiclesPhase1 (bool part_of_load) |
So we can set the previous and first pointers while loading. | |
bool | LoadOldVehicle (LoadgameState *ls, int num) |
So we can set the proper next pointer while loading. | |
void | Ptrs_VEHS () |
Additional Inherited Members | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool > | |
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > | Pool |
Type of the pool this item is going to be part of. | |
Vehicle data structure.
Definition at line 244 of file vehicle_base.h.
|
private |
Definition at line 246 of file vehicle_base.h.
Vehicle::Vehicle | ( | VehicleType | type = VEH_INVALID | ) |
Vehicle constructor.
type | Type of the new vehicle. |
Definition at line 361 of file vehicle.cpp.
References cargo_age_counter, colourmap, coord, DEFAULT_GROUP, fill_percent_te_id, first, group_id, INVALID_COORD, last_loading_station, last_station_visited, MutableSpriteCache::old_coord, sprite_cache, and BaseVehicle::type.
|
virtual |
We want to 'destruct' the right class.
Definition at line 893 of file vehicle.cpp.
References cargo, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::CleaningPool(), DeleteNewGRFInspectWindow(), DeleteVehicleNews(), GetGrfSpecFeature(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, INVALID_COORD, INVALID_STRING_ID, MarkAllViewportsDirty(), Next(), MutableSpriteCache::old_coord, CargoList< Tinst, Tcont >::OnCleanPool(), SetNext(), sprite_cache, BaseVehicle::type, VEH_EFFECT, vehstatus, and VS_HIDDEN.
void Vehicle::AddToShared | ( | Vehicle * | shared_chain | ) |
Adds this vehicle to a shared vehicle chain.
shared_chain | a vehicle of the chain with shared vehicles. |
Definition at line 2966 of file vehicle.cpp.
References OrderList::AddVehicle(), next_shared, orders, and previous_shared.
Referenced by CmdCloneOrder(), CmdMoveRailVehicle(), and CmdSellRailWagon().
void Vehicle::BeginLoading | ( | ) |
Prepare everything to begin the loading when arriving at a station.
Definition at line 2203 of file vehicle.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::CanAllocateItem(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_order_pool >::CanAllocateItem(), ClrBit(), TimerGameTick::counter, BaseConsist::cur_implicit_order_index, BaseConsist::cur_real_order_index, cur_speed, current_order, DeleteOrder(), DeleteUnreachedImplicitOrders(), SpecializedStation< Station, false >::Get(), Order::GetDestination(), GetGroundVehicleFlags(), GetLastOrder(), Order::GetLoadType(), GetNumManualOrders(), OrderList::GetNumOrders(), GetNumOrders(), GetOrder(), GetWindowClassForVehicleType(), GVF_SUPPRESS_IMPLICIT_ORDERS, HasBit(), IMPLICIT_ORDER_ONLY_CAP, IncreaseStats(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, InsertOrder(), InvalidateVehicleOrder(), IsGroundVehicle(), IsTileType(), Order::IsType(), last_loading_station, last_loading_tick, last_station_visited, Order::MakeImplicit(), Order::MakeLoading(), MarkDirty(), Station::MarkTilesDirty(), MAX_VEH_ORDER_ID, MP_STATION, Order::next, OLFB_NO_LOAD, ONSF_NO_STOP_AT_ANY_STATION, orders, OUFB_NO_UNLOAD, owner, PrepareUnload(), Order::SetNonStopType(), SetWindowDirty(), SetWindowWidgetDirty(), tile, BaseVehicle::type, UpdateVehicleTimetable(), VEH_SHIP, WC_STATION_VIEW, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, and WID_VV_START_STOP.
Referenced by AircraftEntersTerminal(), and TrainEnterStation().
void Vehicle::CancelReservation | ( | StationID | next, |
Station * | st | ||
) |
Return all reserved cargo packets to the station and reset all packets staged for transfer.
st | the station where the reserved packets should go. |
Definition at line 2334 of file vehicle.cpp.
References VehicleCargoList::ActionCount(), GoodsEntry::cargo, cargo, cargo_type, Debug, Station::goods, VehicleCargoList::KeepAll(), CargoList< VehicleCargoList, CargoPacketList >::MTA_LOAD, next, VehicleCargoList::Return(), and tile.
Referenced by LeaveStation(), and PreDestructor().
|
inline |
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.
src | The old vehicle |
Definition at line 765 of file vehicle_base.h.
References BaseConsist::CopyConsistPropertiesFrom(), current_order, dest_tile, profit_last_year, profit_this_year, ReleaseUnitNumber(), and unitnumber.
Referenced by CmdMoveRailVehicle(), CmdSellRailWagon(), and CopyHeadSpecificThings().
|
virtual |
Crash the (whole) vehicle chain.
flooded | whether the cause of the crash is flooding or not. |
Reimplemented in GroundVehicle< T, Type >, GroundVehicle< RoadVehicle, VEH_ROAD >, GroundVehicle< Train, VEH_TRAIN >, Aircraft, RoadVehicle, and Train.
Definition at line 280 of file vehicle.cpp.
References cargo_payment, CC_PASSENGERS, GetWindowClassForVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, InvalidateWindowClassesData(), IsCargoInClass(), IsPrimaryVehicle(), Next(), Previous(), RandomRange(), SetWindowDirty(), SetWindowWidgetDirty(), tile, BaseVehicle::type, vehstatus, VS_CRASHED, VS_STOPPED, WC_VEHICLE_DEPOT, WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW, and WID_VV_START_STOP.
Referenced by GroundVehicle< T, Type >::Crash(), Aircraft::Crash(), and FloodVehicle().
void Vehicle::DeleteUnreachedImplicitOrders | ( | ) |
Delete all implicit orders which were not reached.
Definition at line 2164 of file vehicle.cpp.
References ClrBit(), BaseConsist::cur_implicit_order_index, BaseConsist::cur_real_order_index, DeleteOrder(), GetGroundVehicleFlags(), GetOrder(), GVF_SUPPRESS_IMPLICIT_ORDERS, HasBit(), InvalidateVehicleOrder(), IsGroundVehicle(), Order::IsType(), and Order::next.
Referenced by BeginLoading(), ProcessOrders(), and VehicleEnterDepot().
|
inlinevirtual |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 805 of file vehicle_base.h.
Referenced by SendToDepot(), and UpdateOrderDest().
|
inline |
Get the first vehicle of this vehicle chain.
Definition at line 645 of file vehicle_base.h.
References first.
Referenced by RefitWindow::BuildRefitList(), CheckCargoCapacity(), CmdRefitVehicle(), CmdSellVehicle(), NewGRFInspectWindow::DrawVehicleChainWidget(), SpecializedVehicle< T, Type >::First(), FirstShared(), FloodVehicleProc(), GetEngineLivery(), GetEngineLiveryScheme(), GetIncompatibleRefitOrderIdForAutoreplace(), GetNewCargoTypeForReplace(), NIHVehicle::GetParent(), VehicleResolverObject::GetScope(), HandleStationRefit(), IsStoppedInDepot(), PositionHelper(), RefitVehicle(), ReplaceChain(), VehicleResolverObject::ResolveReal(), RunEconomyVehicleDayProc(), VehicleClicked(), VehicleEnterDepot(), and VerifyAutoreplaceRefitForOrders().
|
inline |
Get the first vehicle of this vehicle chain.
Definition at line 726 of file vehicle_base.h.
References First(), OrderList::GetFirstSharedVehicle(), and orders.
Referenced by ChangeTimetable(), CheckOrders(), OrderBackup::ClearVehicle(), CmdAddSharedVehicleGroup(), CmdAddVehicleGroup(), CmdAutofillTimetable(), CmdChangeTimetable(), CmdCloneOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), CmdSetVehicleOnTime(), DeleteOrder(), InsertOrder(), LeaveUnbunchingDepot(), OrderBackup::OrderBackup(), OrdersWindow::OrderClick_StopSharing(), RemoveFromShared(), RemoveOrderFromAllVehicles(), and UpdateVehicleTimetable().
|
inline |
Determines the vehicle "progress" needed for moving a step.
Together with GetAdvanceSpeed() this function is a replacement for GetOldAdvanceSpeed().
Definition at line 457 of file vehicle_base.h.
Referenced by ShipAccelerate().
|
inlinestatic |
Determines the effective vehicle movement speed.
Together with GetAdvanceDistance() this function is a replacement for GetOldAdvanceSpeed().
A vehicle progresses independent of it's movement direction. However different amounts of "progress" are needed for moving a step in a specific direction. That way the leftover progress does not need any adaption when changing movement direction.
speed | Direction-independent unscaled speed. |
Definition at line 445 of file vehicle_base.h.
Referenced by GroundVehicle< T, Type >::DoUpdateSpeed(), and ShipAccelerate().
|
inlinevirtual |
Definition at line 798 of file vehicle_base.h.
|
inlinevirtual |
Calculates the maximum speed of the vehicle under its current conditions.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 536 of file vehicle_base.h.
Referenced by ShowVisualEffect().
|
inlinevirtual |
Gets the maximum speed in km-ish/h that can be sent into SetDParam for string processing.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 530 of file vehicle_base.h.
Referenced by VehicleDetailsWindow::DrawWidget(), ProcessConditionalOrder(), and LinkRefresher::RefreshStats().
uint32_t Vehicle::GetDisplayMaxWeight | ( | ) | const |
Calculates the maximum weight of the ground vehicle when loaded.
Definition at line 3244 of file vehicle.cpp.
References Next().
Referenced by GetDisplayMinPowerToWeight().
uint32_t Vehicle::GetDisplayMinPowerToWeight | ( | ) | const |
Calculates the minimum power-to-weight ratio using the maximum weight of the ground vehicle.
Definition at line 3259 of file vehicle.cpp.
References GroundVehicleCache::cached_power, GetDisplayMaxWeight(), and GetGroundVehicleCache().
Referenced by VehicleDetailsWindow::DrawWidget().
|
inline |
Gets the profit vehicle had last year.
It can be sent into SetDParam for string processing.
Definition at line 623 of file vehicle_base.h.
Referenced by GroupStatistics::AddProfitLastYear(), GroupStatistics::CountVehicle(), VehicleDetailsWindow::DrawWidget(), VehicleProfitLastYearSorter(), and GroupStatistics::VehicleReachedMinAge().
|
inline |
Gets the profit vehicle had this year.
It can be sent into SetDParam for string processing.
Definition at line 617 of file vehicle_base.h.
Referenced by VehicleDetailsWindow::DrawWidget(), and VehicleProfitThisYearSorter().
|
inline |
Gets the running cost of a vehicle that can be sent into SetDParam for string processing.
Definition at line 611 of file vehicle_base.h.
References GetRunningCost().
Referenced by VehicleDetailsWindow::DrawWidget().
|
inlinevirtual |
Gets the speed in km-ish/h that can be sent into SetDParam for string processing.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 524 of file vehicle_base.h.
Referenced by VehicleViewWindow::DrawWidget().
const Engine * Vehicle::GetEngine | ( | ) | const |
Retrieves the engine of the vehicle.
Definition at line 747 of file vehicle.cpp.
References engine_type, and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get().
Referenced by AgeVehicle(), AircraftEventHandler_AtTerminal(), RefitWindow::BuildRefitList(), CheckConsistencyOfArticulatedVehicle(), CmdCloneVehicle(), VehicleDetailsWindow::DrawWidget(), GetBestFittingSubType(), GetCargoSummaryOfArticulatedVehicle(), GetCargoTypesOfArticulatedVehicle(), Train::GetDisplayImageWidth(), GetGRF(), GetGRFID(), Aircraft::GetImage(), RoadVehicle::GetImage(), Ship::GetImage(), Train::GetImage(), GetLoadAmount(), RoadVehicle::GetMaxWeight(), Train::GetMaxWeight(), GetNewCargoTypeForReplace(), GetRoadVehLength(), Aircraft::GetRunningCost(), RoadVehicle::GetRunningCost(), Ship::GetRunningCost(), Train::GetRunningCost(), GetVehicleCannotUseStationReason(), HandleStationRefit(), NeedsServicing(), ProcessConditionalOrder(), RefitVehicle(), UpdateVisualEffect(), VehicleLengthChanged(), VehicleServiceInDepot(), and VehiclesHaveSameEngineList().
|
inlinevirtual |
Sets the expense type associated to this vehicle type.
income | whether this is income or (running) expenses of the vehicle |
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 466 of file vehicle_base.h.
References EXPENSES_OTHER.
Referenced by RefitVehicle().
|
inline |
Get the first part of an articulated engine.
Definition at line 983 of file vehicle_base.h.
References IsArticulatedPart(), and Previous().
Referenced by GetBestFittingSubType(), SpecializedVehicle< T, Type >::GetFirstEnginePart(), SpecializedVehicle< T, Type >::GetFirstEnginePart(), and HandleStationRefit().
|
inline |
Get the first part of an articulated engine.
Definition at line 994 of file vehicle_base.h.
References IsArticulatedPart(), and Previous().
|
inline |
Get the first order of the vehicles order list.
Definition at line 705 of file vehicle_base.h.
References OrderList::GetFirstOrder(), and orders.
Referenced by CmdCloneOrder(), DrawOrderString(), PreviousOrderIsUnbunching(), UpdateVehicleTimetable(), and VehiclesHaveSameOrderList().
const GRFFile * Vehicle::GetGRF | ( | ) | const |
Retrieve the NewGRF the vehicle is tied to.
This is the GRF providing the Action 3 for the engine type.
Definition at line 757 of file vehicle.cpp.
References GetEngine(), and Engine::GetGRF().
Referenced by CheckTrainAttachment(), CmdStartStopVehicle(), GetCargoSubtypeText(), and PlayVehicleSound().
uint32_t Vehicle::GetGRFID | ( | ) | const |
Retrieve the GRF ID of the NewGRF the vehicle is tied to.
This is the GRF providing the Action 3 for the engine type.
Definition at line 767 of file vehicle.cpp.
References GetEngine(), and Engine::GetGRFID().
Referenced by CheckTrainAttachment(), CmdStartStopVehicle(), GetCargoSubtypeText(), and RunEconomyVehicleDayProc().
GroundVehicleCache * Vehicle::GetGroundVehicleCache | ( | ) |
Access the ground vehicle cache of the vehicle.
Definition at line 3155 of file vehicle.cpp.
References SpecializedVehicle< T, Type >::From(), IsGroundVehicle(), BaseVehicle::type, and VEH_TRAIN.
Referenced by AddArticulatedParts(), VehicleDetailsWindow::DrawWidget(), GetDisplayMinPowerToWeight(), GetVehiclePalette(), LiveryHelper(), UpdateLoadUnloadTicks(), VehicleLengthSorter(), and VehicleResolverObject::VehicleResolverObject().
const GroundVehicleCache * Vehicle::GetGroundVehicleCache | ( | ) | const |
Access the ground vehicle cache of the vehicle.
Definition at line 3170 of file vehicle.cpp.
References SpecializedVehicle< T, Type >::From(), IsGroundVehicle(), BaseVehicle::type, and VEH_TRAIN.
uint16_t & Vehicle::GetGroundVehicleFlags | ( | ) |
Access the ground vehicle flags of the vehicle.
Definition at line 3185 of file vehicle.cpp.
References SpecializedVehicle< T, Type >::From(), IsGroundVehicle(), BaseVehicle::type, and VEH_TRAIN.
Referenced by BeginLoading(), DeleteUnreachedImplicitOrders(), InsertOrder(), SendToDepot(), and UpdateOrderDest().
const uint16_t & Vehicle::GetGroundVehicleFlags | ( | ) | const |
Access the ground vehicle flags of the vehicle.
Definition at line 3200 of file vehicle.cpp.
References SpecializedVehicle< T, Type >::From(), IsGroundVehicle(), BaseVehicle::type, and VEH_TRAIN.
|
inlinevirtual |
Gets the sprite to show for the given direction.
direction | the direction the vehicle is facing | |
[out] | result | Vehicle sprite sequence. |
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 486 of file vehicle_base.h.
Referenced by DrawAircraftImage(), DrawShipImage(), GetSingleVehicleWidth(), SetMouseCursorVehicle(), and ViewportAddVehicles().
|
inline |
Get the last part of an articulated engine.
Definition at line 1005 of file vehicle_base.h.
References GetNextArticulatedPart(), and HasArticulatedPart().
Referenced by SpecializedVehicle< T, Type >::GetLastEnginePart().
|
inline |
Returns the last order of a vehicle, or nullptr if it doesn't exists.
Definition at line 931 of file vehicle_base.h.
References OrderList::GetLastOrder(), and orders.
Referenced by BeginLoading(), CheckOrders(), and PreviousOrderIsUnbunching().
|
inlinevirtual |
Calculates the weight value that this vehicle will have when fully loaded with its current cargo.
Reimplemented in RoadVehicle, and Train.
Definition at line 374 of file vehicle_base.h.
|
inline |
Get the next part of an articulated engine.
Definition at line 973 of file vehicle_base.h.
References HasArticulatedPart(), and Next().
Referenced by CheckConsistencyOfArticulatedVehicle(), CmdCloneVehicle(), GetBestFittingSubType(), GetCargoTypesOfArticulatedVehicle(), GetLastEnginePart(), SpecializedVehicle< T, Type >::GetNextArticulatedPart(), SpecializedVehicle< T, Type >::GetNextArticulatedPart(), GetNextVehicle(), and SetMouseCursorVehicle().
|
inline |
Get the next station the vehicle will stop at.
Definition at line 750 of file vehicle_base.h.
References OrderList::GetNextStoppingStation(), and orders.
Referenced by FindNearestHangar(), LoadUnloadVehicle(), and PrepareUnload().
|
inline |
Get the next real (non-articulated part) vehicle in the consist.
Definition at line 1016 of file vehicle_base.h.
References GetNextArticulatedPart(), HasArticulatedPart(), and Next().
Referenced by CmdCloneVehicle(), SpecializedVehicle< T, Type >::GetNextVehicle(), and VehiclesHaveSameEngineList().
|
inline |
Get the number of manually added orders this vehicle has.
Definition at line 744 of file vehicle_base.h.
References OrderList::GetNumManualOrders(), and orders.
Referenced by BeginLoading(), VehicleViewWindow::DrawWidget(), ProcessOrders(), SendToDepot(), SkipToNextRealOrderIndex(), UpdateOrderDest(), and UpdateRealOrderIndex().
|
inline |
Get the number of orders this vehicle has.
Definition at line 738 of file vehicle_base.h.
References OrderList::GetNumOrders(), and orders.
Referenced by BeginLoading(), TimetableWindow::BuildArrivalDepartureList(), CheckNextTrainTile(), CheckOrders(), CmdBulkChangeTimetable(), CmdCloneOrder(), CmdDeleteOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdSkipToOrder(), DeleteOrder(), OrderBackup::DoRestore(), TimetableWindow::DrawArrivalDeparturePanel(), TimetableWindow::DrawTimetablePanel(), OrdersWindow::DrawWidget(), FillTimetableArrivalDepartureTable(), GetOrderDistance(), OrdersWindow::GetOrderFromPt(), IncrementImplicitOrderIndex(), InsertOrder(), IsWaitingForUnbunching(), OrdersWindow::OnClick(), TimetableWindow::OnClick(), OrdersWindow::OnDragDrop(), OrdersWindow::OnInvalidateData(), TimetableWindow::OnInvalidateData(), OrdersWindow::OnMouseDrag(), TimetableWindow::OnPaint(), OrdersWindow::OnVehicleSelect(), OrdersWindow::OrderClick_Delete(), OrdersWindow::OrderClick_Skip(), OrdersWindow::OrderGetSel(), ProcessOrders(), SkipToNextRealOrderIndex(), VehicleOrderSaver::SwitchToNextOrder(), UpdateOrderDest(), UpdateRealOrderIndex(), and UpdateVehicleTimetable().
|
inline |
Determines the effective direction-specific vehicle movement speed.
This method belongs to the old vehicle movement method: A vehicle moves a step every 256 progress units. The vehicle speed is scaled by 3/4 when moving in X or Y direction due to the longer distance.
However, this method is slightly wrong in corners, as the leftover progress is not scaled correctly when changing movement direction. GetAdvanceSpeed() and GetAdvanceDistance() are better wrt. this.
speed | Direction-independent unscaled speed. |
Definition at line 428 of file vehicle_base.h.
Referenced by UpdateAircraftSpeed().
|
inline |
Returns order 'index' of a vehicle or nullptr when it doesn't exists.
index | the order to fetch |
Definition at line 922 of file vehicle_base.h.
References OrderList::GetOrderAt(), and orders.
Referenced by BeginLoading(), ChangeTimetable(), CmdBulkChangeTimetable(), CmdChangeTimetable(), CmdDeleteOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), DeleteOrder(), DeleteUnreachedImplicitOrders(), TimetableWindow::DrawTimetablePanel(), OrdersWindow::DrawWidget(), FillTimetableArrivalDepartureTable(), GetOrderDistance(), HandleLoading(), IncrementImplicitOrderIndex(), OrdersWindow::OnClick(), TimetableWindow::OnClick(), TimetableWindow::OnPaint(), OrdersWindow::OnQueryTextFinished(), OrdersWindow::OrderClick_FullLoad(), OrdersWindow::OrderClick_Nonstop(), OrdersWindow::OrderClick_Service(), OrdersWindow::OrderClick_Unload(), PreviousOrderIsUnbunching(), ProcessOrders(), LinkRefresher::Run(), OrdersWindow::SetStringParameters(), SkipToNextRealOrderIndex(), VehicleOrderSaver::SwitchToNextOrder(), UpdateOrderDest(), UpdateRealOrderIndex(), UpdateVehicleTimetable(), and VehicleEnterDepot().
|
inlinevirtual |
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.
station | the station to make the next location of the vehicle. |
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 796 of file vehicle_base.h.
References INVALID_TILE.
Referenced by RemoveRoadStop(), and UpdateOrderDest().
|
inline |
Get the previous real (non-articulated part) vehicle in the consist.
Definition at line 1029 of file vehicle_base.h.
References IsArticulatedPart(), and Previous().
Referenced by SpecializedVehicle< T, Type >::GetPrevVehicle().
|
inlinevirtual |
Gets the running cost of a vehicle.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 542 of file vehicle_base.h.
Referenced by GetDisplayRunningCost().
|
inline |
Definition at line 820 of file vehicle_base.h.
|
inlinevirtual |
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.
Reimplemented in RoadVehicle, Ship, and Train.
Definition at line 605 of file vehicle_base.h.
References INVALID_TRACKDIR.
bool Vehicle::HandleBreakdown | ( | ) |
Handle all of the aspects of a vehicle breakdown This includes adding smoke and sounds, and ending the breakdown when appropriate.
Definition at line 1363 of file vehicle.cpp.
References _settings_game, EffectVehicle::animation_state, breakdown_ctr, breakdown_delay, breakdowns_since_last_service, CreateEffectVehicleRel(), cur_speed, current_order, EF_NO_BREAKDOWN_SMOKE, engine_type, EV_BREAKDOWN_SMOKE, GameSettings::game_creation, HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, Order::IsType(), GameCreationSettings::landscape, MarkDirty(), PlayVehicleSound(), SetWindowDirty(), SND_0F_BREAKDOWN_ROADVEHICLE, SND_10_BREAKDOWN_TRAIN_SHIP, SND_35_BREAKDOWN_ROADVEHICLE_TOYLAND, SND_3A_BREAKDOWN_TRAIN_SHIP_TOYLAND, tick_counter, BaseVehicle::type, VEH_AIRCRAFT, VEH_SHIP, VEH_TRAIN, vehstatus, VS_AIRCRAFT_BROKEN, VS_HIDDEN, VSE_BREAKDOWN, WC_VEHICLE_DETAILS, and WC_VEHICLE_VIEW.
void Vehicle::HandleLoading | ( | bool | mode = false | ) |
Handle the loading of the vehicle; when not it skips through dummy orders and does nothing in all other cases.
mode | is the non-first call for this vehicle in this tick? |
Definition at line 2430 of file vehicle.cpp.
References BaseConsist::cur_implicit_order_index, current_order, BaseConsist::current_order_time, Order::GetDestination(), GetOrder(), Order::GetTimetabledWait(), Order::GetType(), HasBit(), IncrementImplicitOrderIndex(), Order::IsType(), LeaveStation(), PlayLeaveStationSound(), BaseConsist::vehicle_flags, and VF_LOADING_FINISHED.
void Vehicle::HandlePathfindingResult | ( | bool | path_found | ) |
Handle the pathfinding result, especially the lost status.
If the vehicle is now lost and wasn't previously fire an event to the AIs and a news message to the user. If the vehicle is not lost anymore remove the news message.
path_found | Whether the vehicle has a path to its destination. |
Definition at line 791 of file vehicle.cpp.
References _local_company, _settings_client, AddVehicleAdviceNewsItem(), ClrBit(), DeleteVehicleNews(), GetWindowClassForVehicleType(), ClientSettings::gui, HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, InvalidateWindowClassesData(), GUISettings::lost_vehicle_warn, AI::NewEvent(), owner, BaseConsist::ResetDepotUnbunching(), SetBit(), SetDParam(), SetWindowWidgetDirty(), BaseVehicle::type, BaseConsist::vehicle_flags, VF_PATHFINDER_LOST, WC_VEHICLE_VIEW, and WID_VV_START_STOP.
Referenced by ChooseShipTrack(), and RoadFindPathToDest().
|
inline |
Check if an engine has an articulated part.
Definition at line 963 of file vehicle_base.h.
References IsArticulatedPart(), and Next().
Referenced by CheckConsistencyOfArticulatedVehicle(), CmdCloneVehicle(), DrawRoadVehDetails(), VehicleDetailsWindow::DrawWidget(), RoadStop::Enter(), GetBestFittingSubType(), GetCargoTypesOfArticulatedVehicle(), GetLastEnginePart(), GetNextArticulatedPart(), RoadStop::GetNextRoadStop(), GetNextVehicle(), VehicleDetailsWindow::GetRoadVehDetailsHeight(), GetVehicleCannotUseStationReason(), IterateVehicleParts(), LoadUnloadVehicle(), RoadFindPathToDest(), and SetMouseCursorVehicle().
bool Vehicle::HasConditionalOrder | ( | ) | const |
Check if the current vehicle has a conditional order.
Definition at line 2477 of file vehicle.cpp.
References Orders().
Referenced by CmdInsertOrder(), CmdModifyOrder(), and GetOrderCmdFromTile().
bool Vehicle::HasDepotOrder | ( | ) | const |
Checks if a vehicle has a depot in its order list.
Definition at line 1851 of file order_cmd.cpp.
References Orders().
Referenced by NeedsAutomaticServicing().
bool Vehicle::HasEngineType | ( | ) | const |
Check whether Vehicle::engine_type has any meaning.
Definition at line 731 of file vehicle.cpp.
References SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), Aircraft::IsNormalAircraft(), BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by RunEconomyVehicleDayProc(), and VehicleServiceInDepot().
bool Vehicle::HasFullLoadOrder | ( | ) | const |
Check if the current vehicle has a full load order.
Definition at line 2465 of file vehicle.cpp.
References OLF_FULL_LOAD_ANY, OLFB_FULL_LOAD, and Orders().
Referenced by CmdInsertOrder(), CmdModifyOrder(), and GetOrderCmdFromTile().
bool Vehicle::HasUnbunchingOrder | ( | ) | const |
Check if the current vehicle has an unbunching order.
Definition at line 2489 of file vehicle.cpp.
References ODATFB_UNBUNCH, and Orders().
Referenced by CmdInsertOrder(), CmdModifyOrder(), and GetOrderCmdFromTile().
|
inline |
Increments cur_implicit_order_index, keeps care of the wrap-around and invalidates the GUI.
cur_real_order_index is incremented as well, if needed. Note: current_order is not invalidated.
Definition at line 862 of file vehicle_base.h.
References BaseConsist::cur_implicit_order_index, BaseConsist::cur_real_order_index, GetNumOrders(), GetOrder(), InvalidateVehicleOrder(), and SkipToNextRealOrderIndex().
Referenced by HandleLoading(), IncrementRealOrderIndex(), ProcessOrders(), and VehicleEnterDepot().
|
inline |
Advanced cur_real_order_index to the next real order, keeps care of the wrap-around and invalidates the GUI.
cur_implicit_order_index is incremented as well, if it was equal to cur_real_order_index, i.e. cur_real_order_index is skipped but not any implicit orders. Note: current_order is not invalidated.
Definition at line 886 of file vehicle_base.h.
References BaseConsist::cur_implicit_order_index, BaseConsist::cur_real_order_index, IncrementImplicitOrderIndex(), InvalidateVehicleOrder(), and SkipToNextRealOrderIndex().
Referenced by RoadVehicle::GetOrderStationLocation(), Ship::GetOrderStationLocation(), Train::GetOrderStationLocation(), SendToDepot(), and UpdateOrderDest().
|
inline |
Invalidates cached NewGRF variables.
Definition at line 495 of file vehicle_base.h.
References NewGRFCache::cache_valid.
Referenced by RefitWindow::BuildRefitList(), CheckTrainAttachment(), CmdBuildRoadVehicle(), and Train::ConsistChanged().
|
inline |
Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle)
Definition at line 504 of file vehicle_base.h.
References Next().
Referenced by CmdBuildAircraft(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdRefitVehicle(), RefitVehicle(), and RoadVehUpdateCache().
|
inline |
Check if the vehicle is an articulated part of an engine.
Definition at line 954 of file vehicle_base.h.
References GVSF_ARTICULATED_PART, HasBit(), and IsGroundVehicle().
Referenced by AddCargoIconOverlay(), BuildDepotVehicleListProc(), CheckTrainAttachment(), CmdAutoreplaceVehicle(), DrawTrainDetails(), DrawTrainImage(), GetCargoSummaryOfArticulatedVehicle(), GetEngineLiveryScheme(), GetFirstEnginePart(), GetFirstEnginePart(), GetLengthOfArticulatedVehicle(), RoadVehicle::GetMaxWeight(), Train::GetMaxWeight(), GetNewEngineType(), RoadVehicle::GetPower(), Train::GetPower(), GetPrevVehicle(), GetVehicleSet(), RoadVehicle::GetWeight(), Train::GetWeight(), HasArticulatedPart(), IsEngineCountable(), RefitVehicle(), ReplaceFreeUnit(), and TransferCargo().
|
inlinevirtual |
Check whether the whole vehicle chain is in the depot.
Reimplemented in GroundVehicle< T, Type >, GroundVehicle< RoadVehicle, VEH_ROAD >, and GroundVehicle< Train, VEH_TRAIN >.
Definition at line 554 of file vehicle_base.h.
References IsInDepot().
Referenced by CmdAutoreplaceVehicle(), BaseVehicleListWindow::DrawVehicleListItems(), and IsStoppedInDepot().
bool Vehicle::IsEngineCountable | ( | ) | const |
Check if a vehicle is counted in num_engines in each company struct.
Definition at line 714 of file vehicle.cpp.
References SpecializedVehicle< T, Type >::From(), SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), IsArticulatedPart(), Aircraft::IsNormalAircraft(), BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by AddVehicleToGroup(), and PreDestructor().
|
inline |
Check if the vehicle is a front engine.
Definition at line 945 of file vehicle_base.h.
References GVSF_FRONT, HasBit(), and IsGroundVehicle().
Referenced by AfterLoadVehiclesPhase2(), CmdAutoreplaceVehicle(), CmdCloneVehicle(), CmdMoveRailVehicle(), CmdSellRailWagon(), Train::ConsistChanged(), RoadVehicle::Crash(), Train::Crash(), DisasterTick_Ufo(), FreeTrainTrackReservation(), RoadVehicle::IsBus(), RoadVehicle::IsPrimaryVehicle(), Train::IsPrimaryVehicle(), NormaliseTrainHead(), RoadVehicle::OnNewCalendarDay(), RoadVehicle::OnNewEconomyDay(), Train::OnNewEconomyDay(), RoadVehUpdateCache(), SetTrainGroupID(), ShowVisualEffect(), RoadVehicle::Tick(), Train::Tick(), TrainApproachingCrossingEnum(), TrainApproachingCrossingTile(), TrainController(), TryPathReserve(), Train::UpdateAcceleration(), UpdateTrainGroupID(), and WhoCanServiceIndustry().
|
inline |
Check if the vehicle is a ground vehicle.
Definition at line 515 of file vehicle_base.h.
References BaseVehicle::type, VEH_ROAD, and VEH_TRAIN.
Referenced by BeginLoading(), RefitWindow::BuildRefitList(), CmdCloneVehicle(), CmdInsertOrder(), CmdModifyOrder(), DeleteUnreachedImplicitOrders(), DrawOrderString(), DepotWindow::DrawVehicleInDepot(), VehicleDetailsWindow::DrawWidget(), GetGroundVehicleCache(), GetGroundVehicleCache(), GetGroundVehicleFlags(), GetGroundVehicleFlags(), GetOrderCmdFromTile(), GetVehiclePalette(), InsertOrder(), IsArticulatedPart(), IsFrontEngine(), IsVehicleRefitable(), LiveryHelper(), VehicleViewWindow::OnClick(), OrdersWindow::OrderClick_Nonstop(), SendToDepot(), SetMouseCursorVehicle(), OrdersWindow::UpdateAutoRefitState(), UpdateOrderDest(), and VehicleResolverObject::VehicleResolverObject().
|
inlinevirtual |
Check whether the vehicle is in the depot.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 548 of file vehicle_base.h.
Referenced by BuildDepotVehicleListProc(), VehicleViewWindow::DrawWidget(), IsChainInDepot(), and IsWaitingForUnbunching().
|
inline |
Check if we share our orders with another vehicle.
Definition at line 732 of file vehicle_base.h.
References OrderList::IsShared(), and orders.
Referenced by DeleteVehicleOrders(), OrdersWindow::DrawWidget(), IsWaitingForUnbunching(), TimetableWindow::OnPaint(), OrderBackup::OrderBackup(), and OrdersWindow::OrderClick_StopSharing().
|
inlinevirtual |
Whether this is the primary vehicle in the chain.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 477 of file vehicle_base.h.
Referenced by AgeVehicle(), BuildDepotVehicleListProc(), CcStartStopVehicle(), CmdAutofillTimetable(), CmdAutoreplaceVehicle(), CmdBuildVehicle(), CmdBulkChangeTimetable(), CmdChangeServiceInt(), CmdChangeTimetable(), CmdCloneOrder(), CmdCloneVehicle(), CmdDeleteOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), CmdRenameVehicle(), CmdSellVehicle(), CmdSendVehicleToDepot(), CmdSetTimetableStart(), CmdSetVehicleOnTime(), CmdSkipToOrder(), CmdStartStopVehicle(), Crash(), EconomyAgeVehicle(), FindVehiclesInRoadStop(), GenerateVehicleSortList(), IsStoppedInDepot(), PreDestructor(), ReplaceChain(), ShowVisualEffect(), StartStopVehicle(), TransferCargo(), and VehicleClicked().
|
inline |
Check whether the vehicle is in the depot and stopped.
Definition at line 560 of file vehicle_base.h.
References First(), IsChainInDepot(), IsPrimaryVehicle(), and VS_STOPPED.
Referenced by CmdAutoreplaceVehicle(), CmdMoveRailVehicle(), CmdRefitVehicle(), CmdReverseTrainDirection(), CmdSellVehicle(), CmdStartStopVehicle(), DeleteStaleLinks(), VehicleViewWindow::DrawWidget(), IsVehicleRefitable(), and SendToDepot().
bool Vehicle::IsWaitingForUnbunching | ( | ) | const |
Check whether a vehicle inside a depot is waiting for unbunching.
Definition at line 2561 of file vehicle.cpp.
References TimerGameTick::counter, BaseConsist::depot_unbunching_next_departure, GetNumOrders(), IsInDepot(), IsOrderListShared(), and PreviousOrderIsUnbunching().
Referenced by AircraftEventHandler_InHangar(), CheckTrainStayInDepot(), and VehicleViewWindow::DrawWidget().
|
inline |
Get the last vehicle of this vehicle chain.
Definition at line 651 of file vehicle_base.h.
References Next().
Referenced by CcBuildWagon(), SpecializedVehicle< T, Type >::Last(), and SpecializedVehicle< T, Type >::Last().
|
inline |
Get the last vehicle of this vehicle chain.
Definition at line 662 of file vehicle_base.h.
References Next().
void Vehicle::LeaveStation | ( | ) |
Perform all actions when leaving a station.
Definition at line 2350 of file vehicle.cpp.
References CalcPercentVehicleFilled(), CancelReservation(), Order::CanLeaveWithCargo(), cargo_payment, TimerGameTick::counter, current_order, fill_percent_te_id, SpecializedVehicle< T, Type >::From(), SpecializedStation< Station, false >::Get(), Order::GetLoadType(), Order::GetNonStopType(), HideFillingPercent(), IsStationRoadStopTile(), IsTileType(), Order::IsType(), last_loading_station, last_loading_tick, last_station_visited, Order::MakeLeaveStation(), MarkDirty(), MP_STATION, OLFB_NO_LOAD, ONSF_STOP_EVERYWHERE, OUFB_NO_UNLOAD, ResetRefitCaps(), RSRT_VEH_DEPARTS, LinkRefresher::Run(), SAT_TRAIN_DEPARTS, SetBit(), SRT_TRAIN_DEPARTS, tile, TriggerStationRandomisation(), trip_occupancy, BaseVehicle::type, UpdateVehicleTimetable(), VEH_ROAD, VEH_TRAIN, vehstatus, VRF_LEAVING_STATION, and VS_CRASHED.
Referenced by CmdReverseTrainDirection(), CmdSkipToOrder(), HandleLoading(), and SendToDepot().
void Vehicle::LeaveUnbunchingDepot | ( | ) |
Leave an unbunching depot and calculate the next departure time for shared order vehicles.
Definition at line 2514 of file vehicle.cpp.
References TimerGameTick::counter, BaseConsist::depot_unbunching_last_departure, BaseConsist::depot_unbunching_next_departure, FirstShared(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, BaseConsist::lateness_counter, NextShared(), PreviousOrderIsUnbunching(), BaseConsist::round_trip_time, SetWindowDirty(), vehstatus, VS_CRASHED, VS_STOPPED, WC_VEHICLE_TIMETABLE, and WC_VEHICLE_VIEW.
Referenced by AircraftLeaveHangar(), and CheckTrainStayInDepot().
bool Vehicle::MarkAllViewportsDirty | ( | ) | const |
Marks viewports dirty where the vehicle's image is.
Definition at line 1774 of file vehicle.cpp.
References coord.
Referenced by UpdateViewport(), and ~Vehicle().
|
inline |
Get the vehicle at offset n of this vehicle chain.
n | Offset from the current vehicle. |
Definition at line 674 of file vehicle_base.h.
References Next(), and Previous().
Referenced by NewGRFInspectWindow::GetFeatureIndex(), VehicleResolverObject::GetScope(), and NewGRFInspectWindow::ValidateChainIndex().
|
inline |
Get the vehicle at offset n of this vehicle chain.
n | Offset from the current vehicle. |
Definition at line 690 of file vehicle_base.h.
References Next(), and Previous().
bool Vehicle::NeedsAutomaticServicing | ( | ) | const |
Checks if the current order should be interrupted for a service-in-depot order.
Definition at line 272 of file vehicle.cpp.
References current_order, HasDepotOrder(), Order::IsType(), NeedsServicing(), and ODTFB_SERVICE.
Referenced by CheckIfTrainNeedsService().
bool Vehicle::NeedsAutorenewing | ( | const Company * | c, |
bool | use_renew_setting = true |
||
) | const |
Function to tell if a vehicle needs to be autorenewed.
*c | The vehicle owner |
use_renew_setting | Should the company renew setting be considered? |
Definition at line 145 of file vehicle.cpp.
References age, CompanySettings::engine_renew, CompanySettings::engine_renew_months, SpecializedVehicle< T, Type >::From(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), max_age, owner, CompanyProperties::settings, BaseVehicle::type, and VEH_TRAIN.
Referenced by GetNewEngineType().
bool Vehicle::NeedsServicing | ( | ) | const |
Check if the vehicle needs to go to a depot in near future (if a opportunity presents itself) for service or replacement.
Definition at line 190 of file vehicle.cpp.
References _settings_game, cargo_type, TimerGameEconomy::date, date_of_last_service, EconomyTime::DAYS_IN_ECONOMY_MONTH, GameSettings::difficulty, CompanySettings::engine_renew_money, EngineReplacementForCompany(), SpecializedVehicle< T, Type >::From(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), GetArticulatedRefitMasks(), GetAvailableMoney(), GetCargoTypesOfArticulatedParts(), GetCargoTypesOfArticulatedVehicle(), GetEngine(), HasAtMostOneBit(), HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_ENGINE, IsValidCargoID(), OrderSettings::no_servicing_if_no_breakdowns, GameSettings::order, owner, reliability, CompanyProperties::settings, TimerGameEconomy::UsingWallclockUnits(), VEH_TRAIN, DifficultySettings::vehicle_breakdowns, vehstatus, VS_CRASHED, and VS_STOPPED.
Referenced by NeedsAutomaticServicing(), ProcessConditionalOrder(), and UpdateOrderDest().
|
inline |
Get the next vehicle of this vehicle.
Definition at line 632 of file vehicle_base.h.
References next.
Referenced by AddVehicleToGroup(), AfterLoadVehiclesPhase2(), AircraftLeaveHangar(), RefitWindow::BuildRefitList(), CalcPercentVehicleFilled(), CargoFilterSingle(), CheckCaches(), CheckCargoCapacity(), CmdCloneVehicle(), CmdReverseTrainDirection(), Crash(), DrawAircraftImage(), DrawRoadVehDetails(), GetDisplayMaxWeight(), GetNewCargoTypeForReplace(), GetNextArticulatedPart(), GetNextVehicle(), VehicleResolverObject::GetScope(), GetTrainDetailsWndVScroll(), HandleCrashedTrain(), LinkRefresher::HandleRefit(), HasArticulatedPart(), IncreaseStats(), InvalidateNewGRFCacheOfChain(), IsVehicleRefitable(), IterateVehicleParts(), Last(), Last(), LinkRefresher::LinkRefresher(), LoadUnloadVehicle(), Move(), Move(), SpecializedVehicle< T, Type >::Next(), NewGRFInspectWindow::OnClick(), NewGRFInspectWindow::OnInvalidateData(), DepotWindow::OnRightClick(), PositionHelper(), PrepareUnload(), PropagateChildLivery(), RefitVehicle(), RerouteCargo(), ReserveConsist(), ResetRefitCaps(), SetNext(), ShowVisualEffect(), TransferCargo(), VehicleCargoSorter(), VehicleServiceInDepot(), VehicleValueSorter(), and ~Vehicle().
|
inline |
Get the next vehicle of the shared vehicle chain.
Definition at line 714 of file vehicle_base.h.
References next_shared.
Referenced by ChangeTimetable(), OrderBackup::ClearVehicle(), CmdAddSharedVehicleGroup(), CmdChangeTimetable(), CmdModifyOrder(), CmdMoveOrder(), CmdSetVehicleOnTime(), DeleteOrder(), DeleteStaleLinks(), FindVehiclesWithOrder(), GenerateVehicleSortList(), OrderList::Initialize(), InsertOrder(), LeaveUnbunchingDepot(), OrderBackup::OrderBackup(), OrdersWindow::OrderClick_StopSharing(), RemoveFromShared(), OrderList::RemoveVehicle(), and UpdateVehicleTimetable().
|
inlinevirtual |
Calls the new calendar day handler of the vehicle.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 577 of file vehicle_base.h.
Referenced by RunVehicleCalendarDayProc().
|
inlinevirtual |
Calls the new economy day handler of the vehicle.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 582 of file vehicle_base.h.
Referenced by RunEconomyVehicleDayProc().
|
inline |
Returns an iterable ensemble of orders of a vehicle.
Definition at line 1084 of file vehicle_base.h.
References orders.
Referenced by CheckForValidOrders(), CheckOrders(), CmdCloneOrder(), CmdMoveOrder(), DeleteOrder(), HasConditionalOrder(), HasDepotOrder(), HasFullLoadOrder(), HasUnbunchingOrder(), InsertOrder(), OrderBackup::OrderBackup(), VerifyAutoreplaceRefitForOrders(), and WhoCanServiceIndustry().
|
inlinevirtual |
Play the sound associated with leaving the station.
force | Should we play the sound even if sound effects are muted? (horn hotkey) |
Reimplemented in Ship, and Train.
Definition at line 472 of file vehicle_base.h.
Referenced by HandleLoading(), and VehicleViewWindow::OnHotkey().
void Vehicle::PreDestructor | ( | ) |
Destroy all stuff that (still) needs the virtual functions to work properly.
Definition at line 826 of file vehicle.cpp.
References _local_company, Station::airport, AirportFTA::block, CancelReservation(), cargo, cargo_payment, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::CleaningPool(), OrderBackup::ClearVehicle(), CloseWindowById(), CLRBITS, GroupStatistics::CountEngine(), GroupStatistics::CountVehicle(), DeleteDepotHighlightOfVehicle(), DeleteGroupHighlightOfVehicle(), DeleteVehicleOrders(), RoadVehicle::disaster_vehicle, engine_type, fill_percent_te_id, Airport::flags, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), SpecializedVehicle< T, Type >::From(), SpecializedStation< Station, false >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), RoadStop::GetByTile(), Airport::GetFTA(), GetRoadStopType(), GetTargetAirportIfValid(), GetWindowClassForVehicleType(), group_id, HideFillingPercent(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, INVALID_VEHICLE, InvalidateAutoreplaceWindow(), InvalidateWindowClassesData(), InvalidateWindowData(), IsEngineCountable(), IsInsideMM(), IsPrimaryVehicle(), SpecializedStation< Station, false >::IsValidID(), last_station_visited, AirportFTAClass::layout, RoadStop::Leave(), owner, Aircraft::pos, Previous(), Aircraft::previous_pos, ReleaseDisasterVehicle(), RVSB_IN_DT_ROAD_STOP, SetWindowDirty(), RoadVehicle::state, tile, VehicleCargoList::Truncate(), BaseVehicle::type, unitnumber, GroupStatistics::UpdateAutoreplace(), VEH_AIRCRAFT, VEH_ROAD, vehstatus, VS_CRASHED, WC_COMPANY, WC_VEHICLE_DEPOT, WC_VEHICLE_DETAILS, WC_VEHICLE_ORDERS, WC_VEHICLE_REFIT, WC_VEHICLE_TIMETABLE, and WC_VEHICLE_VIEW.
Referenced by Aircraft::~Aircraft(), RoadVehicle::~RoadVehicle(), Ship::~Ship(), and Train::~Train().
|
inline |
Get the previous vehicle of this vehicle.
Definition at line 639 of file vehicle_base.h.
References previous.
Referenced by AddCargoIconOverlay(), AgeVehicle(), Crash(), GetFirstEnginePart(), GetFirstEnginePart(), GetPrevVehicle(), LoadUnloadVehicle(), Move(), Move(), PreDestructor(), and SpecializedVehicle< T, Type >::Previous().
|
inline |
Get the previous vehicle of the shared vehicle chain.
Definition at line 720 of file vehicle_base.h.
References previous_shared.
Referenced by OrderList::Initialize(), and OrdersWindow::OrderClick_StopSharing().
void Vehicle::ReleaseUnitNumber | ( | ) |
Release the vehicle's unit number.
Definition at line 2419 of file vehicle.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), owner, BaseVehicle::type, and unitnumber.
Referenced by CmdMoveRailVehicle(), and CopyVehicleConfigAndStatistics().
void Vehicle::RemoveFromShared | ( | ) |
Removes the vehicle from the shared order list.
Definition at line 2989 of file vehicle.cpp.
References CloseWindowById(), FirstShared(), OrderList::GetNumVehicles(), GetWindowClassForVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, InvalidateVehicleOrder(), InvalidateWindowData(), next_shared, NextShared(), orders, owner, VehicleListIdentifier::Pack(), previous_shared, OrderList::RemoveVehicle(), BaseVehicle::type, and VIWD_MODIFY_ORDERS.
Referenced by DeleteVehicleOrders().
void Vehicle::ResetRefitCaps | ( | ) |
Reset all refit_cap in the consist to cargo_cap.
Definition at line 2411 of file vehicle.cpp.
References cargo_cap, Next(), and refit_cap.
Referenced by LeaveStation().
CommandCost Vehicle::SendToDepot | ( | DoCommandFlag | flags, |
DepotCommand | command | ||
) |
Send this vehicle to the depot using the given command(s).
flags | the command flags (like execute and such). |
command | the command to execute. |
Definition at line 2583 of file vehicle.cpp.
References AircraftNextAirportPos_and_Order(), CheckOwnership(), CMD_ERROR, current_order, DC_EXEC, ClosestDepot::destination, DontCancel, CommandCost::Failed(), FindClosestDepot(), FLYING, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), SpecializedVehicle< T, Type >::From(), Order::GetDepotActionType(), Order::GetDepotOrderType(), GetGroundVehicleFlags(), GetNumManualOrders(), GVF_SUPPRESS_IMPLICIT_ORDERS, HasBit(), HasFlag(), IncrementRealOrderIndex(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, IsGroundVehicle(), IsStoppedInDepot(), Order::IsType(), LeaveStation(), Order::MakeDummy(), Order::MakeGoToDepot(), ODATF_SERVICE_ONLY, ODATFB_HALT, ODTF_MANUAL, ODTFB_PART_OF_ORDERS, owner, BaseConsist::ResetDepotUnbunching(), Service, SetBit(), Order::SetDepotActionType(), Order::SetDepotOrderType(), SetWindowWidgetDirty(), Aircraft::state, Aircraft::targetairport, BaseVehicle::type, VEH_AIRCRAFT, VEH_TRAIN, vehstatus, VS_CRASHED, WC_VEHICLE_VIEW, and WID_VV_START_STOP.
Referenced by CmdSendVehicleToDepot().
|
inline |
Definition at line 824 of file vehicle_base.h.
|
inline |
Definition at line 826 of file vehicle_base.h.
|
inlinevirtual |
Definition at line 807 of file vehicle_base.h.
void Vehicle::SetNext | ( | Vehicle * | next | ) |
Set the next vehicle of this vehicle.
next | the next vehicle. nullptr removes the next vehicle. |
Definition at line 2937 of file vehicle.cpp.
References first, next, Next(), and previous.
Referenced by AddArticulatedParts(), CheckTrainAttachment(), CmdBuildAircraft(), DeleteLastRoadVeh(), DeleteLastWagon(), Disaster_Helicopter_Init(), Disaster_Small_Ufo_Init(), Disaster_Zeppeliner_Init(), DisasterTick_Big_Ufo(), InsertInConsist(), RemoveFromConsist(), RestoreTrainBackup(), and ~Vehicle().
|
inline |
Definition at line 822 of file vehicle_base.h.
|
inline |
Definition at line 828 of file vehicle_base.h.
|
inline |
Definition at line 830 of file vehicle_base.h.
void Vehicle::ShiftDates | ( | TimerGameEconomy::Date | interval | ) |
Shift all dates by given interval.
This is useful if the date has been modified with the cheat menu.
interval | Number of days to be added or substracted. |
Definition at line 777 of file vehicle.cpp.
References date_of_last_service.
void Vehicle::ShowVisualEffect | ( | ) | const |
Draw visual effects (smoke and/or sparks) for a vehicle chain.
Definition at line 2787 of file vehicle.cpp.
References _settings_game, VehicleCache::cached_vis_effect, Chance16(), CreateEffectVehicleRel(), cur_speed, current_order, direction, EV_DIESEL_SMOKE, EV_ELECTRIC_SPARK, EV_STEAM_SMOKE, SpecializedVehicle< T, Type >::From(), GB(), GetCurrentMaxSpeed(), GetStationIndex(), GetTileRailType(), HasBit(), HasPowerOnRail(), IsBridgeAbove(), IsDepotTile(), IsFrontEngine(), IsPrimaryVehicle(), IsRailStationTile(), IsTunnelTile(), Next(), PlayVehicleSound(), Order::ShouldStopAtStation(), VehicleSettings::smoke_amount, SpawnAdvancedVisualEffect(), tick_counter, tile, BaseVehicle::type, vcache, VE_ADVANCED_EFFECT, VE_OFFSET_CENTRE, VE_OFFSET_COUNT, VE_OFFSET_START, VE_TYPE_COUNT, VE_TYPE_DEFAULT, VE_TYPE_DIESEL, VE_TYPE_ELECTRIC, VE_TYPE_START, VE_TYPE_STEAM, VEH_TRAIN, GameSettings::vehicle, VEHICLE_LENGTH, vehstatus, VESM_DIESEL, VESM_ELECTRIC, VESM_NONE, VESM_STEAM, VRF_REVERSE_DIRECTION, VS_HIDDEN, VS_STOPPED, VS_TRAIN_SLOWING, and VSE_VISUAL_EFFECT.
|
inlineprivate |
Advance cur_real_order_index to the next real order.
cur_implicit_order_index is not touched.
Definition at line 843 of file vehicle_base.h.
References BaseConsist::cur_real_order_index, GetNumManualOrders(), GetNumOrders(), and GetOrder().
Referenced by IncrementImplicitOrderIndex(), and IncrementRealOrderIndex().
|
inlinevirtual |
Calls the tick handler of the vehicle.
Reimplemented in Aircraft, DisasterVehicle, EffectVehicle, RoadVehicle, Ship, and Train.
Definition at line 572 of file vehicle_base.h.
void Vehicle::UpdateBoundingBoxCoordinates | ( | bool | update_cache | ) | const |
Update the bounding box co-ordinates of the vehicle.
update_cache | Update the cached values for previous co-ordinate values |
Definition at line 1702 of file vehicle.cpp.
References coord, VehicleSpriteSeq::GetBounds(), INVALID_COORD, MutableSpriteCache::old_coord, RemapCoords(), sprite_cache, MutableSpriteCache::sprite_seq, x_offs, x_pos, y_offs, y_pos, and z_pos.
Referenced by UpdateViewport(), and ViewportAddVehicles().
|
inlinevirtual |
Updates the x and y offsets and the size of the sprite used for this vehicle.
Reimplemented in Aircraft, DisasterVehicle, EffectVehicle, RoadVehicle, Ship, and Train.
Definition at line 413 of file vehicle_base.h.
void Vehicle::UpdatePosition | ( | ) |
Update the position of the vehicle.
This will update the hash that tells which vehicles are on a tile.
Definition at line 1693 of file vehicle.cpp.
Referenced by AddArticulatedParts(), ChangeTrainDirRandomly(), CheckTrainStayInDepot(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), SetAircraftPosition(), ShipMoveUpDownOnLock(), TrainController(), UpdatePositionAndViewport(), and UpdateStatusAfterSwap().
void Vehicle::UpdatePositionAndViewport | ( | ) |
Update the position of the vehicle, and update the viewport.
Definition at line 1764 of file vehicle.cpp.
References UpdatePosition(), and UpdateViewport().
Referenced by CreateEffectVehicle(), DisasterTick_Helicopter_Rotors(), DisasterVehicle::DisasterVehicle(), SetAircraftPosition(), and DisasterVehicle::UpdatePosition().
|
inline |
Skip implicit orders until cur_real_order_index is a non-implicit order.
Definition at line 901 of file vehicle_base.h.
References BaseConsist::cur_real_order_index, GetNumManualOrders(), GetNumOrders(), and GetOrder().
Referenced by CmdSkipToOrder(), DeleteOrder(), OrderBackup::DoRestore(), ProcessOrders(), and UpdateOrderDest().
void Vehicle::UpdateViewport | ( | bool | dirty | ) |
Update the vehicle on the viewport, updating the right hash and setting the new coordinates.
dirty | Mark the (new and old) coordinates of the vehicle as dirty. |
Definition at line 1735 of file vehicle.cpp.
References coord, INVALID_COORD, MutableSpriteCache::is_viewport_candidate, MarkAllViewportsDirty(), MutableSpriteCache::old_coord, sprite_cache, and UpdateBoundingBoxCoordinates().
Referenced by UpdatePositionAndViewport(), and SpecializedVehicle< T, Type >::UpdateViewport().
void Vehicle::UpdateVisualEffect | ( | bool | allow_power_change = true | ) |
Update the cached visual effect.
allow_power_change | true if the wagon-is-powered-state may change. |
Definition at line 2664 of file vehicle.cpp.
References VehicleCache::cached_vis_effect, CALLBACK_FAILED, EngineInfo::callback_mask, CBID_VEHICLE_VISUAL_EFFECT, CBM_VEHICLE_VISUAL_EFFECT, EC_MONORAIL, EC_STEAM, RailVehicleInfo::engclass, ErrorUnknownCallbackResult(), GB(), GBUG_VEH_POWERED_WAGON, GetEngine(), Engine::GetGRF(), Engine::GetGRFID(), GetVehicleCallback(), HasBit(), IsInsideMM(), RAILVEH_WAGON, SB(), SetBit(), ShowNewGrfVehicleError(), ToggleBit(), Engine::type, vcache, VE_DEFAULT, VE_DISABLE_EFFECT, VE_DISABLE_WAGON_POWER, VE_OFFSET_CENTRE, VE_OFFSET_START, VE_TYPE_COUNT, VE_TYPE_DEFAULT, VE_TYPE_START, VE_TYPE_STEAM, VEH_ROAD, VEH_SHIP, VEH_TRAIN, RailVehicleInfo::visual_effect, ShipVehicleInfo::visual_effect, and RoadVehicleInfo::visual_effect.
Referenced by Ship::UpdateCache().
|
friend |
So we can set the previous and first pointers while loading.
For instantiating the shared vehicle chain.
Definition at line 256 of file vehicle_sl.cpp.
|
friend |
Convert the old style vehicles into something that resembles the old new style savegames.
Then AfterLoadGame can handle the rest of the conversion.
Definition at line 163 of file oldloader_sl.cpp.
|
friend |
So we can set the proper next pointer while loading.
ls | State (buffer) of the currently loaded game. |
num | The number of vehicles to load. |
Definition at line 1249 of file oldloader_sl.cpp.
|
friend |
Definition at line 260 of file vehicle_base.h.
|
friend |
Definition at line 261 of file vehicle_base.h.
uint8_t Vehicle::acceleration |
used by train & aircraft
Definition at line 330 of file vehicle_base.h.
Referenced by CmdBuildAircraft(), CmdBuildShip(), ShipAccelerate(), Train::UpdateAcceleration(), UpdateAircraftSpeed(), and Train::UpdateSpeed().
TimerGameCalendar::Date Vehicle::age |
Age in calendar days.
Definition at line 292 of file vehicle_base.h.
Referenced by AgeVehicle(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Submarine(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DepotWindow::DrawVehicleInDepot(), BaseVehicleListWindow::DrawVehicleListItems(), VehicleDetailsWindow::DrawWidget(), NeedsAutorenewing(), ProcessConditionalOrder(), ReleaseDisasterVehicle(), VehicleAgeSorter(), and VehicleTimeToLiveSorter().
uint8_t Vehicle::breakdown_chance |
Current chance of breakdowns.
Definition at line 302 of file vehicle_base.h.
Referenced by VehicleServiceInDepot().
uint8_t Vehicle::breakdown_ctr |
Counter for managing breakdown events.
Definition at line 299 of file vehicle_base.h.
Referenced by CmdReverseTrainDirection(), CmdTurnRoadVeh(), DisasterTick_Ufo(), VehicleViewWindow::DrawWidget(), HandleAircraftSmoke(), HandleBreakdown(), and TrainCheckIfLineEnds().
uint8_t Vehicle::breakdown_delay |
Counter for managing breakdown length.
Definition at line 300 of file vehicle_base.h.
Referenced by DisasterTick_Ufo(), and HandleBreakdown().
uint8_t Vehicle::breakdowns_since_last_service |
Counter for the amount of breakdowns.
Definition at line 301 of file vehicle_base.h.
Referenced by AircraftEventHandler_AtTerminal(), VehicleDetailsWindow::DrawWidget(), HandleBreakdown(), and VehicleServiceInDepot().
TimerGameCalendar::Year Vehicle::build_year |
Year the vehicle has been built.
Definition at line 291 of file vehicle_base.h.
Referenced by AddArticulatedParts(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), DrawRoadVehDetails(), DrawShipDetails(), LoadUnloadVehicle(), and TrainDetailsInfoTab().
VehicleCargoList Vehicle::cargo |
The cargo this vehicle is carrying.
Definition at line 341 of file vehicle_base.h.
Referenced by CalcPercentVehicleFilled(), CancelReservation(), CrashAirplane(), DrawRoadVehDetails(), DrawShipDetails(), GetCargoSummaryOfArticulatedVehicle(), RoadVehicle::GetImage(), Train::GetImage(), RoadVehicle::GetWeight(), Train::GetWeight(), IncreaseStats(), VEHSChunkHandler::Load(), LoadUnloadVehicle(), IsEmptyAction::operator()(), PrepareRefitAction::operator()(), ReturnCargoAction::operator()(), FinalizeRefitAction::operator()(), PreDestructor(), RefitVehicle(), VehicleResolverObject::ResolveReal(), TransferCargo(), and ~Vehicle().
uint16_t Vehicle::cargo_age_counter |
Ticks till cargo is aged next.
Definition at line 346 of file vehicle_base.h.
Referenced by Vehicle().
uint16_t Vehicle::cargo_cap |
total capacity
Definition at line 344 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AddCargoIconOverlay(), CalcPercentVehicleFilled(), CheckConsistencyOfArticulatedVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), DrawAircraftImage(), DrawRoadVehDetails(), DrawShipDetails(), DrawShipImage(), BaseVehicleListWindow::DrawVehicleListItems(), GetCargoSummaryOfArticulatedVehicle(), VehicleDetailsWindow::GetRoadVehDetailsHeight(), LoadUnloadVehicle(), PrepareRefitAction::operator()(), FinalizeRefitAction::operator()(), RefitVehicle(), ResetRefitCaps(), VehicleResolverObject::ResolveReal(), and VehicleCargoSorter().
CargoPayment* Vehicle::cargo_payment |
The cargo payment we're currently in.
Definition at line 277 of file vehicle_base.h.
Referenced by Crash(), LeaveStation(), LoadUnloadVehicle(), PreDestructor(), PrepareUnload(), ReserveConsist(), and UpdateOldAircraft().
uint8_t Vehicle::cargo_subtype |
Used for livery refits (NewGRF variations)
Definition at line 343 of file vehicle_base.h.
Referenced by AddArticulatedParts(), RefitWindow::BuildRefitList(), CmdCloneVehicle(), Engine::DetermineCapacity(), and RefitVehicle().
CargoID Vehicle::cargo_type |
type of cargo this vehicle is carrying
Definition at line 342 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AddCargoIconOverlay(), RefitWindow::BuildRefitList(), BuildReplacementVehicle(), CalcPercentVehicleFilled(), CancelReservation(), CheckConsistencyOfArticulatedVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdCloneVehicle(), Engine::DetermineCapacity(), DrawAircraftImage(), DrawRoadVehDetails(), DrawShipDetails(), DrawShipImage(), BaseVehicleListWindow::DrawVehicleListItems(), GetCargoSummaryOfArticulatedVehicle(), GetCargoTypesOfArticulatedVehicle(), GetEngineLiveryScheme(), GetLoadAmount(), RoadVehicle::GetMaxWeight(), Train::GetMaxWeight(), GetNewCargoTypeForReplace(), GetRefitCostFactor(), RoadVehicle::GetWeight(), Train::GetWeight(), HandleStationRefit(), IncreaseStats(), RoadVehicle::IsBus(), LoadUnloadVehicle(), NeedsServicing(), PrepareRefitAction::operator()(), ReturnCargoAction::operator()(), FinalizeRefitAction::operator()(), RefitVehicle(), VehicleCargoSorter(), VehicleResolverObject::VehicleResolverObject(), and WhoCanServiceIndustry().
SpriteID Vehicle::colourmap |
NOSAVE: cached colour mapping.
Definition at line 288 of file vehicle_base.h.
Referenced by Aircraft::MarkDirty(), RoadVehicle::MarkDirty(), Ship::MarkDirty(), Train::MarkDirty(), and Vehicle().
|
mutable |
NOSAVE: Graphical bounding box of the vehicle, i.e. what to redraw on moves.
Definition at line 279 of file vehicle_base.h.
Referenced by CheckClickOnVehicle(), MarkAllViewportsDirty(), UpdateBoundingBoxCoordinates(), UpdateViewport(), Vehicle(), and ViewportAddVehicles().
uint16_t Vehicle::cur_speed |
current speed
Definition at line 328 of file vehicle_base.h.
Referenced by AffectSpeedByZChange(), AfterLoadVehiclesPhase2(), AircraftController(), AircraftLeaveHangar(), AirportHasBlock(), AirportSetBlocks(), BeginLoading(), CheckTrainStayInDepot(), CmdBuildSingleSignal(), CmdReverseTrainDirection(), CmdStartStopVehicle(), GroundVehicle< T, Type >::DoUpdateSpeed(), VehicleViewWindow::DrawWidget(), EnsureNoMovingShipProc(), Train::GetCurrentMaxSpeed(), RoadVehicle::GetCurrentSpeed(), Train::GetCurrentSpeed(), Aircraft::GetDisplaySpeed(), Ship::GetDisplaySpeed(), HandleAircraftEnterHangar(), HandleAircraftSmoke(), HandleBreakdown(), LoadUnloadVehicle(), MapAircraftMovementAction(), MarkTrainAsStuck(), GroundVehicle< T, Type >::SetLastSpeed(), ShipAccelerate(), ShipMoveUpDownOnLock(), ShowVisualEffect(), Train::Tick(), TrainApproachingLineEnd(), TrainCheckIfLineEnds(), TrainController(), UpdateAircraftSpeed(), and VehicleEnterDepot().
Order Vehicle::current_order |
The current order (+ status, like: loading)
Definition at line 356 of file vehicle_base.h.
Referenced by AfterLoadGame(), AircraftController(), AircraftEntersTerminal(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), AircraftNextAirportPos_and_Order(), BeginLoading(), TimetableWindow::BuildArrivalDepartureList(), CalcPercentVehicleFilled(), CancelLoadingDueToDeletedOrder(), ChangeTimetable(), CheckIfTrainNeedsService(), CheckNextTrainTile(), CheckTrainStayInDepot(), CmdBuildSingleSignal(), CmdModifyOrder(), CmdRefitVehicle(), CmdReverseTrainDirection(), CmdSkipToOrder(), CmdTurnRoadVeh(), CopyVehicleConfigAndStatistics(), DeleteOrder(), DeleteVehicleOrders(), VehicleViewWindow::DrawWidget(), FindNearestHangar(), RoadVehicle::GetCurrentMaxSpeed(), Train::GetCurrentMaxSpeed(), GetTrainStopLocation(), HandleBreakdown(), HandleLoading(), HandleStationRefit(), LeaveStation(), VEHSChunkHandler::Load(), LoadUnloadVehicle(), MapAircraftMovementAction(), NeedsAutomaticServicing(), VehicleViewWindow::OnClick(), Train::OnNewEconomyDay(), VehicleViewWindow::OnPaint(), CYapfCostRoadT< Types >::PfCalcCost(), CYapfCostRailT< Types >::PfCalcCost(), PrepareUnload(), ProcessOrders(), RemoveRoadStop(), ReserveConsist(), VehicleResolverObject::ResolveReal(), VehicleOrderSaver::Restore(), ReverseTrainDirection(), SendToDepot(), ShipAccelerate(), ShowVisualEffect(), VehicleOrderSaver::SwitchToNextOrder(), UpdateAirplanesOnNewStation(), UpdateOldAircraft(), UpdateOrderDest(), UpdateVehicleTimetable(), VehicleEnterDepot(), and VehicleTimetableSorter().
TimerGameEconomy::Date Vehicle::date_of_last_service |
Last economy date the vehicle had a service at a depot.
Definition at line 295 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AircraftEventHandler_AtTerminal(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), DeleteStaleLinks(), VehicleDetailsWindow::DrawWidget(), NeedsServicing(), ShiftDates(), and VehicleServiceInDepot().
TimerGameCalendar::Date Vehicle::date_of_last_service_newgrf |
Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior.
Definition at line 296 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AircraftEventHandler_AtTerminal(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), and VehicleServiceInDepot().
uint8_t Vehicle::day_counter |
Increased by one for each day.
Definition at line 349 of file vehicle_base.h.
Referenced by CheckOrders(), Aircraft::OnNewEconomyDay(), RoadVehicle::OnNewEconomyDay(), Ship::OnNewEconomyDay(), Train::OnNewEconomyDay(), and RunEconomyVehicleDayProc().
TileIndex Vehicle::dest_tile |
Heading for this tile.
For airports and train stations this tile does not necessarily belong to the destination station, but it can be used for heuristic purposes to estimate the distance.
Definition at line 271 of file vehicle_base.h.
Referenced by CheckIfTrainNeedsService(), CheckNextTrainTile(), CheckTrainStayInDepot(), ChooseShipTrack(), CopyVehicleConfigAndStatistics(), Disaster_Small_Ufo_Init(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Ufo(), Train::OnNewEconomyDay(), ProcessOrders(), ReleaseDisastersTargetingIndustry(), ReleaseDisasterVehicle(), RemoveRoadStop(), VehicleOrderSaver::Restore(), RoadFindPathToDest(), UpdateOrderDest(), and VehicleEnterDepot().
Direction Vehicle::direction |
facing
Definition at line 307 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AfterLoadGame(), AircraftController(), AircraftLeaveHangar(), ChangeTrainDirRandomly(), CYapfFollowShipT< Types >::CheckShipReverse(), CheckTrainStayInDepot(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdTurnRoadVeh(), DisasterTick_Big_Ufo(), DisasterTick_Submarine(), DisasterTick_Ufo(), DisasterVehicle::DisasterVehicle(), RoadStop::Enter(), FindVehiclesInRoadStop(), GetAircraftFlightLevelBounds(), Aircraft::GetImage(), RoadVehicle::GetImage(), Ship::GetImage(), Train::GetImage(), GetNewVehiclePos(), GetTrainStopLocation(), RoadVehicle::GetVehicleTrackdir(), Ship::GetVehicleTrackdir(), HandleAircraftSmoke(), HandleCrashedAircraft(), RoadVehicle::HasToUseGetSlopePixelZ(), RoadStop::Leave(), ReverseTrainDirection(), ReverseTrainSwapVeh(), ShipTestUpDownOnLock(), ShowVisualEffect(), SpawnAdvancedVisualEffect(), TrainApproachingCrossingTile(), TrainApproachingLineEnd(), TrainCanLeaveTile(), TrainCheckIfLineEnds(), TrainController(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), Train::UpdateDeltaXY(), DisasterVehicle::UpdatePosition(), UpdateStatusAfterSwap(), SpecializedVehicle< T, Type >::UpdateViewport(), GroundVehicle< T, Type >::UpdateZPosition(), VehicleEnter_Track(), and ViewportAddVehicles().
TimerGameEconomy::Date Vehicle::economy_age |
Age in economy days.
Definition at line 293 of file vehicle_base.h.
Referenced by GroupStatistics::CountVehicle(), and EconomyAgeVehicle().
EngineID Vehicle::engine_type |
The type of engine used for this vehicle.
Definition at line 323 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AfterLoadVehiclesPhase2(), AgeVehicle(), AircraftController(), CanVehicleUseStation(), CheckConsistencyOfArticulatedVehicle(), CheckOrders(), CheckTrainAttachment(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildVehicle(), CmdCloneVehicle(), CmdReverseTrainDirection(), CmdStartStopVehicle(), ConnectMultiheadedTrains(), Train::ConsistChanged(), CountArticulatedParts(), GroupStatistics::CountEngine(), Engine::DetermineCapacity(), DrawRoadVehDetails(), DrawShipDetails(), DrawTrainDetails(), FillNewGRFVehicleCache(), FindNearestHangar(), RoadVehicle::GetAirDrag(), Train::GetAirDrag(), GetCargoSubtypeText(), Train::GetCurveSpeedModifier(), Train::GetDisplayImageWidth(), GetEngine(), GetLoadAmount(), RoadVehicle::GetMaxWeight(), Train::GetMaxWeight(), GetNewEngineType(), RoadVehicle::GetPower(), Train::GetPower(), GetRoadVehLength(), VehicleResolverObject::GetScope(), RoadVehicle::GetTractiveEffort(), Train::GetTractiveEffort(), GetVehiclePalette(), RoadVehicle::GetWeight(), Train::GetWeight(), HandleBreakdown(), IsVehicleRefitable(), LiveryHelper(), MaybeCrashAirplane(), DepotWindow::OnRightClick(), PrepareRefitAction::operator()(), Ship::PlayLeaveStationSound(), Train::PlayLeaveStationSound(), PlayVehicleSound(), PositionHelper(), PreDestructor(), RefitVehicle(), ReplaceChain(), NIHVehicle::Resolve(), RoadVehUpdateCache(), RunEconomyVehicleDayProc(), SpawnAdvancedVisualEffect(), TrainDetailsInfoTab(), UpdateAircraftCache(), Ship::UpdateCache(), Train::UpdateDeltaXY(), UpdateNumEngineGroup(), VehicleLengthChanged(), VehicleModelSorter(), VehicleResolverObject::VehicleResolverObject(), and VerifyAutoreplaceRefitForOrders().
TextEffectID Vehicle::fill_percent_te_id |
a text-effect id to a loading indicator object
Definition at line 325 of file vehicle_base.h.
Referenced by CmdReverseTrainDirection(), Train::Crash(), LeaveStation(), LoadUnloadVehicle(), PreDestructor(), and Vehicle().
|
private |
NOSAVE: pointer to the first vehicle in the chain.
Definition at line 250 of file vehicle_base.h.
Referenced by CYapfFollowShipT< Types >::CreateRandomPath(), First(), SetNext(), and Vehicle().
NewGRFCache Vehicle::grf_cache |
Cache of often used calculated NewGRF values.
Definition at line 363 of file vehicle_base.h.
Referenced by FillNewGRFVehicleCache().
GroupID Vehicle::group_id |
Index of group Pool array.
Definition at line 366 of file vehicle_base.h.
Referenced by AddVehicleToGroup(), AgeVehicle(), CmdAutoreplaceVehicle(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildVehicle(), CmdCloneVehicle(), CopyHeadSpecificThings(), BaseVehicleListWindow::DrawVehicleListItems(), VehicleGroupWindow::DrawWidget(), FormatString(), GenerateVehicleSortList(), GroupStatistics::Get(), GetEngineLivery(), GetNewEngineType(), VEHSChunkHandler::Load(), VehicleGroupWindow::OnClick(), OrderBackup::OrderBackup(), PreDestructor(), ShowCompanyGroupForVehicle(), UpdateTrainGroupID(), and Vehicle().
Vehicle** Vehicle::hash_tile_current |
NOSAVE: Cache of the current hash chain.
Definition at line 286 of file vehicle_base.h.
Vehicle* Vehicle::hash_tile_next |
NOSAVE: Next vehicle in the tile location hash.
Definition at line 284 of file vehicle_base.h.
Referenced by VehicleFromPos().
Vehicle** Vehicle::hash_tile_prev |
NOSAVE: Previous vehicle in the tile location hash.
Definition at line 285 of file vehicle_base.h.
Vehicle* Vehicle::hash_viewport_next |
NOSAVE: Next vehicle in the visual location hash.
Definition at line 281 of file vehicle_base.h.
Referenced by CheckClickOnVehicle(), and ViewportAddVehicles().
Vehicle** Vehicle::hash_viewport_prev |
NOSAVE: Previous vehicle in the visual location hash.
Definition at line 282 of file vehicle_base.h.
StationID Vehicle::last_loading_station |
Last station the vehicle has stopped at and could possibly leave from with any cargo loaded.
Definition at line 338 of file vehicle_base.h.
Referenced by BeginLoading(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), CmdBuildShip(), LeaveStation(), VEHSChunkHandler::Load(), LinkRefresher::Run(), Vehicle(), and VehicleEnterDepot().
TimerGameTick::TickCounter Vehicle::last_loading_tick |
Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded.
Definition at line 339 of file vehicle_base.h.
Referenced by BeginLoading(), and LeaveStation().
StationID Vehicle::last_station_visited |
The last station we stopped at.
Definition at line 337 of file vehicle_base.h.
Referenced by AircraftEntersTerminal(), BeginLoading(), CalcPercentVehicleFilled(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), CmdBuildShip(), DeleteLastRoadVeh(), DeleteLastWagon(), FindNearestHangar(), OrderList::GetNextStoppingStation(), RoadVehicle::GetOrderStationLocation(), Ship::GetOrderStationLocation(), Train::GetOrderStationLocation(), LeaveStation(), VEHSChunkHandler::Load(), LoadUnloadVehicle(), PreDestructor(), PrepareUnload(), ProcessOrders(), LinkRefresher::RefreshStats(), VehicleOrderSaver::Restore(), Order::ShouldStopAtStation(), TrainEnterStation(), and Vehicle().
uint16_t Vehicle::load_unload_ticks |
Ticks to wait before starting next cycle.
Definition at line 352 of file vehicle_base.h.
Referenced by LoadUnloadVehicle(), PrepareUnload(), LinkRefresher::RefreshStats(), and UpdateLoadUnloadTicks().
TimerGameCalendar::Date Vehicle::max_age |
Maximum age.
Definition at line 294 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AgeVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), CmdBuildShip(), DepotWindow::DrawVehicleInDepot(), BaseVehicleListWindow::DrawVehicleListItems(), VehicleDetailsWindow::DrawWidget(), NeedsAutorenewing(), ProcessConditionalOrder(), and VehicleTimeToLiveSorter().
uint32_t Vehicle::motion_counter |
counter to occasionally play a vehicle sound.
Definition at line 331 of file vehicle_base.h.
|
private |
pointer to the next vehicle in the chain
Definition at line 248 of file vehicle_base.h.
Referenced by CancelReservation(), Next(), and SetNext().
|
private |
pointer to the next vehicle that shares the order
Definition at line 252 of file vehicle_base.h.
Referenced by AddToShared(), NextShared(), and RemoveFromShared().
Order* Vehicle::old_orders |
Only used during conversion of old save games.
Definition at line 360 of file vehicle_base.h.
OrderList* Vehicle::orders |
Pointer to the order list for this vehicle.
Definition at line 359 of file vehicle_base.h.
Referenced by AddToShared(), BeginLoading(), ChangeTimetable(), CheckOrders(), CmdAutofillTimetable(), CmdCloneOrder(), CmdInsertOrder(), CmdMoveOrder(), CmdMoveRailVehicle(), CmdSellRailWagon(), CmdSellVehicle(), CmdSetTimetableStart(), CmdSetVehicleOnTime(), DeleteOrder(), DeleteVehicleOrders(), OrderBackup::DoRestore(), TimetableWindow::DrawArrivalDeparturePanel(), TimetableWindow::DrawSummaryPanel(), FillTimetableArrivalDepartureTable(), FirstShared(), GetFirstOrder(), GetIncompatibleRefitOrderIdForAutoreplace(), GetLastOrder(), GetNextStoppingStation(), GetNumManualOrders(), GetNumOrders(), GetOrder(), GetOrderDistance(), InsertOrder(), IsOrderListShared(), TimetableWindow::OnPaint(), Orders(), LinkRefresher::PredictNextOrder(), PrepareUnload(), LinkRefresher::RefreshStats(), RemoveFromShared(), LinkRefresher::Run(), and UpdateVehicleTimetable().
Owner Vehicle::owner |
Which company owns the vehicle?
Definition at line 309 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AgeVehicle(), AircraftEntersTerminal(), AircraftHandleDestTooFar(), BeginLoading(), CanBuildVehicleInfrastructure(), CcStartStopVehicle(), CheckIfTrainNeedsService(), CheckOrders(), CheckTrainCollision(), CheckTrainStayInDepot(), CmdAutofillTimetable(), CmdAutoreplaceVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildVehicle(), CmdBulkChangeTimetable(), CmdChangeServiceInt(), CmdChangeTimetable(), CmdCloneOrder(), CmdCloneVehicle(), CmdDeleteOrder(), CmdForceTrainProceed(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdMoveRailVehicle(), CmdOrderRefit(), CmdRefitVehicle(), CmdRenameVehicle(), CmdReverseTrainDirection(), CmdSellVehicle(), CmdSetTimetableStart(), CmdSetVehicleOnTime(), CmdSkipToOrder(), CmdStartStopVehicle(), CmdTurnRoadVeh(), CountArticulatedParts(), CrashAirplane(), DeleteGroupHighlightOfVehicle(), DeleteLastWagon(), DisasterTick_Ufo(), DisasterVehicle::DisasterVehicle(), FindNearestHangar(), FindTrainCollideEnum(), FixOwnerOfRailTrack(), FloodVehicle(), FollowTrainReservation(), FreeTrainTrackReservation(), GenerateVehicleSortList(), GroupStatistics::Get(), GroupStatistics::GetAllGroup(), GetVehiclePalette(), HandlePathfindingResult(), HandleStationRefit(), HasStationInUse(), LiveryHelper(), LoadUnloadVehicle(), MayLoadUnderExclusiveRights(), NeedsAutorenewing(), NeedsServicing(), NormaliseTrainHead(), OrdersWindow::OnClick(), VehicleDetailsWindow::OnDropdownSelect(), OrdersWindow::OnHotkey(), Aircraft::OnNewEconomyDay(), RoadVehicle::OnNewEconomyDay(), Ship::OnNewEconomyDay(), Train::OnNewEconomyDay(), OrdersWindow::OnPaint(), TimetableWindow::OnPaint(), VehicleDetailsWindow::OnPaint(), VehicleViewWindow::OnPaint(), CargoPayment::PayFinalDelivery(), PreDestructor(), ReleaseUnitNumber(), RemoveFromShared(), ReplaceChain(), ReplaceFreeUnit(), ReverseTrainDirection(), RoadFindPathToDest(), RoadVehArrivesAt(), SendToDepot(), SetTrainGroupID(), ShipArrivesAt(), ShowCompanyGroupForVehicle(), TrainController(), TrainCrashed(), TrainEnterStation(), UpdateNumEngineGroup(), UpdateTrainGroupID(), VehicleDetailsWindow::VehicleDetailsWindow(), VehicleEnterDepot(), and WhoCanServiceIndustry().
|
private |
NOSAVE: pointer to the previous vehicle in the chain.
Definition at line 249 of file vehicle_base.h.
Referenced by Previous(), and SetNext().
|
private |
NOSAVE: pointer to the previous vehicle in the shared order chain.
Definition at line 253 of file vehicle_base.h.
Referenced by AddToShared(), PreviousShared(), and RemoveFromShared().
Money Vehicle::profit_last_year |
Profit last year << 8, low 8 bits are fract.
Definition at line 274 of file vehicle_base.h.
Referenced by CopyVehicleConfigAndStatistics().
Money Vehicle::profit_this_year |
Profit this year << 8, low 8 bits are fract.
Definition at line 273 of file vehicle_base.h.
Referenced by CopyVehicleConfigAndStatistics(), HandleStationRefit(), Aircraft::OnNewEconomyDay(), RoadVehicle::OnNewEconomyDay(), Ship::OnNewEconomyDay(), Train::OnNewEconomyDay(), and VehicleEnterDepot().
uint8_t Vehicle::progress |
The percentage (if divided by 256) this vehicle already crossed the tile unit.
Definition at line 332 of file vehicle_base.h.
Referenced by AircraftLeaveHangar(), GroundVehicle< T, Type >::DoUpdateSpeed(), HandleAircraftEnterHangar(), ShipAccelerate(), TrainController(), and UpdateAircraftSpeed().
uint16_t Vehicle::random_bits |
Bits used for randomized variational spritegroups.
Definition at line 335 of file vehicle_base.h.
Referenced by AddArticulatedParts(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), and VehicleScopeResolver::GetRandomBits().
uint16_t Vehicle::refit_cap |
Capacity left over from before last refit.
Definition at line 345 of file vehicle_base.h.
Referenced by AddArticulatedParts(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), IncreaseStats(), RefitVehicle(), and ResetRefitCaps().
uint16_t Vehicle::reliability |
Reliability.
Definition at line 297 of file vehicle_base.h.
Referenced by AircraftEventHandler_AtTerminal(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), CmdBuildShip(), VehicleDetailsWindow::DrawWidget(), NeedsServicing(), ProcessConditionalOrder(), VehicleReliabilitySorter(), and VehicleServiceInDepot().
uint16_t Vehicle::reliability_spd_dec |
Reliability decrease speed.
Definition at line 298 of file vehicle_base.h.
Referenced by AgeVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVehicle(), and CmdBuildShip().
uint8_t Vehicle::running_ticks |
Number of ticks this vehicle was not stopped this day.
Definition at line 351 of file vehicle_base.h.
Referenced by Aircraft::OnNewEconomyDay(), RoadVehicle::OnNewEconomyDay(), Ship::OnNewEconomyDay(), Train::OnNewEconomyDay(), Aircraft::Tick(), RoadVehicle::Tick(), Ship::Tick(), and Train::Tick().
|
mutable |
Cache of sprites and values related to recalculating them, see MutableSpriteCache.
Definition at line 368 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AfterLoadVehiclesPhase2(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), DisasterTick_Helicopter_Rotors(), DoDrawVehicle(), IncrementSprite(), Aircraft::MarkDirty(), SetAircraftPosition(), SpecializedVehicle< T, Type >::SpecializedVehicle(), UpdateBoundingBoxCoordinates(), UpdateViewport(), SpecializedVehicle< T, Type >::UpdateViewport(), Vehicle(), ViewportAddVehicles(), and ~Vehicle().
uint8_t Vehicle::spritenum |
currently displayed sprite index 0xfd == custom sprite, 0xfe == custom second head sprite 0xff == reserved for another custom sprite
Definition at line 315 of file vehicle_base.h.
Referenced by AddArticulatedParts(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), ConnectMultiheadedTrains(), Aircraft::GetImage(), RoadVehicle::GetImage(), Ship::GetImage(), and Train::GetImage().
uint8_t Vehicle::subspeed |
fractional speed
Definition at line 329 of file vehicle_base.h.
Referenced by AircraftLeaveHangar(), AirportHasBlock(), AirportSetBlocks(), GroundVehicle< T, Type >::DoUpdateSpeed(), HandleAircraftEnterHangar(), MarkTrainAsStuck(), TrainController(), and UpdateAircraftSpeed().
uint8_t Vehicle::subtype |
subtype (Filled with values from AircraftSubType/DisasterSubType/EffectVehicleType/GroundVehicleSubtypeFlags)
Definition at line 355 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AircraftController(), AircraftEventHandler_AtTerminal(), AircraftEventHandler_InHangar(), GroundVehicle< T, Type >::ClearArticulatedPart(), GroundVehicle< T, Type >::ClearEngine(), GroundVehicle< T, Type >::ClearFreeWagon(), GroundVehicle< T, Type >::ClearFrontEngine(), GroundVehicle< T, Type >::ClearMultiheaded(), GroundVehicle< T, Type >::ClearWagon(), CmdBuildAircraft(), CreateEffectVehicle(), DisasterVehicle::DisasterVehicle(), DrawAircraftImage(), EnsureNoVehicleProcZ(), FloodVehicleProc(), GetAircraftFlightLevelBounds(), GetAircraftHoldMaxAltitude(), EffectVehicle::GetTransparencyOption(), GroundVehicle< T, Type >::IsEngine(), GroundVehicle< T, Type >::IsFreeWagon(), GroundVehicle< T, Type >::IsMultiheaded(), Aircraft::IsNormalAircraft(), GroundVehicle< T, Type >::IsWagon(), Aircraft::MarkDirty(), ReleaseDisastersTargetingIndustry(), ReleaseDisasterVehicle(), SetAircraftPosition(), GroundVehicle< T, Type >::SetArticulatedPart(), GroundVehicle< T, Type >::SetEngine(), GroundVehicle< T, Type >::SetFreeWagon(), GroundVehicle< T, Type >::SetFrontEngine(), SetMouseCursorVehicle(), GroundVehicle< T, Type >::SetMultiheaded(), GroundVehicle< T, Type >::SetWagon(), Aircraft::Tick(), DisasterVehicle::Tick(), EffectVehicle::Tick(), and Aircraft::UpdateDeltaXY().
uint8_t Vehicle::tick_counter |
Increased by one for each tick.
Definition at line 350 of file vehicle_base.h.
Referenced by DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Helicopter_Rotors(), DisasterTick_Submarine(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), HandleAircraftSmoke(), HandleBreakdown(), HandleCrashedTrain(), RoadVehIsCrashed(), ShipMoveUpDownOnLock(), ShowVisualEffect(), Aircraft::Tick(), RoadVehicle::Tick(), Train::Tick(), and TrainController().
TileIndex Vehicle::tile |
Current tile index.
Definition at line 264 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AdvanceWagonsAfterSwap(), AfterLoadGame(), AircraftController(), AircraftEventHandler_InHangar(), AircraftLeaveHangar(), BeginLoading(), BuildReplacementVehicle(), CancelReservation(), CcBuildWagon(), CheckNextTrainTile(), CYapfFollowShipT< Types >::CheckShipReverse(), CheckTrainCollision(), CheckTrainStayInDepot(), CmdAddVehicleGroup(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildSingleSignal(), CmdBuildVehicle(), CmdMoveRailVehicle(), CmdRefitVehicle(), CmdReverseTrainDirection(), CmdSellRailWagon(), CmdStartStopVehicle(), CmdTurnRoadVeh(), CollectTrackbitsFromCrashedVehiclesEnum(), Crash(), RoadVehicle::Crash(), Train::Crash(), CreateEffectVehicle(), CYapfFollowShipT< Types >::CreateRandomPath(), DeleteDepotHighlightOfVehicle(), DeleteLastRoadVeh(), DeleteLastWagon(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Submarine(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DisasterVehicle::DisasterVehicle(), FixupTrainLengths(), FloodVehicle(), FloodVehicleProc(), FollowTrainReservation(), FreeTrainReservation(), FreeTrainTrackReservation(), Train::GetCurrentMaxSpeed(), Train::GetCurveSpeedLimit(), RoadVehicle::GetMaxTrackSpeed(), Train::GetMaxTrackSpeed(), GetNewVehiclePos(), Train::GetPower(), Train::GetPoweredPartPower(), Aircraft::IsInDepot(), RoadStop::Leave(), LeaveStation(), LoadUnloadVehicle(), NormalizeTrainVehInDepot(), OrdersWindow::OnClick(), RefitWindow::OnClick(), VehicleViewWindow::OnClick(), DepotWindow::OnDragDrop(), OrdersWindow::OnDropdownSelect(), Train::OnNewEconomyDay(), OrdersWindow::OnPlaceObject(), OrdersWindow::OnQueryTextFinished(), OrderBackup::OrderBackup(), OrdersWindow::OrderClick_Delete(), OrdersWindow::OrderClick_FullLoad(), OrdersWindow::OrderClick_NearestDepot(), OrdersWindow::OrderClick_Nonstop(), OrdersWindow::OrderClick_Refit(), OrdersWindow::OrderClick_Service(), OrdersWindow::OrderClick_Skip(), OrdersWindow::OrderClick_StopSharing(), OrdersWindow::OrderClick_Unload(), PreDestructor(), ProcessOrders(), Train::ReserveTrackUnderConsist(), OrderBackup::Restore(), RestoreTrainReservation(), ReverseTrainDirection(), ReverseTrainSwapVeh(), RoadFindPathToDest(), CYapfFollowRoadT< Types >::SetOriginFromVehiclePos(), ShipTestUpDownOnLock(), ShowVisualEffect(), StartStopVehicle(), TicksToLeaveDepot(), RoadVehicle::TileMayHaveSlopedTrack(), TrainApproachingCrossingTile(), TrainCanLeaveTile(), TrainCheckIfLineEnds(), TrainController(), TrainCrashed(), TrainEnterStation(), TryPathReserve(), UpdateLoadUnloadTicks(), DisasterVehicle::UpdatePosition(), UpdateStatusAfterSwap(), VehicleEnter_Track(), VehicleEnterDepot(), VehicleFromPos(), YapfRoadVehicleFindNearestDepot(), YapfTrainCheckReverse(), and YapfTrainFindNearestDepot().
int8_t Vehicle::trip_occupancy |
NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station).
Definition at line 347 of file vehicle_base.h.
Referenced by LeaveStation().
UnitID Vehicle::unitnumber |
unit number, for display purposes only
Definition at line 326 of file vehicle_base.h.
Referenced by CmdBuildVehicle(), CopyVehicleConfigAndStatistics(), DepotWindow::DrawVehicleInDepot(), BaseVehicleListWindow::DrawVehicleListItems(), FormatString(), NormaliseTrainHead(), PreDestructor(), ReleaseUnitNumber(), VehicleNumberSorter(), and VehicleTimetableSorter().
Money Vehicle::value |
Value of the vehicle.
Definition at line 275 of file vehicle_base.h.
Referenced by AddArticulatedParts(), CmdBuildVehicle(), CmdSellVehicle(), DecreaseVehicleValue(), DrawRoadVehDetails(), DrawShipDetails(), TrainDetailsInfoTab(), and VehicleValueSorter().
VehicleCache Vehicle::vcache |
Cache of often used vehicle values.
Definition at line 364 of file vehicle_base.h.
Referenced by Train::ConsistChanged(), GetAircraftFlightLevelBounds(), Ship::GetCurrentMaxSpeed(), Aircraft::GetDisplayMaxSpeed(), RoadVehicle::GetDisplayMaxSpeed(), Ship::GetDisplayMaxSpeed(), Train::GetDisplayMaxSpeed(), LoadUnloadVehicle(), RoadVehUpdateCache(), ShipAccelerate(), ShowVisualEffect(), UpdateAircraftCache(), UpdateAircraftSpeed(), Ship::UpdateCache(), UpdateVisualEffect(), and VehicleMaxSpeedSorter().
uint8_t Vehicle::vehstatus |
Status.
Definition at line 354 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AdvanceWagonsAfterSwap(), AfterLoadGame(), AfterLoadVehiclesPhase2(), AgeVehicle(), AircraftController(), AircraftEventHandler_InHangar(), AircraftLeaveHangar(), CcStartStopVehicle(), ChangeTrainDirRandomly(), CheckClickOnVehicle(), CheckOrders(), CheckTrainStayInDepot(), CmdAutoreplaceVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CmdBuildSingleSignal(), CmdMoveRailVehicle(), CmdRefitVehicle(), CmdReverseTrainDirection(), CmdSellVehicle(), CmdStartStopVehicle(), CmdTurnRoadVeh(), CollectTrackbitsFromCrashedVehiclesEnum(), CopyHeadSpecificThings(), Crash(), CreateEffectVehicle(), DisasterTick_Ufo(), DisasterVehicle::DisasterVehicle(), DoDrawVehicle(), DrawAircraftImage(), DrawRoadVehImage(), DrawTrainDetails(), DrawTrainImage(), DepotWindow::DrawVehicleInDepot(), VehicleViewWindow::DrawWidget(), FindClosestTrainDepot(), FindTrainOnTrackEnum(), FindVehiclesInRoadStop(), FixupTrainLengths(), FloodVehicleProc(), RoadVehicle::GetAccelerationStatus(), Train::GetAccelerationStatus(), Train::GetAirDragArea(), RoadVehicle::GetVehicleTrackdir(), Ship::GetVehicleTrackdir(), Train::GetVehicleTrackdir(), HandleAircraftEnterHangar(), HandleAircraftSmoke(), HandleBreakdown(), HandleCrashedTrain(), Aircraft::IsInDepot(), LeaveStation(), LeaveUnbunchingDepot(), NeedsServicing(), PreDestructor(), ReverseTrainSwapVeh(), SendToDepot(), SetMouseCursorVehicle(), ShowVisualEffect(), Aircraft::Tick(), RoadVehicle::Tick(), Ship::Tick(), Train::Tick(), TrainApproachingCrossingEnum(), TrainApproachingCrossingTile(), TrainApproachingLineEnd(), TrainCheckIfLineEnds(), TrainController(), TrainCrashed(), UpdateAircraftSpeed(), VehicleEnter_Track(), VehicleEnterDepot(), VehicleEnteredDepotThisTick(), ViewportAddVehicles(), and ~Vehicle().
uint8_t Vehicle::waiting_triggers |
Triggers to be yet matched before rerandomizing the random bits.
Definition at line 334 of file vehicle_base.h.
Referenced by VehicleScopeResolver::GetTriggers().
int8_t Vehicle::x_bb_offs |
x offset of vehicle bounding box
Definition at line 319 of file vehicle_base.h.
Referenced by DoDrawVehicle(), RoadVehicle::UpdateDeltaXY(), and Train::UpdateDeltaXY().
uint8_t Vehicle::x_extent |
x-extent of vehicle bounding box
Definition at line 316 of file vehicle_base.h.
Referenced by DoDrawVehicle(), Aircraft::UpdateDeltaXY(), DisasterVehicle::UpdateDeltaXY(), EffectVehicle::UpdateDeltaXY(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), and Train::UpdateDeltaXY().
int8_t Vehicle::x_offs |
x offset for vehicle sprite
Definition at line 321 of file vehicle_base.h.
Referenced by DoDrawVehicle(), UpdateBoundingBoxCoordinates(), Aircraft::UpdateDeltaXY(), DisasterVehicle::UpdateDeltaXY(), EffectVehicle::UpdateDeltaXY(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), and Train::UpdateDeltaXY().
int32_t Vehicle::x_pos |
x coordinate.
Definition at line 304 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AircraftController(), AircraftGetEntryPoint(), AircraftLandAirplane(), AircraftLeaveHangar(), CcStartStopVehicle(), CheckTrainCollision(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CrashAirplane(), CreateEffectVehicle(), CreateEffectVehicleRel(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DisasterVehicle::DisasterVehicle(), DoDrawVehicle(), EnumCheckRoadVehCrashTrain(), FindNearestHangar(), FindTrainCollideEnum(), FixVehicleInclination(), GetNewVehiclePos(), GetTileHeightBelowAircraft(), HandleAircraftEnterHangar(), HandleCrashedAircraft(), HandleViewportScroll(), InitializeWindowViewport(), LoadUnloadVehicle(), NewsWindow::OnClick(), VehicleViewWindow::OnClick(), IntroGameViewportCommand::PositionForViewport(), ReverseTrainSwapVeh(), SetAircraftPosition(), ShipTestUpDownOnLock(), TicksToLeaveDepot(), TrainApproachingLineEnd(), TrainController(), UpdateBoundingBoxCoordinates(), Ship::UpdateDeltaXY(), DisasterVehicle::UpdatePosition(), UpdateStatusAfterSwap(), UpdateViewportPosition(), GroundVehicle< T, Type >::UpdateZPosition(), GroundVehicle< T, Type >::UpdateZPositionAndInclination(), VehicleEnterDepot(), and YapfTrainCheckReverse().
int8_t Vehicle::y_bb_offs |
y offset of vehicle bounding box
Definition at line 320 of file vehicle_base.h.
Referenced by DoDrawVehicle(), RoadVehicle::UpdateDeltaXY(), and Train::UpdateDeltaXY().
uint8_t Vehicle::y_extent |
y-extent of vehicle bounding box
Definition at line 317 of file vehicle_base.h.
Referenced by DoDrawVehicle(), Aircraft::UpdateDeltaXY(), DisasterVehicle::UpdateDeltaXY(), EffectVehicle::UpdateDeltaXY(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), and Train::UpdateDeltaXY().
int8_t Vehicle::y_offs |
y offset for vehicle sprite
Definition at line 322 of file vehicle_base.h.
Referenced by DoDrawVehicle(), UpdateBoundingBoxCoordinates(), Aircraft::UpdateDeltaXY(), DisasterVehicle::UpdateDeltaXY(), EffectVehicle::UpdateDeltaXY(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), and Train::UpdateDeltaXY().
int32_t Vehicle::y_pos |
y coordinate.
Definition at line 305 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AircraftController(), AircraftGetEntryPoint(), AircraftLandAirplane(), AircraftLeaveHangar(), CcStartStopVehicle(), CheckTrainCollision(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CrashAirplane(), CreateEffectVehicle(), CreateEffectVehicleRel(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DisasterVehicle::DisasterVehicle(), DoDrawVehicle(), EnumCheckRoadVehCrashTrain(), FindNearestHangar(), FindTrainCollideEnum(), FixVehicleInclination(), GetNewVehiclePos(), GetTileHeightBelowAircraft(), HandleAircraftEnterHangar(), HandleCrashedAircraft(), HandleViewportScroll(), InitializeWindowViewport(), LoadUnloadVehicle(), NewsWindow::OnClick(), VehicleViewWindow::OnClick(), IntroGameViewportCommand::PositionForViewport(), ReverseTrainSwapVeh(), SetAircraftPosition(), ShipTestUpDownOnLock(), TicksToLeaveDepot(), TrainApproachingLineEnd(), TrainController(), UpdateBoundingBoxCoordinates(), Ship::UpdateDeltaXY(), DisasterVehicle::UpdatePosition(), UpdateStatusAfterSwap(), UpdateViewportPosition(), GroundVehicle< T, Type >::UpdateZPosition(), GroundVehicle< T, Type >::UpdateZPositionAndInclination(), VehicleEnterDepot(), and YapfTrainCheckReverse().
uint8_t Vehicle::z_extent |
z-extent of vehicle bounding box
Definition at line 318 of file vehicle_base.h.
Referenced by DoDrawVehicle(), Aircraft::UpdateDeltaXY(), DisasterVehicle::UpdateDeltaXY(), EffectVehicle::UpdateDeltaXY(), RoadVehicle::UpdateDeltaXY(), Ship::UpdateDeltaXY(), and Train::UpdateDeltaXY().
int32_t Vehicle::z_pos |
z coordinate.
Definition at line 306 of file vehicle_base.h.
Referenced by AddArticulatedParts(), AffectSpeedByZChange(), AircraftController(), AircraftLeaveHangar(), CcStartStopVehicle(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRailWagon(), CmdBuildRoadVehicle(), CmdBuildShip(), CreateEffectVehicle(), CreateEffectVehicleRel(), DisasterTick_Big_Ufo(), DisasterTick_Submarine(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DisasterVehicle::DisasterVehicle(), DoDrawVehicle(), EnsureNoVehicleProcZ(), EnumCheckRoadVehCrashTrain(), FindTrainCollideEnum(), FloodVehicleProc(), HandleAircraftEnterHangar(), HandleCrashedAircraft(), HandleViewportScroll(), InitializeWindowViewport(), LoadUnloadVehicle(), NewsWindow::OnClick(), VehicleViewWindow::OnClick(), IntroGameViewportCommand::PositionForViewport(), ReleaseDisasterVehicle(), ReverseTrainSwapVeh(), SetAircraftPosition(), ShipMoveUpDownOnLock(), ShipTestUpDownOnLock(), UpdateBoundingBoxCoordinates(), GroundVehicle< T, Type >::UpdateInclination(), DisasterVehicle::UpdatePosition(), UpdateViewportPosition(), GroundVehicle< T, Type >::UpdateZPosition(), GroundVehicle< T, Type >::UpdateZPositionAndInclination(), and VehicleEnterDepot().