Files
@ r5222:671cdc6f4c1e
Branch filter:
Location: cpp/openttd-patchpack/source/waypoint.h - annotation
r5222:671cdc6f4c1e
2.1 KiB
text/x-c
(svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
messy if you ask me, but this is what you get when MS hides the font API in the deepest
depths... thanks Rubidium for testing.
r2186:5ee653b1b5e1 r2186:5ee653b1b5e1 r1542:6bae7041e7bc r1542:6bae7041e7bc r1542:6bae7041e7bc r5216:bdd3aa57475e r3239:b5370b5d565d r1542:6bae7041e7bc r1542:6bae7041e7bc r2670:992f15ff9b56 r4389:7f4a6b884ac1 r2670:992f15ff9b56 r3346:134319cc6f99 r2670:992f15ff9b56 r2670:992f15ff9b56 r1542:6bae7041e7bc r2670:992f15ff9b56 r4289:b392a03b3ca3 r1542:6bae7041e7bc r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r1542:6bae7041e7bc r1542:6bae7041e7bc r5216:bdd3aa57475e r1542:6bae7041e7bc r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4346:fa4ac6b6f852 r4389:7f4a6b884ac1 r4352:460a517b040f r4352:460a517b040f r4352:460a517b040f r4352:460a517b040f r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4390:5bab99565ca2 r4984:6ebf51f02b56 r1542:6bae7041e7bc r1542:6bae7041e7bc r1542:6bae7041e7bc r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r2670:992f15ff9b56 r1977:1f8b99c96041 r1977:1f8b99c96041 r2116:ddc2d73f5c38 r2520:1767662fb229 r1542:6bae7041e7bc r1542:6bae7041e7bc r2670:992f15ff9b56 r1542:6bae7041e7bc r1542:6bae7041e7bc | /* $Id$ */
#ifndef WAYPOINT_H
#define WAYPOINT_H
#include "oldpool.h"
#include "rail_map.h"
struct Waypoint {
TileIndex xy; ///< Tile of waypoint
WaypointID index; ///< Index of waypoint
TownID town_index; ///< Town associated with the waypoint
byte town_cn; ///< The Nth waypoint for this town (consecutive number)
StringID string; ///< If this is zero (i.e. no custom name), town + town_cn is used for naming
ViewportSign sign; ///< Dimensions of sign (not saved)
Date build_date; ///< Date of construction
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.
};
DECLARE_OLD_POOL(Waypoint, Waypoint, 3, 8000)
/**
* Check if a Waypoint really exists.
*/
static inline bool IsValidWaypoint(const Waypoint *wp)
{
return wp->xy != 0;
}
static inline bool IsValidWaypointID(WaypointID index)
{
return index < GetWaypointPoolSize() && IsValidWaypoint(GetWaypoint(index));
}
void DestroyWaypoint(Waypoint *wp);
static inline void DeleteWaypoint(Waypoint *wp)
{
DestroyWaypoint(wp);
wp->xy = 0;
}
#define FOR_ALL_WAYPOINTS_FROM(wp, start) for (wp = GetWaypoint(start); wp != NULL; wp = (wp->index + 1U < GetWaypointPoolSize()) ? GetWaypoint(wp->index + 1U) : NULL) if (IsValidWaypoint(wp))
#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(IsTileType(tile, MP_RAILWAY) && IsRailWaypoint(tile));
return GetWaypoint(_m[tile].m2);
}
int32 RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove);
Station *ComposeWaypointStation(TileIndex tile);
void ShowRenameWaypointWindow(const Waypoint *cp);
void DrawWaypointSprite(int x, int y, int image, RailType railtype);
void FixOldWaypoints(void);
void UpdateAllWaypointSigns(void);
void UpdateAllWaypointCustomGraphics(void);
#endif /* WAYPOINT_H */
|