From cb0409fe529586fc85cf3a1f7526c2ad6f9a53d6 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 22 Jul 2009 10:18:19 +0000 Subject: (svn r16912) -Codechange: split waypoint.h in waypoint_base.h and waypoint_func.h --- src/waypoint_base.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/waypoint_base.h (limited to 'src/waypoint_base.h') diff --git a/src/waypoint_base.h b/src/waypoint_base.h new file mode 100644 index 000000000..99efefa0d --- /dev/null +++ b/src/waypoint_base.h @@ -0,0 +1,31 @@ +/* $Id$ */ + +/** @file waypoint_base.h Base of waypoints. */ + +#ifndef WAYPOINT_H +#define WAYPOINT_H + +#include "waypoint_type.h" +#include "station_base.h" + +struct Waypoint : SpecializedStation { + uint16 town_cn; ///< The Nth waypoint for this town (consecutive number) + + Waypoint(TileIndex tile = INVALID_TILE) : SpecializedStation(tile) { } + ~Waypoint(); + + void UpdateVirtCoord(); + + /* virtual */ FORCEINLINE bool TileBelongsToRailStation(TileIndex tile) const + { + return IsRailWaypointTile(tile) && GetStationIndex(tile) == this->index; + } + + /* virtual */ uint32 GetNewGRFVariable(const struct ResolverObject *object, byte variable, byte parameter, bool *available) const; + + /* virtual */ void GetTileArea(TileArea *ta, StationType type) const; +}; + +#define FOR_ALL_WAYPOINTS(var) FOR_ALL_BASE_STATIONS_OF_TYPE(Waypoint, var) + +#endif /* WAYPOINT_H */ -- cgit v1.2.3-54-g00ecf