diff options
author | rubidium <rubidium@openttd.org> | 2009-07-22 10:18:19 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-07-22 10:18:19 +0000 |
commit | cb0409fe529586fc85cf3a1f7526c2ad6f9a53d6 (patch) | |
tree | 06dbe1abe0377239177fb7909877f9cfdf14f057 /src/waypoint_base.h | |
parent | 565b99db223824ae1bf9dd10ffdc075753ce2050 (diff) | |
download | openttd-cb0409fe529586fc85cf3a1f7526c2ad6f9a53d6.tar.xz |
(svn r16912) -Codechange: split waypoint.h in waypoint_base.h and waypoint_func.h
Diffstat (limited to 'src/waypoint_base.h')
-rw-r--r-- | src/waypoint_base.h | 31 |
1 files changed, 31 insertions, 0 deletions
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<Waypoint, true> { + uint16 town_cn; ///< The Nth waypoint for this town (consecutive number) + + Waypoint(TileIndex tile = INVALID_TILE) : SpecializedStation<Waypoint, true>(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 */ |