Vehicle Struct Reference

Inheritance diagram for Vehicle:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem<&_vehicle_pool > BaseVehicle SpecializedVehicle< T, Type > SpecializedVehicle< Aircraft, VEH_AIRCRAFT > SpecializedVehicle< DisasterVehicle, VEH_DISASTER > SpecializedVehicle< EffectVehicle, VEH_EFFECT > SpecializedVehicle< RoadVehicle, VEH_ROAD > SpecializedVehicle< Ship, VEH_SHIP > SpecializedVehicle< Train, VEH_TRAIN > Aircraft DisasterVehicle EffectVehicle RoadVehicle Ship Train

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.
VehicleNext () const
 Get the next vehicle of this vehicle.
VehiclePrevious () const
 Get the previous vehicle of this vehicle.
VehicleFirst () const
 Get the first vehicle of this vehicle chain.
VehicleLast ()
 Get the last vehicle of this vehicle chain.
const VehicleLast () const
 Get the last vehicle of this vehicle chain.
OrderGetFirstOrder () 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.
VehicleNextShared () const
 Get the next vehicle of the shared vehicle chain.
VehiclePreviousShared () const
 Get the previous vehicle of the shared vehicle chain.
VehicleFirstShared () 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.
OrderGetOrder (int index) const
 Returns order 'index' of a vehicle or NULL when it doesn't exists.
OrderGetLastOrder () 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.
CargoPaymentcargo_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
Vehiclenext_hash
Vehicle ** prev_hash
Vehiclenext_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

Vehiclenext
 pointer to the next vehicle in the chain
Vehicleprevious
 NOSAVE: pointer to the previous vehicle in the chain.
Vehiclefirst
 NOSAVE: pointer to the first vehicle in the chain.
Vehiclenext_shared
 pointer to the next vehicle that shares the order
Vehicleprevious_shared
 NOSAVE: pointer to the previous vehicle in the shared order chain.

Friends

const SaveLoadGetVehicleDescription (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.

Detailed Description

Definition at line 65 of file vehicle_base.h.


Constructor & Destructor Documentation

Vehicle::~Vehicle (  )  [virtual]

Member Function Documentation

void Vehicle::AddToShared ( Vehicle shared_chain  ) 

Adds this vehicle to a shared vehicle chain.

Parameters:
shared_chain a vehicle of the chain with shared vehicles.
Precondition:
!this->IsOrderListShared()

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.

Parameters:
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.

Parameters:
flooded whether the cause of the crash is flooding or not.
Returns:
the number of lost souls.

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.

Parameters:
location where do we go to?
destination what hangar do we go to?
reverse should the vehicle be reversed?
Returns:
true if a depot could be found.

Reimplemented 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]
Vehicle* Vehicle::FirstShared (  )  const [inline]

Get the first vehicle of this vehicle chain.

Returns:
the first vehicle of the 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.

Returns:
the vehicle's maximum speed

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.

Returns:
the vehicle's profit last year

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.

Returns:
the vehicle's profit this year

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.

Returns:
the vehicle's running cost

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.

Returns:
the vehicle's speed

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.

Parameters:
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.

Returns:
first order of order list.

Definition at line 419 of file vehicle_base.h.

Referenced by AIStationList_Vehicle::AIStationList_Vehicle(), and AIWaypointList_Vehicle::AIWaypointList_Vehicle().

virtual SpriteID Vehicle::GetImage ( Direction  direction  )  const [inline, virtual]

Gets the sprite to show for the given direction.

Parameters:
direction the direction the vehicle is facing
Returns:
the sprite for the given vehicle in the given direction

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

Returns:
last order of a vehicle, if available

Definition at line 560 of file vehicle_base.h.

Referenced by CheckOrders().

VehicleOrderID Vehicle::GetNumOrders (  )  const [inline]
Order* Vehicle::GetOrder ( int  index  )  const [inline]
virtual TileIndex Vehicle::GetOrderStationLocation ( StationID  station  )  [inline, virtual]

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

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

Parameters:
station the station to make the next location of the vehicle.
Returns:
the location (tile) to aim for.

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

Returns:
the vehicle's running cost

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.

Returns:
the string representation.

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.

Returns:
the trackdir of the vehicle

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.

Parameters:
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]
FORCEINLINE void Vehicle::InvalidateNewGRFCacheOfChain (  )  [inline]

Invalidates cached NewGRF variables of all vehicles in the chain (after the current vehicle).

See also:
InvalidateNewGRFCache

Definition at line 265 of file vehicle_base.h.

Referenced by CmdBuildAircraft(), CmdBuildRoadVeh(), CmdBuildShip(), CmdRefitAircraft(), CmdRefitRailVehicle(), CmdRefitRoadVeh(), CmdRefitShip(), and RefitVehicle().

bool Vehicle::IsEngineCountable (  )  const
virtual bool Vehicle::IsInDepot (  )  const [inline, virtual]

Check whether the vehicle is in the depot.

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

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

Returns:
true if there are other vehicles sharing the same order

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.

Returns:
true if and only if 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]
Vehicle* Vehicle::Last (  )  [inline]
bool Vehicle::NeedsAutomaticServicing (  )  const

Checks if the current order should be interupted for a service-in-depot-order.

See also:
NeedsServicing()
Returns:
true if the current order should be interupted.

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.

Parameters:
*c The vehicle owner
Returns:
true if the vehicle is old enough for replacement

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
Vehicle* Vehicle::Next (  )  const [inline]
Vehicle* Vehicle::NextShared (  )  const [inline]
Vehicle* Vehicle::Previous (  )  const [inline]

Get the previous vehicle of this vehicle.

Note:
articulated parts are also counted as vehicles.
Returns:
the previous vehicle or NULL when there isn't a previous 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.

Returns:
the previous shared vehicle or NULL when there isn't a previous vehicle.

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 
)
void Vehicle::SetNext ( Vehicle next  ) 

Set the next vehicle of this vehicle.

Parameters:
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.

Returns:
is this vehicle still valid?

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.

Parameters:
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.

Parameters:
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().


Friends And Related Function Documentation

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

Parameters:
vt the vehicle type. Can be VEH_END for the common vehicle description data
Returns:
the saveload description
Parameters:
vt the vehicle type. Can be VEH_END for the common vehicle description data
Returns:
the saveload description

Save and load of vehicles

Save and load of vehicles

Definition at line 402 of file vehicle_sl.cpp.


Field Documentation

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

Ticks to wait before starting next cycle.

Definition at line 180 of file vehicle_base.h.

Referenced by LoadUnloadVehicle(), and PrepareUnload().


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

Generated on Sat Jun 5 21:53:11 2010 for OpenTTD by  doxygen 1.6.1