Files
@ r3478:523ece58cb16
Branch filter:
Location: cpp/openttd-patchpack/source/tunnel_map.h - annotation
r3478:523ece58cb16
1.1 KiB
text/x-c
(svn r4323) -Regression: Clear the slot assignments of all vehicles heading twoards a road stop if that road stop gets removed
This issue was fixed in r2210 and reintroduced in r4259 when the multistop handling was overhauled.
This issue was fixed in r2210 and reintroduced in r4259 when the multistop handling was overhauled.
r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3184:028654b02189 r3184:028654b02189 r3369:c4df9e1f62cd r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3184:028654b02189 r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3369:c4df9e1f62cd r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3369:c4df9e1f62cd r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3156:c9d8084e145c r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a | /* $Id$ */
#ifndef TUNNEL_MAP_H
#define TUNNEL_MAP_H
#include "direction.h"
#include "macros.h"
#include "map.h"
#include "rail.h"
static inline bool IsTunnel(TileIndex t)
{
assert(IsTileType(t, MP_TUNNELBRIDGE));
return !HASBIT(_m[t].m5, 7);
}
static inline bool IsTunnelTile(TileIndex t)
{
return IsTileType(t, MP_TUNNELBRIDGE) && IsTunnel(t);
}
static inline DiagDirection GetTunnelDirection(TileIndex t)
{
assert(IsTunnelTile(t));
return (DiagDirection)GB(_m[t].m5, 0, 2);
}
static inline TransportType GetTunnelTransportType(TileIndex t)
{
assert(IsTunnelTile(t));
return (TransportType)GB(_m[t].m5, 2, 2);
}
TileIndex GetOtherTunnelEnd(TileIndex);
bool IsTunnelInWay(TileIndex, uint z);
static inline void MakeRoadTunnel(TileIndex t, Owner o, DiagDirection d)
{
SetTileType(t, MP_TUNNELBRIDGE);
SetTileOwner(t, o);
_m[t].m2 = 0;
_m[t].m3 = 0;
_m[t].m4 = 0;
_m[t].m5 = TRANSPORT_ROAD << 2 | d;
}
static inline void MakeRailTunnel(TileIndex t, Owner o, DiagDirection d, RailType r)
{
SetTileType(t, MP_TUNNELBRIDGE);
SetTileOwner(t, o);
_m[t].m2 = 0;
_m[t].m3 = r;
_m[t].m4 = 0;
_m[t].m5 = TRANSPORT_RAIL << 2 | d;
}
#endif
|