Files
@ r11049:6eb2c87ed64a
Branch filter:
Location: cpp/openttd-patchpack/source/src/waypoint.h - annotation
r11049:6eb2c87ed64a
2.2 KiB
text/x-c
(svn r15389) -Feature: Add ability to select which base graphics set is used from the Game Options window. The change takes effect when the window is closed. This option can only be used from the intro menu, as reloading graphics during a game may cause issues.
r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r9111:983de9c5a848 r6432:3f618c3647c2 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8775:89b76da3c46f r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8237:d8e599249043 r8769:6c1f27d01bf5 r8962:cfbdc736c8db r9129:db82b80b0a0b r10571:99cb9a95b4cf r5475:3f5cd13d1b63 r7381:7ca8ddb92031 r7381:7ca8ddb92031 r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8579:67a13a9a84e5 r8258:08100da56269 r8258:08100da56269 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r10207:a1fc2f2a33db r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r10550:fdff38307dad r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r10550:fdff38307dad r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r10099:43337737dc84 r6182:367cfd19b5ec r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6943:a727ca1f1062 r5475:3f5cd13d1b63 r9949:5ac3bf61abad r7318:844268a38029 r6247:96e840dbefcc r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 | /* $Id$ */
/** @file waypoint.h Base of waypoints. */
#ifndef WAYPOINT_H
#define WAYPOINT_H
#include "waypoint_type.h"
#include "oldpool.h"
#include "rail_map.h"
#include "command_type.h"
#include "station_type.h"
#include "town_type.h"
#include "viewport_type.h"
#include "date_type.h"
DECLARE_OLD_POOL(Waypoint, Waypoint, 3, 8000)
struct Waypoint : PoolItem<Waypoint, WaypointID, &_Waypoint_pool> {
TileIndex xy; ///< Tile of waypoint
TownID town_index; ///< Town associated with the waypoint
uint16 town_cn; ///< The Nth waypoint for this town (consecutive number)
StringID string; ///< C000-C03F have special meaning in old games
char *name; ///< Custom name. If not set, town + town_cn is used for naming
ViewportSign sign; ///< Dimensions of sign (not saved)
Date build_date; ///< Date of construction
OwnerByte owner; ///< Whom this waypoint belongs to
byte stat_id; ///< ID of waypoint within the waypoint class (not saved)
uint32 grfid; ///< ID of GRF file
byte localidx; ///< Index of station within GRF file
byte deleted; ///< Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted.
Waypoint(TileIndex tile = INVALID_TILE);
~Waypoint();
inline bool IsValid() const { return this->xy != INVALID_TILE; }
};
static inline bool IsValidWaypointID(WaypointID index)
{
return index < GetWaypointPoolSize() && GetWaypoint(index)->IsValid();
}
#define FOR_ALL_WAYPOINTS_FROM(wp, start) for (wp = GetWaypoint(start); wp != NULL; wp = (wp->index + 1U < GetWaypointPoolSize()) ? GetWaypoint(wp->index + 1U) : NULL) if (wp->IsValid())
#define FOR_ALL_WAYPOINTS(wp) FOR_ALL_WAYPOINTS_FROM(wp, 0)
/**
* Fetch a waypoint by tile
* @param tile Tile of waypoint
* @return Waypoint
*/
static inline Waypoint *GetWaypointByTile(TileIndex tile)
{
assert(IsRailWaypointTile(tile));
return GetWaypoint(GetWaypointIndex(tile));
}
CommandCost RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove);
Station *ComposeWaypointStation(TileIndex tile);
void ShowWaypointWindow(const Waypoint *wp);
void DrawWaypointSprite(int x, int y, int stat_id, RailType railtype);
void UpdateAllWaypointSigns();
#endif /* WAYPOINT_H */
|