OpenTTD: DisasterVehicle Struct Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Data Fields
DisasterVehicle Struct Reference

Disasters, like submarines, skyrangers and their shadows, belong to this class. More...

`#include <disaster_vehicle.h>`

Inheritance diagram for DisasterVehicle:

## Public Member Functions
| DisasterVehicle ()
| For use by saveload.
| DisasterVehicle (int x, int y, Direction direction, DisasterSubType subtype, VehicleID big_ufo_destroyer_target=VEH_INVALID)
| Construct the disaster vehicle.
virtual | ~DisasterVehicle ()
| We want to 'destruct' the right class.
void | UpdatePosition (int x, int y, int z)
| Update the position of the vehicle.
void | UpdateDeltaXY (Direction direction)
| Updates the x and y offsets and the size of the sprite used for this vehicle.
void | UpdateImage ()
bool | Tick ()
| Calls the tick handler of the vehicle.
Public Member Functions inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER >
| SpecializedVehicle ()
| Set vehicle type correctly.
DisasterVehicle * | First () const
| Get the first vehicle in the chain.
DisasterVehicle * | Last ()
| Get the last vehicle in the chain.
const DisasterVehicle * | Last () const
| Get the last vehicle in the chain.
DisasterVehicle * | Next () const
| Get next vehicle in the chain.
DisasterVehicle * | Previous () const
| Get previous vehicle in the chain.
DisasterVehicle * | GetNextArticulatedPart ()
| Get the next part of an articulated engine.
DisasterVehicle * | GetNextArticulatedPart () const
| Get the next part of an articulated engine.
DisasterVehicle * | GetFirstEnginePart ()
| Get the first part of an articulated engine.
const DisasterVehicle * | GetFirstEnginePart () const
| Get the first part of an articulated engine.
DisasterVehicle * | GetLastEnginePart ()
| Get the last part of an articulated engine.
DisasterVehicle * | GetNextVehicle () const
| Get the next real (non-articulated part) vehicle in the consist.
DisasterVehicle * | GetPrevVehicle () const
| Get the previous real (non-articulated part) vehicle in the consist.
void | UpdateViewport (bool force_update, bool update_delta)
| Update vehicle sprite- and position caches.
Public Member Functions inherited from Vehicle
| 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 & | GetGroundVehicleFlags ()
| Access the ground vehicle flags of the vehicle.
const uint16 & | 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.
void | GetConsistFreeCapacities (SmallMap< CargoID, uint > &capacities) const
| Get a map of cargoes and free capacities in the consist.
uint | GetConsistTotalCapacity () const
virtual void | MarkDirty ()
| Marks the vehicles to be redrawn and updates cached variables.
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 () 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 | 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)
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 void | OnNewDay ()
| Calls the new day handler of the vehicle.
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 * | 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 | 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 | 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 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 | 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 | UpdatePositionAndViewport ()
| Update the position of the vehicle, and update the viewport.
void | MarkAllViewportsDirty () const
| Marks viewports dirty where the vehicle's image is.
uint16 | GetServiceInterval () const
void | SetServiceInterval (uint16 interval)
bool | ServiceIntervalIsCustom () const
bool | ServiceIntervalIsPercent () const
void | SetServiceIntervalIsCustom (bool on)
void | SetServiceIntervalIsPercent (bool on)
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 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.
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.
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.
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 size, 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.

## Data Fields
SpriteID | image_override
| Override for the default disaster vehicle sprite.
VehicleID | big_ufo_destroyer_target
| The big UFO that this destroyer is supposed to bomb.
byte | flags
| Flags about the state of the vehicle,.

## Additional Inherited Members
Public Types inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER >
typedef SpecializedVehicle < DisasterVehicle, Type > | SpecializedVehicleBase
| Our type.
Static Public Member Functions inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER >
static bool | IsValidID (size_t index)
| Tests whether given index is a valid index for vehicle of this type.
static DisasterVehicle * | Get (size_t index)
| Gets vehicle with given index.
static DisasterVehicle * | GetIfValid (size_t index)
| Returns vehicle if the index is a valid index for this vehicle type.
static DisasterVehicle * | From (Vehicle *v)
| Converts a Vehicle to SpecializedVehicle with type checking.
static const DisasterVehicle * | From (const Vehicle *v)
| Converts a const Vehicle to const SpecializedVehicle with type checking.
Static Public Attributes inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER >
static const VehicleType | EXPECTED_TYPE
| Specialized type.

## Detailed Description

Disasters, like submarines, skyrangers and their shadows, belong to this class.

Definition at line 39 of file disaster_vehicle.h.

## Constructor & Destructor Documentation

DisasterVehicle::DisasterVehicle | ( |  | ) |
| inline

For use by saveload.

Definition at line 45 of file disaster_vehicle.h.

DisasterVehicle::DisasterVehicle | ( | int | x,
|  | int | y,
|  | Direction | direction,
|  | DisasterSubType | subtype,
|  | VehicleID | big_ufo_destroyer_target = `VEH_INVALID`
| ) |  |

Construct the disaster vehicle.

Parameters

  x | The X coordinate.
  y | The Y coordinate.
  direction | The direction the vehicle is facing.
  subtype | The sub type of vehicle.
  big_ufo_destroyer_target | The target for the UFO destroyer.

Definition at line 126 of file disaster_vehicle.cpp.

References Vehicle::current_order, Vehicle::direction, Order::Free(), GetAircraftFlightLevelBounds(), image_override, INVALID_DIR, Vehicle::owner, OWNER_NONE, ROTOR_Z_OFFSET, ST_AIRPLANE, ST_AIRPLANE_SHADOW, ST_BIG_SUBMARINE, ST_BIG_UFO, ST_BIG_UFO_DESTROYER, ST_BIG_UFO_DESTROYER_SHADOW, ST_BIG_UFO_SHADOW, ST_HELICOPTER, ST_HELICOPTER_ROTORS, ST_HELICOPTER_SHADOW, ST_SMALL_SUBMARINE, ST_SMALL_UFO, ST_SMALL_UFO_SHADOW, ST_ZEPPELINER, ST_ZEPPELINER_SHADOW, Vehicle::subtype, Vehicle::tile, TileVirtXY(), UpdateDeltaXY(), Vehicle::UpdatePositionAndViewport(), Vehicle::vehstatus, VS_SHADOW, VS_UNCLICKABLE, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.

virtual DisasterVehicle::~DisasterVehicle | ( |  | ) |
| inlinevirtual

We want to 'destruct' the right class.

Definition at line 48 of file disaster_vehicle.h.

## Member Function Documentation

bool DisasterVehicle::Tick | ( |  | ) |
| virtual

Calls the tick handler of the vehicle.

Returns
  is this vehicle still valid?

Reimplemented from Vehicle.

Definition at line 694 of file disaster_vehicle.cpp.

References Vehicle::subtype.

void DisasterVehicle::UpdateDeltaXY | ( | Direction | direction | ) |
| 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 from Vehicle.

Definition at line 976 of file disaster_vehicle.cpp.

References Vehicle::x_extent, Vehicle::x_offs, Vehicle::y_extent, Vehicle::y_offs, and Vehicle::z_extent.

Referenced by DisasterVehicle().

void DisasterVehicle::UpdatePosition | ( | int | x,
|  | int | y,
|  | int | z
| ) |  |

Update the position of the vehicle.

Parameters

  x | The new X-coordinate.
  y | The new Y-coordinate.
  z | The new Z-coordinate.

Definition at line 182 of file disaster_vehicle.cpp.

References Clamp(), Vehicle::direction, MapMaxX(), MapMaxY(), max(), SpecializedVehicle< DisasterVehicle, VEH_DISASTER >::Next(), SpecializedVehicle< T, Type >::Next(), ROTOR_Z_OFFSET, Vehicle::tile, TILE_SIZE, TileVirtXY(), Vehicle::UpdatePositionAndViewport(), Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.

Referenced by DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Submarine(), DisasterTick_Ufo(), and DisasterTick_Zeppeliner().

## Field Documentation

byte DisasterVehicle::flags

Flags about the state of the vehicle,.

See Also
  AirVehicleFlags

Definition at line 42 of file disaster_vehicle.h.

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

- src/disaster_vehicle.h
- src/disaster_vehicle.cpp