diff options
author | Peter Nelson <peter1138@openttd.org> | 2019-01-14 23:33:42 +0000 |
---|---|---|
committer | PeterN <peter@fuzzle.org> | 2019-01-19 23:11:17 +0000 |
commit | 81330b8d6edee68c38717462737fbfca6420701d (patch) | |
tree | ed4e0e34930a5e6f28b5d275c27f6ccb50a2ba63 /src/ship.h | |
parent | 1c725fce47d60907bbf2224c7bdc28607fcf6017 (diff) | |
download | openttd-81330b8d6edee68c38717462737fbfca6420701d.tar.xz |
Change: Add path cache for ships.
Diffstat (limited to 'src/ship.h')
-rw-r--r-- | src/ship.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ship.h b/src/ship.h index 7fea5fc1d..6e73332a5 100644 --- a/src/ship.h +++ b/src/ship.h @@ -12,17 +12,22 @@ #ifndef SHIP_H #define SHIP_H +#include <deque> + #include "vehicle_base.h" #include "water_map.h" void GetShipSpriteSize(EngineID engine, uint &width, uint &height, int &xoffs, int &yoffs, EngineImageType image_type); WaterClass GetEffectiveWaterClass(TileIndex tile); +typedef std::deque<TrackdirByte> ShipPathCache; + /** * All ships have this type. */ struct Ship FINAL : public SpecializedVehicle<Ship, VEH_SHIP> { TrackBitsByte state; ///< The "track" the ship is following. + ShipPathCache path; ///< Cached path. /** We don't want GCC to zero our struct! It already is zeroed and has an index! */ Ship() : SpecializedVehicleBase() {} @@ -46,6 +51,7 @@ struct Ship FINAL : public SpecializedVehicle<Ship, VEH_SHIP> { TileIndex GetOrderStationLocation(StationID station); bool FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse); void UpdateCache(); + void SetDestTile(TileIndex tile); }; static const uint SHIP_MAX_ORDER_DISTANCE = 130; |