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. | |
![]() | |
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. | |
![]() | |
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 SpriteID | GetImage (Direction direction, EngineImageType image_type) 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. | |
![]() | |
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. | |
![]() | |
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 | |
![]() | |
typedef SpecializedVehicle < DisasterVehicle, Type > | SpecializedVehicleBase |
Our type. | |
![]() | |
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 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 693 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 975 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.