|
OpenTTD Source 20251104-master-g3befbdd52f
|
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=VehicleID::Invalid()) | |
| Construct the disaster vehicle. | |
| virtual | ~DisasterVehicle ()=default |
| We want to 'destruct' the right class. | |
| void | UpdatePosition (int x, int y, int z) |
| Update the position of the vehicle. | |
| void | UpdateDeltaXY () override |
| Updates the x and y offsets and the size of the sprite used for this vehicle. | |
| void | UpdateImage () |
| bool | Tick () override |
| 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 | |
| virtual uint16_t | GetMaxWeight () const |
| Calculates the weight value that this vehicle will have when fully loaded with its current cargo. | |
| 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_t & | GetGroundVehicleFlags () |
| Access the ground vehicle flags of the vehicle. | |
| const uint16_t & | 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. | |
| 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 (bool force=false) 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_t | 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) | |
| debug_inline 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 string parameters for string processing. | |
| virtual int | GetDisplayMaxSpeed () const |
| Gets the maximum speed in km-ish/h that can be sent into string parameters 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 | OnNewCalendarDay () |
| Calls the new calendar day handler of the vehicle. | |
| virtual void | OnNewEconomyDay () |
| Calls the new economy day handler of the vehicle. | |
| void | ShiftDates (TimerGameEconomy::Date interval) |
| Shift all dates by given interval. | |
| 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 string parameters 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. | |
| 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. | |
| const Order * | GetFirstOrder () const |
| Get the first order of the vehicles order list. | |
| std::span< const Order > | Orders () const |
| std::span< Order > | Orders () |
| 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. | |
| void | GetNextStoppingStation (std::vector< StationID > &next_station) const |
| Get the next station the vehicle will stop at. | |
| void | ResetRefitCaps () |
| Reset all refit_cap in the consist to cargo_cap. | |
| void | ReleaseUnitNumber () |
| Release the vehicle's unit number. | |
| void | CopyVehicleConfigAndStatistics (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 reset 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 TileIndex | GetCargoTile () const |
| virtual ClosestDepot | FindClosestDepot () |
| Find the closest depot for this vehicle and tell us the location, DestinationID and whether we should reverse. | |
| virtual void | SetDestTile (TileIndex tile) |
| CommandCost | SendToDepot (DoCommandFlags flags, DepotCommandFlags 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 | UpdateBoundingBoxCoordinates (bool update_cache) const |
| Update the bounding box co-ordinates of the vehicle. | |
| void | UpdatePositionAndViewport () |
| Update the position of the vehicle, and update the viewport. | |
| bool | MarkAllViewportsDirty () const |
| Marks viewports dirty where the vehicle's image is. | |
| uint16_t | GetServiceInterval () const |
| void | SetServiceInterval (uint16_t interval) |
| bool | ServiceIntervalIsCustom () const |
| bool | ServiceIntervalIsPercent () const |
| void | SetServiceIntervalIsCustom (bool on) |
| void | SetServiceIntervalIsPercent (bool on) |
| bool | HasFullLoadOrder () const |
| Check if the current vehicle has a full load order. | |
| bool | HasConditionalOrder () const |
| Check if the current vehicle has a conditional order. | |
| bool | HasUnbunchingOrder () const |
| Check if the current vehicle has an unbunching order. | |
| void | LeaveUnbunchingDepot () |
| Leave an unbunching depot and calculate the next departure time for shared order vehicles. | |
| bool | IsWaitingForUnbunching () const |
| Check whether a vehicle inside a depot is waiting for unbunching. | |
| 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 nullptr when it doesn't exists. | |
| const Order * | GetLastOrder () const |
| Returns the last order of a vehicle, or nullptr 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. | |
| debug_inline 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. | |
| Vehicle * | GetNextArticulatedPart () const |
| Get the next part of an articulated engine. | |
| Vehicle * | GetFirstEnginePart () |
| Get the first part of an articulated engine. | |
| const Vehicle * | GetFirstEnginePart () const |
| Get the first part of an articulated engine. | |
| Vehicle * | GetLastEnginePart () |
| Get the last part of an articulated engine. | |
| Vehicle * | GetNextVehicle () const |
| Get the next real (non-articulated part) vehicle in the consist. | |
| Vehicle * | GetPrevVehicle () const |
| Get the previous real (non-articulated part) vehicle in the consist. | |
| uint32_t | GetDisplayMaxWeight () const |
| Calculates the maximum weight of the ground vehicle when loaded. | |
| uint32_t | GetDisplayMinPowerToWeight () const |
| Calculates the minimum power-to-weight ratio using the maximum weight of the ground vehicle. | |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool > | |
| void * | operator new (size_t size) |
| Allocates space for new Titem. | |
| void * | operator new (size_t size, Tindex index) |
| Allocates space for new Titem with given index. | |
| void * | operator new (size_t, void *ptr) |
| Allocates space for new Titem at given memory address. | |
| void | operator delete (void *p, size_t size) |
| Marks Titem as free. | |
Public Member Functions inherited from BaseConsist | |
| void | CopyConsistPropertiesFrom (const BaseConsist *src) |
| Copy properties of other BaseConsist. | |
| void | ResetDepotUnbunching () |
| Resets all the data used for depot unbunching. | |
Data Fields | ||
| SpriteID | image_override {} | |
| Override for the default disaster vehicle sprite. | ||
| VehicleID | big_ufo_destroyer_target = VehicleID::Invalid() | |
| The big UFO that this destroyer is supposed to bomb. | ||
| uint8_t | flags = 0 | |
| Flags about the state of the vehicle,. | ||
| uint16_t | state = 0 | |
| Action stage of the disaster vehicle. | ||
Data Fields inherited from Vehicle | ||
| TileIndex | tile = INVALID_TILE | |
| Current tile index. | ||
| TileIndex | dest_tile = INVALID_TILE | |
| Heading for this tile. | ||
| Money | profit_this_year = 0 | |
| Profit this year << 8, low 8 bits are fract. | ||
| Money | profit_last_year = 0 | |
| Profit last year << 8, low 8 bits are fract. | ||
| Money | value = 0 | |
| Value of the vehicle. | ||
| CargoPayment * | cargo_payment = nullptr | |
| The cargo payment we're currently in. | ||
| Rect | coord {} | |
| NOSAVE: Graphical bounding box of the vehicle, i.e. what to redraw on moves. | ||
| Vehicle * | hash_viewport_next = nullptr | |
| NOSAVE: Next vehicle in the visual location hash. | ||
| Vehicle ** | hash_viewport_prev = nullptr | |
| NOSAVE: Previous vehicle in the visual location hash. | ||
| Vehicle * | hash_tile_next = nullptr | |
| NOSAVE: Next vehicle in the tile location hash. | ||
| Vehicle ** | hash_tile_prev = nullptr | |
| NOSAVE: Previous vehicle in the tile location hash. | ||
| Vehicle ** | hash_tile_current = nullptr | |
| NOSAVE: Cache of the current hash chain. | ||
| SpriteID | colourmap {} | |
| NOSAVE: cached colour mapping. | ||
| TimerGameCalendar::Year | build_year {} | |
| Year the vehicle has been built. | ||
| TimerGameCalendar::Date | age {} | |
| Age in calendar days. | ||
| TimerGameEconomy::Date | economy_age {} | |
| Age in economy days. | ||
| TimerGameCalendar::Date | max_age {} | |
| Maximum age. | ||
| TimerGameEconomy::Date | date_of_last_service {} | |
| Last economy date the vehicle had a service at a depot. | ||
| TimerGameCalendar::Date | date_of_last_service_newgrf {} | |
| Last calendar date the vehicle had a service at a depot, unchanged by the date cheat to protect against unsafe NewGRF behavior. | ||
| uint16_t | reliability = 0 | |
| Reliability. | ||
| uint16_t | reliability_spd_dec = 0 | |
| Reliability decrease speed. | ||
| uint8_t | breakdown_ctr = 0 | |
| Counter for managing breakdown events. | ||
| uint8_t | breakdown_delay = 0 | |
| Counter for managing breakdown length. | ||
| uint8_t | breakdowns_since_last_service = 0 | |
| Counter for the amount of breakdowns. | ||
| uint8_t | breakdown_chance = 0 | |
| Current chance of breakdowns. | ||
| int32_t | x_pos = 0 | |
| x coordinate. | ||
| int32_t | y_pos = 0 | |
| y coordinate. | ||
| int32_t | z_pos = 0 | |
| z coordinate. | ||
| Direction | direction = INVALID_DIR | |
| facing | ||
| Owner | owner = INVALID_OWNER | |
| Which company owns the vehicle? | ||
| uint8_t | spritenum = 0 | |
| currently displayed sprite index 0xfd == custom sprite, 0xfe == custom second head sprite 0xff == reserved for another custom sprite | ||
| SpriteBounds | bounds {} | |
| Bounding box of vehicle. | ||
| EngineID | engine_type = EngineID::Invalid() | |
| The type of engine used for this vehicle. | ||
| TextEffectID | fill_percent_te_id = INVALID_TE_ID | |
| a text-effect id to a loading indicator object | ||
| UnitID | unitnumber {} | |
| unit number, for display purposes only | ||
| uint16_t | cur_speed = 0 | |
| current speed | ||
| uint8_t | subspeed = 0 | |
| fractional speed | ||
| uint8_t | acceleration = 0 | |
| used by train & aircraft | ||
| uint32_t | motion_counter = 0 | |
| counter to occasionally play a vehicle sound. | ||
| uint8_t | progress = 0 | |
| The percentage (if divided by 256) this vehicle already crossed the tile unit. | ||
| VehicleRandomTriggers | waiting_random_triggers | |
| Triggers to be yet matched before rerandomizing the random bits. | ||
| uint16_t | random_bits = 0 | |
| Bits used for randomized variational spritegroups. | ||
| StationID | last_station_visited = StationID::Invalid() | |
| The last station we stopped at. | ||
| StationID | last_loading_station = StationID::Invalid() | |
| Last station the vehicle has stopped at and could possibly leave from with any cargo loaded. | ||
| TimerGameTick::TickCounter | last_loading_tick {} | |
| Last TimerGameTick::counter tick that the vehicle has stopped at a station and could possibly leave with any cargo loaded. | ||
| VehicleCargoList | cargo {} | |
| The cargo this vehicle is carrying. | ||
| CargoType | cargo_type {} | |
| type of cargo this vehicle is carrying | ||
| uint8_t | cargo_subtype = 0 | |
| Used for livery refits (NewGRF variations) | ||
| uint16_t | cargo_cap = 0 | |
| total capacity | ||
| uint16_t | refit_cap = 0 | |
| Capacity left over from before last refit. | ||
| uint16_t | cargo_age_counter = 0 | |
| Ticks till cargo is aged next. | ||
| int8_t | trip_occupancy = 0 | |
| NOSAVE: Occupancy of vehicle of the current trip (updated after leaving a station). | ||
| uint8_t | day_counter = 0 | |
| Increased by one for each day. | ||
| uint8_t | tick_counter = 0 | |
| Increased by one for each tick. | ||
| uint8_t | running_ticks = 0 | |
| Number of ticks this vehicle was not stopped this day. | ||
| uint16_t | load_unload_ticks = 0 | |
| Ticks to wait before starting next cycle. | ||
| VehStates | vehstatus {} | |
| Status. | ||
| uint8_t | subtype = 0 | |
| subtype (Filled with values from AircraftSubType/DisasterSubType/EffectVehicleType/GroundVehicleSubtypeFlags) | ||
| Order | current_order {} | |
| The current order (+ status, like: loading) | ||
| union { | ||
| OrderList * orders = nullptr | ||
| Pointer to the order list for this vehicle. More... | ||
| uint32_t old_orders | ||
| Only used during conversion of old save games. More... | ||
| }; | ||
| NewGRFCache | grf_cache {} | |
| Cache of often used calculated NewGRF values. | ||
| VehicleCache | vcache {} | |
| Cache of often used vehicle values. | ||
| GroupID | group_id = GroupID::Invalid() | |
| Index of group Pool array. | ||
| MutableSpriteCache | sprite_cache {} | |
| Cache of sprites and values related to recalculating them, see MutableSpriteCache. | ||
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool > | ||
| Tindex | index | |
| Index of this pool item. | ||
Data Fields inherited from BaseVehicle | ||
| VehicleType | type = VEH_INVALID | |
| Type of vehicle. | ||
Data Fields inherited from BaseConsist | ||
| std::string | name {} | |
| Name of vehicle. | ||
| TimerGameTick::Ticks | current_order_time {} | |
| How many ticks have passed since this order started. | ||
| TimerGameTick::Ticks | lateness_counter {} | |
| How many ticks late (or early if negative) this vehicle is. | ||
| TimerGameTick::TickCounter | timetable_start {} | |
| At what tick of TimerGameTick::counter the vehicle should start its timetable. | ||
| TimerGameTick::TickCounter | depot_unbunching_last_departure {} | |
| When the vehicle last left its unbunching depot. | ||
| TimerGameTick::TickCounter | depot_unbunching_next_departure {} | |
| When the vehicle will next try to leave its unbunching depot. | ||
| TimerGameTick::Ticks | round_trip_time | |
| How many ticks for a single circumnavigation of the orders. | ||
| uint16_t | service_interval = 0 | |
| The interval for (automatic) servicing; either in days or %. | ||
| VehicleOrderID | cur_real_order_index = 0 | |
| The index to the current real (non-implicit) order. | ||
| VehicleOrderID | cur_implicit_order_index = 0 | |
| The index to the current implicit order. | ||
| VehicleFlags | vehicle_flags {} | |
| Used for gradual loading and other miscellaneous things (. | ||
Additional Inherited Members | |
Public Types inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER > | |
| typedef SpecializedVehicle< DisasterVehicle, Type > | SpecializedVehicleBase |
| Our type. | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool > | |
| typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > | Pool |
| Type of the pool this item is going to be part of. | |
Static Public Member Functions inherited from SpecializedVehicle< DisasterVehicle, VEH_DISASTER > | |
| static bool | IsValidID (auto index) |
| Tests whether given index is a valid index for vehicle of this type. | |
| static DisasterVehicle * | Get (auto index) |
| Gets vehicle with given index. | |
| static DisasterVehicle * | GetIfValid (auto 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 Pool::IterateWrapper< DisasterVehicle > | Iterate (size_t from=0) |
| Returns an iterable ensemble of all valid vehicles of type T. | |
Static Public Member Functions inherited from Vehicle | |
| static uint | GetAdvanceSpeed (uint speed) |
| Determines the effective vehicle movement speed. | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_vehicle_pool > | |
| static bool | CanAllocateItem (size_t n=1) |
| Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() | |
| static bool | CleaningPool () |
| Returns current state of pool cleaning - yes or no. | |
| static bool | IsValidID (auto index) |
| Tests whether given index can be used to get valid (non-nullptr) Titem. | |
| static Titem * | Get (auto index) |
| Returns Titem with given index. | |
| static Titem * | GetIfValid (auto index) |
| Returns Titem with given index. | |
| static size_t | GetPoolSize () |
| Returns first unused index. | |
| static size_t | GetNumItems () |
| Returns number of valid items in the pool. | |
| static void | PostDestructor (size_t index) |
| Dummy function called after destructor of each member. | |
| static Pool::IterateWrapper< Titem > | Iterate (size_t from=0) |
| Returns an iterable ensemble of all valid Titem. | |
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 37 of file disaster_vehicle.h.
|
inline |
For use by saveload.
Definition at line 44 of file disaster_vehicle.h.
| DisasterVehicle::DisasterVehicle | ( | int | x, |
| int | y, | ||
| Direction | direction, | ||
| DisasterSubType | subtype, | ||
| VehicleID | big_ufo_destroyer_target = VehicleID::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 127 of file disaster_vehicle.cpp.
References Vehicle::direction, GetAircraftFlightLevelBounds(), image_override, Vehicle::owner, OWNER_NONE, ROTOR_Z_OFFSET, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Set(), Shadow, 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, state, Vehicle::subtype, Vehicle::tile, TileVirtXY(), Unclickable, UpdateDeltaXY(), Vehicle::UpdatePositionAndViewport(), Vehicle::vehstatus, Vehicle::x_pos, Vehicle::y_pos, and Vehicle::z_pos.
|
overridevirtual |
Calls the tick handler of the vehicle.
Reimplemented from Vehicle.
Definition at line 716 of file disaster_vehicle.cpp.
References Vehicle::subtype.
|
overridevirtual |
Updates the x and y offsets and the size of the sprite used for this vehicle.
Reimplemented from Vehicle.
Definition at line 993 of file disaster_vehicle.cpp.
References Vehicle::bounds.
Referenced by DisasterVehicle().
| void DisasterVehicle::UpdateImage | ( | ) |
Definition at line 112 of file disaster_vehicle.cpp.
| 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 183 of file disaster_vehicle.cpp.
References Clamp(), Vehicle::direction, GetSlopePixelZ(), Map::MaxX(), Map::MaxY(), SpecializedVehicle< T, Type >::Next(), SpecializedVehicle< DisasterVehicle, VEH_DISASTER >::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().
| VehicleID DisasterVehicle::big_ufo_destroyer_target = VehicleID::Invalid() |
The big UFO that this destroyer is supposed to bomb.
Definition at line 39 of file disaster_vehicle.h.
Referenced by DisasterTick_Big_Ufo_Destroyer().
| uint8_t DisasterVehicle::flags = 0 |
Flags about the state of the vehicle,.
Definition at line 40 of file disaster_vehicle.h.
| SpriteID DisasterVehicle::image_override {} |
Override for the default disaster vehicle sprite.
Definition at line 38 of file disaster_vehicle.h.
Referenced by DisasterTick_Aircraft(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), and DisasterVehicle().
| uint16_t DisasterVehicle::state = 0 |
Action stage of the disaster vehicle.
Definition at line 41 of file disaster_vehicle.h.
Referenced by DisasterTick_Aircraft(), DisasterTick_Big_Ufo(), DisasterTick_Big_Ufo_Destroyer(), DisasterTick_Ufo(), DisasterTick_Zeppeliner(), DisasterVehicle(), ReleaseDisastersTargetingIndustry(), and ReleaseDisasterVehicle().