| OpenTTD
    | 
Disasters, like submarines, skyrangers and their shadows, belong to this class. More...
#include <disaster_vehicle.h>
 
  
 | 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. | |
Disasters, like submarines, skyrangers and their shadows, belong to this class.
Definition at line 39 of file disaster_vehicle.h.
| 
 | 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.
| 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.
| 
 | inlinevirtual | 
We want to 'destruct' the right class.
Definition at line 48 of file disaster_vehicle.h.
| 
 | virtual | 
Calls the tick handler of the vehicle.
Reimplemented from Vehicle.
Definition at line 694 of file disaster_vehicle.cpp.
References Vehicle::subtype.
| 
 | 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 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.
| 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().
| byte DisasterVehicle::flags | 
Flags about the state of the vehicle,.
Definition at line 42 of file disaster_vehicle.h.
 1.8.1.2
 1.8.1.2