Files
@ r8781:bd977c904a17
Branch filter:
Location: cpp/openttd-patchpack/source/src/waypoint.h - annotation
r8781:bd977c904a17
2.2 KiB
text/x-c
(svn r12482) -Fix: [build train] we don't need to have a depot in order to just check the price of a rail vehicle so don't check for compatible rails on the tile either
also wagons will only need tracks they can drive on in order to be build so there is no reason to check for power in the depot
also wagons will only need tracks they can drive on in order to be build so there is no reason to check for power in the depot
r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6432:3f618c3647c2 r6432:3f618c3647c2 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8775:89b76da3c46f r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r8237:d8e599249043 r8769:6c1f27d01bf5 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 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7381:7ca8ddb92031 r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r7496:599894acf9bc r7381:7ca8ddb92031 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7381:7ca8ddb92031 r5475:3f5cd13d1b63 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 r5475:3f5cd13d1b63 r6182:367cfd19b5ec r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r6943:a727ca1f1062 r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 r7318:844268a38029 r6247:96e840dbefcc r6247:96e840dbefcc r6247:96e840dbefcc r5475:3f5cd13d1b63 r5475:3f5cd13d1b63 | /* $Id$ */
/** @file waypoint.h */
#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"
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
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 = 0);
~Waypoint();
inline bool IsValid() const { return this->xy != 0; }
};
static inline bool IsValidWaypointID(WaypointID index)
{
return index < GetWaypointPoolSize() && GetWaypoint(index)->IsValid();
}
static inline void DeleteWaypoint(Waypoint *wp)
{
wp->~Waypoint();
}
#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(IsTileType(tile, MP_RAILWAY) && IsRailWaypoint(tile));
return GetWaypoint(GetWaypointIndex(tile));
}
CommandCost RemoveTrainWaypoint(TileIndex tile, uint32 flags, bool justremove);
Station *ComposeWaypointStation(TileIndex tile);
void ShowRenameWaypointWindow(const Waypoint *cp);
void DrawWaypointSprite(int x, int y, int stat_id, RailType railtype);
void FixOldWaypoints();
void UpdateAllWaypointSigns();
void AfterLoadWaypoints();
#endif /* WAYPOINT_H */
|