|
OpenTTD Source 20251117-master-g7398d2e290
|
Representation of a waypoint. More...
#include <waypoint_base.h>
Public Member Functions | |
| Waypoint (TileIndex tile=INVALID_TILE) | |
| Create a waypoint at the given tile. | |
| void | UpdateVirtCoord () override |
| Update the virtual coords needed to draw the waypoint sign. | |
| void | MoveSign (TileIndex new_xy) override |
| Move the waypoint main coordinate somewhere else. | |
| bool | TileBelongsToRailStation (TileIndex tile) const override |
| Check whether a specific tile belongs to this station. | |
| uint32_t | GetNewGRFVariable (const struct ResolverObject &object, uint8_t variable, uint8_t parameter, bool &available) const override |
| Helper function to get a NewGRF variable that isn't implemented by the base class. | |
| TileArea | GetTileArea (StationType type) const override |
| Get the tile area for a given station type. | |
| uint | GetPlatformLength (TileIndex, DiagDirection) const override |
| Determines the REMAINING length of a platform, starting at (and including) the given tile. | |
| uint | GetPlatformLength (TileIndex) const override |
| Obtain the length of a platform. | |
| bool | IsSingleTile () const |
| Is this a single tile waypoint? | |
| bool | IsOfType (const Waypoint *wp) const |
| Is the "type" of waypoint the same as the given waypoint, i.e. | |
Public Member Functions inherited from SpecializedStation< Waypoint, true > | |
| SpecializedStation (TileIndex tile) | |
| Set station type correctly. | |
Public Member Functions inherited from BaseStation | |
| BaseStation (TileIndex tile) | |
| Initialize the base station. | |
| const std::string & | GetCachedName () const |
| bool | IsInUse () const |
| Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left. | |
| uint8_t | GetRoadStopRandomBits (TileIndex tile) const |
| uint8_t | GetRoadStopAnimationFrame (TileIndex tile) const |
| void | SetRoadStopRandomBits (TileIndex tile, uint8_t random_bits) |
| bool | SetRoadStopAnimationFrame (TileIndex tile, uint8_t frame) |
| void | RemoveRoadStopTileData (TileIndex tile) |
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_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. | |
Data Fields | |
| uint16_t | town_cn = 0 |
| The N-1th waypoint for this town (consecutive number) | |
| uint16_t | waypoint_flags {} |
| Waypoint flags, see WaypointFlags. | |
| TileArea | road_waypoint_area {} |
| Tile area the road waypoint part covers. | |
Data Fields inherited from BaseStation | |
| TileIndex | xy = INVALID_TILE |
| Base tile of the station. | |
| TrackedViewportSign | sign {} |
| NOSAVE: Dimensions of sign. | |
| uint8_t | delete_ctr = 0 |
| Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted. | |
| std::string | name {} |
| Custom name. | |
| StringID | string_id = INVALID_STRING_ID |
| Default name (town area) of station. | |
| std::string | cached_name |
| NOSAVE: Cache of the resolved name of the station, if not using a custom name. | |
| Town * | town = nullptr |
| The town this station is associated with. | |
| Owner | owner = INVALID_OWNER |
| The owner of this station. | |
| StationFacilities | facilities {} |
| The facilities that this station has. | |
| std::vector< SpecMapping< StationSpec > > | speclist {} |
| List of rail station specs of this station. | |
| std::vector< SpecMapping< RoadStopSpec > > | roadstop_speclist {} |
| List of road stop specs of this station. | |
| TimerGameCalendar::Date | build_date {} |
| Date of construction. | |
| uint16_t | random_bits = 0 |
| Random bits assigned to this station. | |
| StationRandomTriggers | waiting_random_triggers |
| Waiting triggers (NewGRF), shared by all station parts/tiles, road stops, ... essentially useless and broken by design. | |
| StationAnimationTriggers | cached_anim_triggers |
| NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen. | |
| StationAnimationTriggers | cached_roadstop_anim_triggers |
| NOSAVE: Combined animation trigger bitmask for road stops, used to determine if trigger processing should happen. | |
| CargoTypes | cached_cargo_triggers {} |
| NOSAVE: Combined cargo trigger bitmask. | |
| CargoTypes | cached_roadstop_cargo_triggers {} |
| NOSAVE: Combined cargo trigger bitmask for road stops. | |
| TileArea | train_station {INVALID_TILE, 0, 0} |
| Tile area the train 'station' part covers. | |
| StationRect | rect {} |
| NOSAVE: Station spread out rectangle maintained by StationRect::xxx() functions. | |
| std::vector< RoadStopTileData > | custom_roadstop_tile_data {} |
| List of custom road stop tile data. | |
Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_pool > | |
| Tindex | index |
| Index of this pool item. | |
Additional Inherited Members | |
Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_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 SpecializedStation< Waypoint, true > | |
| static bool | IsExpected (const BaseStation *st) |
| Helper for checking whether the given station is of this type. | |
| static bool | IsValidID (auto index) |
| Tests whether given index is a valid index for station of this type. | |
| static Waypoint * | Get (auto index) |
| Gets station with given index. | |
| static Waypoint * | GetIfValid (auto index) |
| Returns station if the index is a valid index for this station type. | |
| static Waypoint * | GetByTile (TileIndex tile) |
| Get the station belonging to a specific tile. | |
| static Waypoint * | From (BaseStation *st) |
| Converts a BaseStation to SpecializedStation with type checking. | |
| static const Waypoint * | From (const BaseStation *st) |
| Converts a const BaseStation to const SpecializedStation with type checking. | |
| static Pool::IterateWrapper< Waypoint > | Iterate (size_t from=0) |
| Returns an iterable ensemble of all valid stations of type T. | |
Static Public Member Functions inherited from BaseStation | |
| static BaseStation * | GetByTile (TileIndex tile) |
| Get the base station belonging to a specific tile. | |
| static void | PostDestructor (size_t index) |
| Invalidating of the JoinStation window has to be done after removing item from the pool. | |
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_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 SpecializedStation< Waypoint, true > | |
| static constexpr StationFacilities | EXPECTED_FACIL |
| Specialized type. | |
Representation of a waypoint.
Definition at line 23 of file waypoint_base.h.
|
inline |
Create a waypoint at the given tile.
| tile | The location of the waypoint. |
Definition at line 32 of file waypoint_base.h.
| Waypoint::~Waypoint | ( | ) |
Definition at line 45 of file waypoint.cpp.
|
overridevirtual |
Helper function to get a NewGRF variable that isn't implemented by the base class.
| object | the resolver object related to this query |
| variable | that is queried |
| parameter | parameter for that variable |
| available | will return false if ever the variable asked for does not exist |
Implements BaseStation.
Definition at line 473 of file newgrf_station.cpp.
References Debug, GB(), and HVOT_WAYPOINT.
|
inlineoverridevirtual |
Obtain the length of a platform.
| tile | A tile that contains the platform in question |
Implements BaseStation.
Definition at line 53 of file waypoint_base.h.
|
inlineoverridevirtual |
Determines the REMAINING length of a platform, starting at (and including) the given tile.
| tile | the tile from which to start searching. Must be a rail station tile |
| dir | The direction in which to search. |
Implements BaseStation.
Definition at line 48 of file waypoint_base.h.
|
overridevirtual |
Get the tile area for a given station type.
| type | the type of the area |
Implements BaseStation.
Definition at line 35 of file waypoint.cpp.
References road_waypoint_area, BaseStation::train_station, and BaseStation::xy.
Referenced by WaypointWindow::GetCenterTile().
|
inline |
Is the "type" of waypoint the same as the given waypoint, i.e.
are both a rail waypoint or are both a buoy?
| wp | The waypoint to compare to. |
Definition at line 73 of file waypoint_base.h.
References BaseStation::string_id.
|
inline |
Is this a single tile waypoint?
Definition at line 62 of file waypoint_base.h.
References BaseStation::facilities, OrthogonalTileArea::h, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), Train, BaseStation::train_station, and OrthogonalTileArea::w.
Referenced by CYapfCostRailT< Types >::PfCalcCost().
|
overridevirtual |
Move the waypoint main coordinate somewhere else.
| new_xy | new tile location of the sign |
Reimplemented from BaseStation.
Definition at line 60 of file waypoint_cmd.cpp.
References BaseStation::xy.
|
inlineoverridevirtual |
Check whether a specific tile belongs to this station.
| tile | the tile to check |
Implements BaseStation.
Definition at line 39 of file waypoint_base.h.
References GetStationIndex(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_pool >::index, and IsRailWaypointTile().
|
overridevirtual |
Update the virtual coords needed to draw the waypoint sign.
Implements BaseStation.
Definition at line 43 of file waypoint_cmd.cpp.
References GetString(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_station_pool >::index, Kdtree< T, TxyFunc, CoordT, DistT >::Insert(), InvalidateWindowData(), TrackedViewportSign::kdtree_valid, RemapCoords2(), Kdtree< T, TxyFunc, CoordT, DistT >::Remove(), BaseStation::sign, TILE_SIZE, TileX(), TileY(), TrackedViewportSign::UpdatePosition(), WC_WAYPOINT_VIEW, Coord2D< T >::x, BaseStation::xy, and Coord2D< T >::y.
Referenced by CmdBuildBuoy(), CmdBuildRailWaypoint(), CmdBuildRoadWaypoint(), CmdRenameWaypoint(), WaypointWindow::OnResize(), RemoveBuoy(), and RemoveRoadWaypointStop().
| TileArea Waypoint::road_waypoint_area {} |
Tile area the road waypoint part covers.
Definition at line 26 of file waypoint_base.h.
Referenced by CmdBuildRoadWaypoint(), GetTileArea(), and RemoveRoadWaypointStop().
| uint16_t Waypoint::town_cn = 0 |
The N-1th waypoint for this town (consecutive number)
Definition at line 24 of file waypoint_base.h.
Referenced by FormatString(), MoveBuoysToWaypoints(), and MoveWaypointsToBaseStations().
| uint16_t Waypoint::waypoint_flags {} |
Waypoint flags, see WaypointFlags.
Definition at line 25 of file waypoint_base.h.
Referenced by CmdBuildRoadWaypoint(), FindJoiningWaypoint(), and WaypointWindow::WaypointWindow().