Public Member Functions | |
Vehicle (VehicleType type=VEH_INVALID) | |
Create a new vehicle. | |
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 () |
void | LeaveStation () |
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 const char * | GetTypeString () const |
Get a string 'representation' of the vehicle type. | |
virtual void | MarkDirty () |
Marks the vehicles to be redrawn and updates cached variables. | |
virtual void | UpdateDeltaXY (Direction direction) |
Updates the x and y offsets and the size of the sprite used for this vehicle. | |
virtual ExpensesType | GetExpenseType (bool income) const |
Sets the expense type associated to this vehicle type. | |
virtual void | PlayLeaveStationSound () const |
Play the sound associated with leaving the station. | |
virtual bool | IsPrimaryVehicle () const |
Whether this is the primary vehicle in the chain. | |
virtual SpriteID | GetImage (Direction direction) const |
Gets the sprite to show for the given direction. | |
FORCEINLINE void | InvalidateNewGRFCache () |
Invalidates cached NewGRF variables. | |
FORCEINLINE void | InvalidateNewGRFCacheOfChain () |
Invalidates cached NewGRF variables of all vehicles in the chain (after the current 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 Money | GetRunningCost () const |
Gets the running cost of a vehicle. | |
virtual bool | IsInDepot () const |
Check whether the vehicle is in the depot. | |
virtual 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 | OnNewDay () |
Calls the new day handler of the vehicle. | |
virtual uint | Crash (bool flooded=false) |
Crash the (whole) vehicle chain. | |
void | UpdateViewport (bool moved, bool turned) |
Update vehicle sprite- and position caches. | |
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. | |
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. | |
void | CopyVehicleConfigAndStatistics (const Vehicle *src) |
Copy certain configurations and statistics of a vehicle after successful autoreplace/renew The function shall copy everything that cannot be copied by a command (like orders / group etc), and that shall not be resetted for the new vehicle. | |
bool | NeedsAutorenewing (const Company *c) 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 interupted for a service-in-depot-order. | |
virtual TileIndex | GetOrderStationLocation (StationID station) |
Determine the location for the station where the vehicle goes to next. | |
virtual bool | FindClosestDepot (TileIndex *location, DestinationID *destination, bool *reverse) |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse. | |
CommandCost | SendToDepot (DoCommandFlag flags, DepotCommand command) |
Send this vehicle to the depot using the given command(s). | |
void | IncrementOrderIndex () |
Increments cur_order_index, keeps care of the wrap-around and invalidates the GUI. | |
Order * | GetOrder (int index) const |
Returns order 'index' of a vehicle or NULL when it doesn't exists. | |
Order * | GetLastOrder () const |
Returns the last order of a vehicle, or NULL if it doesn't exists. | |
bool | IsEngineCountable () const |
Check if a vehicle is counted in num_engines in each company struct. | |
Data Fields | |
char * | name |
Name of vehicle. | |
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. | |
uint32 | current_order_time |
How many ticks have passed since this order started. | |
int32 | lateness_counter |
How many ticks late (or early if negative) this vehicle is. | |
Date | timetable_start |
When the vehicle is supposed to start the timetable. | |
Rect | coord |
Vehicle * | next_hash |
Vehicle ** | prev_hash |
Vehicle * | next_new_hash |
Vehicle ** | prev_new_hash |
Vehicle ** | old_new_hash |
SpriteID | colourmap |
Year | build_year |
Date | age |
Date | max_age |
Date | date_of_last_service |
Date | service_interval |
uint16 | reliability |
uint16 | reliability_spd_dec |
byte | breakdown_ctr |
byte | breakdown_delay |
byte | breakdowns_since_last_service |
byte | breakdown_chance |
int32 | x_pos |
int32 | y_pos |
byte | z_pos |
DirectionByte | direction |
OwnerByte | owner |
byte | spritenum |
uint16 | cur_image |
byte | x_extent |
byte | y_extent |
byte | z_extent |
int8 | x_offs |
int8 | y_offs |
EngineID | engine_type |
TextEffectID | fill_percent_te_id |
UnitID | unitnumber |
uint16 | max_speed |
maximum speed | |
uint16 | cur_speed |
current speed | |
byte | subspeed |
fractional speed | |
byte | acceleration |
used by train & aircraft | |
uint32 | motion_counter |
byte | progress |
byte | random_bits |
byte | waiting_triggers |
triggers to be yet matched | |
StationID | last_station_visited |
CargoID | cargo_type |
type of cargo this vehicle is carrying | |
byte | cargo_subtype |
Used for livery refits (NewGRF variations). | |
uint16 | cargo_cap |
total capacity | |
VehicleCargoList | cargo |
The cargo this vehicle is carrying. | |
byte | day_counter |
Increased by one for each day. | |
byte | tick_counter |
Increased by one for each tick. | |
byte | running_ticks |
Number of ticks this vehicle was not stopped this day. | |
byte | vehstatus |
Status. | |
Order | current_order |
The current order (+ status, like: loading). | |
VehicleOrderID | cur_order_index |
The index to the current order. | |
union { | |
OrderList * list | |
Pointer to the order list for this vehicle. | |
Order * old | |
Only used during conversion of old save games. | |
} | orders |
byte | vehicle_flags |
Used for gradual loading and other miscellaneous things (. | |
uint16 | load_unload_ticks |
Ticks to wait before starting next cycle. | |
GroupID | group_id |
Index of group Pool array. | |
byte | subtype |
subtype (Filled with values from EffectVehicles/TrainSubTypes/AircraftSubTypes) | |
VehicleCache | vcache |
Cache of often used calculated values. | |
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 | |
const SaveLoad * | GetVehicleDescription (VehicleType vt) |
So we can use private/protected variables in the saveload code. | |
bool | AfterLoadGame () |
void | FixOldVehicles () |
void | AfterLoadVehicles (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. |
Definition at line 65 of file vehicle_base.h.
Vehicle::~Vehicle | ( | ) | [virtual] |
We want to 'destruct' the right class.
Definition at line 613 of file vehicle.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::CleaningPool(), DeleteVehicleNews(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, INVALID_STRING_ID, MarkSingleVehicleDirty(), name, Next(), SetNext(), and vehstatus.
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 1699 of file vehicle.cpp.
References OrderList::AddVehicle(), list, next_shared, and previous_shared.
Referenced by AfterLoadVehicles(), CmdCloneOrder(), and CmdSellRailWagon().
void Vehicle::CopyVehicleConfigAndStatistics | ( | const Vehicle * | src | ) | [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 469 of file vehicle_base.h.
References cur_order_index, current_order, current_order_time, dest_tile, HasBit(), lateness_counter, profit_last_year, profit_this_year, SetBit(), timetable_start, vehicle_flags, VF_AUTOFILL_PRES_WAIT_TIME, VF_AUTOFILL_TIMETABLE, and VF_TIMETABLE_STARTED.
Referenced by CmdSellRailWagon(), and CopyHeadSpecificThings().
uint Vehicle::Crash | ( | bool | flooded = false |
) | [virtual] |
Crash the (whole) vehicle chain.
flooded | whether the cause of the crash is flooding or not. |
Reimplemented in Aircraft, RoadVehicle, and Train.
Definition at line 164 of file vehicle.cpp.
References CC_PASSENGERS, GetWindowClassForVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, InvalidateWindowClassesData(), IsCargoInClass(), MarkSingleVehicleDirty(), Previous(), SetWindowDirty(), SetWindowWidgetDirty(), tile, BaseVehicle::type, and vehstatus.
virtual bool Vehicle::FindClosestDepot | ( | TileIndex * | location, | |
DestinationID * | destination, | |||
bool * | reverse | |||
) | [inline, virtual] |
Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse.
location | where do we go to? | |
destination | what hangar do we go to? | |
reverse | should the vehicle be reversed? |
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 525 of file vehicle_base.h.
Referenced by SendToDepot(), and UpdateOrderDest().
Vehicle* Vehicle::First | ( | ) | const [inline] |
Get the first vehicle of this vehicle chain.
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, VEH_TRAIN >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, and SpecializedVehicle< RoadVehicle, VEH_ROAD >.
Definition at line 391 of file vehicle_base.h.
References first.
Referenced by AfterLoadVehicles(), BuildRefitList(), CheckCaches(), FirstShared(), GetBestFittingSubType(), GetEngineLivery(), GetNewCargoTypeForReplace(), DepotWindow::HandleCloneVehClick(), PositionHelper(), ReplaceChain(), and VerifyAutoreplaceRefitForOrders().
Vehicle* Vehicle::FirstShared | ( | ) | const [inline] |
Get the first vehicle of this vehicle chain.
Definition at line 449 of file vehicle_base.h.
References First().
Referenced by BackupVehicleOrders(), CheckOrders(), CmdAddSharedVehicleGroup(), CmdAutofillTimetable(), CmdCloneOrder(), CmdDeleteOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), RemoveFromShared(), and RemoveOrderFromAllVehicles().
virtual int Vehicle::GetDisplayMaxSpeed | ( | ) | const [inline, virtual] |
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 282 of file vehicle_base.h.
Referenced by VehicleDetailsWindow::DrawWidget(), and ProcessConditionalOrder().
Money Vehicle::GetDisplayProfitLastYear | ( | ) | const [inline] |
Gets the profit vehicle had last year.
It can be sent into SetDParam for string processing.
Definition at line 365 of file vehicle_base.h.
References profit_last_year.
Referenced by BaseVehicleListWindow::DrawVehicleListItems(), DrawVehicleProfitButton(), and VehicleDetailsWindow::DrawWidget().
Money Vehicle::GetDisplayProfitThisYear | ( | ) | const [inline] |
Gets the profit vehicle had this year.
It can be sent into SetDParam for string processing.
Definition at line 359 of file vehicle_base.h.
References profit_this_year.
Referenced by BaseVehicleListWindow::DrawVehicleListItems(), and VehicleDetailsWindow::DrawWidget().
Money Vehicle::GetDisplayRunningCost | ( | ) | const [inline] |
Gets the running cost of a vehicle that can be sent into SetDParam for string processing.
Definition at line 353 of file vehicle_base.h.
References GetRunningCost().
Referenced by VehicleDetailsWindow::DrawWidget().
virtual int Vehicle::GetDisplaySpeed | ( | ) | const [inline, virtual] |
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 276 of file vehicle_base.h.
Referenced by VehicleViewWindow::DrawWidget().
virtual ExpensesType Vehicle::GetExpenseType | ( | bool | income | ) | const [inline, virtual] |
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 233 of file vehicle_base.h.
References EXPENSES_OTHER.
Referenced by RefitVehicle().
Order* Vehicle::GetFirstOrder | ( | ) | const [inline] |
Get the first order of the vehicles order list.
Definition at line 419 of file vehicle_base.h.
Referenced by AIStationList_Vehicle::AIStationList_Vehicle(), and AIWaypointList_Vehicle::AIWaypointList_Vehicle().
Gets the sprite to show for the given direction.
direction | the direction the vehicle is facing |
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 250 of file vehicle_base.h.
Referenced by AfterLoadVehicles(), DepotWindow::DepotClick(), DrawAircraftImage(), DrawShipImage(), DepotWindow::DrawVehicleInDepot(), VehicleDetailsWindow::DrawWidget(), VehicleGroupWindow::OnClick(), and UpdateViewport().
Order* Vehicle::GetLastOrder | ( | ) | const [inline] |
Returns the last order of a vehicle, or NULL if it doesn't exists.
Definition at line 560 of file vehicle_base.h.
Referenced by CheckOrders().
VehicleOrderID Vehicle::GetNumOrders | ( | ) | const [inline] |
Get the number of orders this vehicle has.
Definition at line 461 of file vehicle_base.h.
Referenced by TimetableWindow::BuildArrivalDepartureList(), CheckNextTrainTile(), CheckOrders(), CmdCloneOrder(), CmdDeleteOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdRestoreOrderIndex(), CmdSkipToOrder(), VehicleViewWindow::DrawWidget(), TimetableWindow::DrawWidget(), FillTimetableArrivalDepartureTable(), IncrementOrderIndex(), TimetableWindow::OnClick(), OrdersWindow::OnClick(), OrdersWindow::OnDragDrop(), TimetableWindow::OnInvalidateData(), OrdersWindow::OnInvalidateData(), TimetableWindow::OnPaint(), OrdersWindow::OrderClick_Delete(), OrdersWindow::OrderClick_Skip(), OrdersWindow::OrderGetSel(), ProcessOrders(), VehicleOrderSaver::SwitchToNextOrder(), and UpdateOrderDest().
Order* Vehicle::GetOrder | ( | int | index | ) | const [inline] |
Returns order 'index' of a vehicle or NULL when it doesn't exists.
index | the order to fetch |
Definition at line 551 of file vehicle_base.h.
Referenced by CmdChangeTimetable(), CmdDeleteOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), TimetableWindow::DrawWidget(), OrdersWindow::DrawWidget(), FillTimetableArrivalDepartureTable(), TimetableWindow::OnClick(), OrdersWindow::OnClick(), TimetableWindow::OnPaint(), OrdersWindow::OnQueryTextFinished(), OrdersWindow::OrderClick_FullLoad(), OrdersWindow::OrderClick_Nonstop(), OrdersWindow::OrderClick_Service(), OrdersWindow::OrderClick_Unload(), ProcessOrders(), ResolveOrder(), OrdersWindow::SetStringParameters(), VehicleOrderSaver::SwitchToNextOrder(), and UpdateOrderDest().
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 515 of file vehicle_base.h.
References INVALID_TILE.
Referenced by UpdateOrderDest().
virtual Money Vehicle::GetRunningCost | ( | ) | const [inline, virtual] |
Gets the running cost of a vehicle.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 288 of file vehicle_base.h.
Referenced by GetDisplayRunningCost().
virtual const char* Vehicle::GetTypeString | ( | ) | const [inline, virtual] |
Get a string 'representation' of the vehicle type.
Reimplemented in Aircraft, EffectVehicle, RoadVehicle, Ship, Train, and DisasterVehicle.
Definition at line 210 of file vehicle_base.h.
virtual Trackdir Vehicle::GetVehicleTrackdir | ( | ) | const [inline, virtual] |
Returns the Trackdir on which the vehicle is currently located.
Works for trains and ships. Currently works only sortof for road vehicles, since they have a fuzzy concept of being "on" a trackdir. Dunno really what it returns for a road vehicle that is halfway a tile, never really understood that part. For road vehicles that are at the beginning or end of the tile, should just return the diagonal trackdir on which they are driving. I _think_. For other vehicles types, or vehicles with no clear trackdir (such as those in depots), returns 0xFF.
Reimplemented in RoadVehicle, Ship, and Train.
Definition at line 347 of file vehicle_base.h.
References INVALID_TRACKDIR.
Referenced by RemoveFromRailBaseStation().
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 1584 of file vehicle.cpp.
References _settings_game, current_order, Order::GetNonStopType(), Order::GetType(), HasBit(), IncrementOrderIndex(), max(), ONSF_STOP_EVERYWHERE, GameSettings::order, PlayLeaveStationSound(), OrderSettings::timetabling, vehicle_flags, and Order::wait_time.
void Vehicle::IncrementOrderIndex | ( | ) | [inline] |
Increments cur_order_index, keeps care of the wrap-around and invalidates the GUI.
Note: current_order is not invalidated.
Definition at line 539 of file vehicle_base.h.
References cur_order_index, GetNumOrders(), and InvalidateVehicleOrder().
Referenced by Train::GetOrderStationLocation(), Ship::GetOrderStationLocation(), RoadVehicle::GetOrderStationLocation(), HandleLoading(), ProcessOrders(), SendToDepot(), and UpdateOrderDest().
FORCEINLINE void Vehicle::InvalidateNewGRFCache | ( | ) | [inline] |
Invalidates cached NewGRF variables.
Definition at line 256 of file vehicle_base.h.
References VehicleCache::cache_valid, and vcache.
Referenced by BuildRefitList(), CheckTrainAttachment(), CmdBuildRoadVeh(), CmdSetCompanyColour(), Train::ConsistChanged(), and GetBestFittingSubType().
FORCEINLINE void Vehicle::InvalidateNewGRFCacheOfChain | ( | ) | [inline] |
Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle).
Definition at line 265 of file vehicle_base.h.
Referenced by CmdBuildAircraft(), CmdBuildRoadVeh(), CmdBuildShip(), CmdRefitAircraft(), CmdRefitRailVehicle(), CmdRefitRoadVeh(), CmdRefitShip(), and RefitVehicle().
bool Vehicle::IsEngineCountable | ( | ) | const |
Check if a vehicle is counted in num_engines in each company struct.
Definition at line 537 of file vehicle.cpp.
References SpecializedVehicle< RoadVehicle, VEH_ROAD >::From(), SpecializedVehicle< Train, VEH_TRAIN >::From(), SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), Train::IsArticulatedPart(), Aircraft::IsNormalAircraft(), Train::IsRearDualheaded(), RoadVehicle::IsRoadVehFront(), BaseVehicle::type, VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, and VEH_TRAIN.
Referenced by CmdAddVehicleGroup(), PreDestructor(), and SetCachedEngineCounts().
virtual bool Vehicle::IsInDepot | ( | ) | const [inline, virtual] |
Check whether the vehicle is in the depot.
Reimplemented in Aircraft, RoadVehicle, Ship, and Train.
Definition at line 294 of file vehicle_base.h.
Referenced by BuildDepotVehicleList(), CmdAutoreplaceVehicle(), CmdDepotMassAutoReplace(), BaseVehicleListWindow::DrawVehicleListItems(), and IsStoppedInDepot().
bool Vehicle::IsOrderListShared | ( | ) | const [inline] |
Check if we share our orders with another vehicle.
Definition at line 455 of file vehicle_base.h.
Referenced by BackupVehicleOrders(), CmdCloneOrder(), DeleteVehicleOrders(), OrdersWindow::DrawWidget(), and TimetableWindow::OnPaint().
virtual bool Vehicle::IsStoppedInDepot | ( | ) | const [inline, virtual] |
Check whether the vehicle is in the depot *and* stopped.
Reimplemented in RoadVehicle, and Train.
Definition at line 300 of file vehicle_base.h.
References IsInDepot(), and vehstatus.
Referenced by CmdAutoreplaceVehicle(), CmdRefitAircraft(), CmdRefitShip(), CmdSellAircraft(), CmdSellShip(), CmdStartStopVehicle(), AIVehicle::GetState(), IsVehicleRefitable(), VehicleViewWindow::OnTick(), and SendToDepot().
const Vehicle* Vehicle::Last | ( | ) | const [inline] |
Get the last vehicle of this vehicle chain.
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, VEH_TRAIN >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, and SpecializedVehicle< RoadVehicle, VEH_ROAD >.
Definition at line 408 of file vehicle_base.h.
References Next().
Vehicle* Vehicle::Last | ( | ) | [inline] |
Get the last vehicle of this vehicle chain.
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, VEH_TRAIN >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, and SpecializedVehicle< RoadVehicle, VEH_ROAD >.
Definition at line 397 of file vehicle_base.h.
References Next().
bool Vehicle::NeedsAutomaticServicing | ( | ) | const |
Checks if the current order should be interupted for a service-in-depot-order.
Definition at line 156 of file vehicle.cpp.
References _settings_game, current_order, Order::GetDepotOrderType(), OrderSettings::gotodepot, Order::IsType(), NeedsServicing(), ODTFB_SERVICE, GameSettings::order, and VehicleHasDepotOrders().
bool Vehicle::NeedsAutorenewing | ( | const Company * | c | ) | const |
Function to tell if a vehicle needs to be autorenewed.
*c | The vehicle owner |
Definition at line 73 of file vehicle.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_company_pool >::Get().
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 96 of file vehicle.cpp.
References _date, _settings_game, cargo_type, CT_INVALID, GameSettings::difficulty, CompanySettings::engine_renew_money, EngineReplacementForCompany(), SpecializedVehicle< Train, VEH_TRAIN >::From(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_engine_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), GetArticulatedRefitMasks(), Train::GetNextUnit(), HasBit(), IsArticulatedVehicleCarryingDifferentCargos(), OrderSettings::no_servicing_if_no_breakdowns, GameSettings::order, VehicleDefaultSettings::servint_ispercent, Company::settings, VEH_TRAIN, CompanySettings::vehicle, DifficultySettings::vehicle_breakdowns, and vehstatus.
Referenced by NeedsAutomaticServicing(), ProcessConditionalOrder(), VehicleOrderSaver::SwitchToNextOrder(), and UpdateOrderDest().
Vehicle* Vehicle::Next | ( | ) | const [inline] |
Get the next vehicle of this vehicle.
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, VEH_TRAIN >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, and SpecializedVehicle< RoadVehicle, VEH_ROAD >.
Definition at line 378 of file vehicle_base.h.
References next.
Referenced by AfterLoadVehicles(), BuildRefitList(), CalcPercentVehicleFilled(), CheckConsistencyOfArticulatedVehicle(), CmdCloneVehicle(), CmdReverseTrainDirection(), DrawRoadVehDetails(), AIVehicle::GetLength(), GetNewCargoTypeForReplace(), IsArticulatedVehicleCarryingDifferentCargos(), IsVehicleRefitable(), Last(), LoadUnloadVehicle(), Train::MarkDirty(), DepotWindow::OnRightClick(), PositionHelper(), PrepareUnload(), RefitVehicle(), RemoveFromRailBaseStation(), SetNext(), TransferCargo(), VehicleDetailsWindow::UpdateWidgetSize(), VehicleCargoSorter(), VehicleValueSorter(), WhoCanServiceIndustry(), and ~Vehicle().
Vehicle* Vehicle::NextShared | ( | ) | const [inline] |
Get the next vehicle of the shared vehicle chain.
Definition at line 437 of file vehicle_base.h.
References next_shared.
Referenced by AfterLoadVehicles(), AIVehicleList_SharedOrders::AIVehicleList_SharedOrders(), BackupVehicleOrders(), CmdAddSharedVehicleGroup(), CmdAutofillTimetable(), CmdDeleteOrder(), CmdInsertOrder(), CmdModifyOrder(), CmdMoveOrder(), CmdOrderRefit(), OrderList::DebugCheckSanity(), GenerateVehicleSortList(), OrderList::Initialize(), OrderList::IsVehicleInSharedOrdersList(), RemoveFromShared(), RemoveOrderFromAllVehicles(), and OrderList::RemoveVehicle().
Vehicle* Vehicle::Previous | ( | ) | const [inline] |
Get the previous vehicle of this vehicle.
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, VEH_TRAIN >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, and SpecializedVehicle< RoadVehicle, VEH_ROAD >.
Definition at line 385 of file vehicle_base.h.
References previous.
Referenced by AfterLoadVehicles(), Crash(), and PreDestructor().
Vehicle* Vehicle::PreviousShared | ( | ) | const [inline] |
Get the previous vehicle of the shared vehicle chain.
Definition at line 443 of file vehicle_base.h.
References previous_shared.
Referenced by AfterLoadVehicles(), OrderList::GetPositionInSharedOrderList(), and OrderList::Initialize().
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 1612 of file vehicle.cpp.
References AircraftNextAirportPos_and_Order(), CheckOwnership(), CMD_ERROR, CMD_REVERSE_TRAIN_DIRECTION, current_order, DC_EXEC, DEPOT_DONT_CANCEL, DEPOT_SERVICE, dest_tile, DoCommand(), FindClosestDepot(), SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), Order::GetDepotActionType(), Order::GetDepotOrderType(), IncrementOrderIndex(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool >::index, IsStoppedInDepot(), Order::IsType(), Order::MakeDummy(), Order::MakeGoToDepot(), ODATF_SERVICE_ONLY, ODATFB_HALT, ODTF_MANUAL, ODTFB_PART_OF_ORDERS, return_cmd_error, Order::SetDepotActionType(), Order::SetDepotOrderType(), SetWindowWidgetDirty(), tile, VEH_AIRCRAFT, VEH_TRAIN, and vehstatus.
Referenced by CmdSendAircraftToHangar(), CmdSendRoadVehToDepot(), CmdSendShipToDepot(), and CmdSendTrainToDepot().
void Vehicle::SetNext | ( | Vehicle * | next | ) |
Set the next vehicle of this vehicle.
next | the next vehicle. NULL removes the next vehicle. |
Definition at line 1675 of file vehicle.cpp.
References first, next, Next(), and previous.
Referenced by CheckTrainAttachment(), CmdBuildAircraft(), DeleteLastWagon(), Disaster_Helicopter_Init(), Disaster_Small_Ufo_Init(), Disaster_Zeppeliner_Init(), DisasterTick_Big_Ufo(), InsertInConsist(), RemoveFromConsist(), RestoreTrainBackup(), and ~Vehicle().
virtual bool Vehicle::Tick | ( | ) | [inline, virtual] |
Calls the tick handler of the vehicle.
Reimplemented in Aircraft, EffectVehicle, RoadVehicle, Ship, Train, and DisasterVehicle.
Definition at line 306 of file vehicle_base.h.
virtual void Vehicle::UpdateDeltaXY | ( | Direction | direction | ) | [inline, virtual] |
Updates the x and y offsets and the size of the sprite used for this vehicle.
direction | the direction the vehicle is facing |
Reimplemented in Aircraft, EffectVehicle, RoadVehicle, Ship, Train, and DisasterVehicle.
Definition at line 227 of file vehicle_base.h.
Referenced by AfterLoadVehicles(), and UpdateViewport().
void Vehicle::UpdateViewport | ( | bool | moved, | |
bool | turned | |||
) | [inline] |
Update vehicle sprite- and position caches.
moved | Was the vehicle moved? | |
turned | Did the vehicle direction change? |
Definition at line 325 of file vehicle_base.h.
References GetImage(), UpdateDeltaXY(), and VehicleMove().
Referenced by Train::MarkDirty(), Ship::MarkDirty(), RoadVehicle::MarkDirty(), and Aircraft::MarkDirty().
void AfterLoadVehicles | ( | bool | part_of_load | ) | [friend] |
So we can set the previous and first pointers while loading.
For instantiating the shared vehicle chain.
Definition at line 241 of file vehicle_sl.cpp.
const SaveLoad* GetVehicleDescription | ( | VehicleType | vt | ) | [friend] |
So we can use private/protected variables in the saveload code.
Saving and loading the current order of vehicles.
The vehicles have a cargo list (and we want that saved).
vt | the vehicle type. Can be VEH_END for the common vehicle description data |
vt | the vehicle type. Can be VEH_END for the common vehicle description data |
Save and load of vehicles
Save and load of vehicles
Definition at line 402 of file vehicle_sl.cpp.
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 heuristical purposes to estimate the distance.
Definition at line 89 of file vehicle_base.h.
Referenced by CheckNextTrainTile(), CopyVehicleConfigAndStatistics(), Disaster_Small_Ufo_Init(), DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Ufo(), Train::OnNewDay(), ProcessOrders(), ReleaseDisastersTargetingIndustry(), ReleaseDisastersTargetingVehicle(), RemoveRoadStop(), RoadFindPathToDest(), SendToDepot(), and UpdateOrderDest().
uint16 Vehicle::load_unload_ticks |
Ticks to wait before starting next cycle.
Definition at line 180 of file vehicle_base.h.
Referenced by LoadUnloadVehicle(), and PrepareUnload().
Used for gradual loading and other miscellaneous things (.
Definition at line 177 of file vehicle_base.h.
Referenced by TimetableWindow::BuildArrivalDepartureList(), CalcPercentVehicleFilled(), CmdAutofillTimetable(), CmdBuildAircraft(), CmdBuildRailVehicle(), CmdBuildRoadVeh(), CmdBuildShip(), CmdSetTimetableStart(), CopyVehicleConfigAndStatistics(), TimetableWindow::DrawWidget(), HandleLoading(), LoadUnloadVehicle(), TimetableWindow::OnClick(), TimetableWindow::OnPaint(), and PrepareUnload().