Files
@ r5312:ffd375effb01
Branch filter:
Location: cpp/openttd-patchpack/source/tunnel_map.h - annotation
r5312:ffd375effb01
1.2 KiB
text/x-c
(svn r7468) -Codechange: [win32] Add some comments to MB/WIDE_TO_WIDE/MB_[BUFFER] macros and
use them some more in win32 code. Also for the clipboard use the convert_from_fs
function instead of calling Win32 API directly. Make the static buffers in OTTD2FS
and FS2OTTD the same size (character-length wise)
use them some more in win32 code. Also for the clipboard use the convert_from_fs
function instead of calling Win32 API directly. Make the static buffers in OTTD2FS
and FS2OTTD the same size (character-length wise)
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 r4666:2a2c50111c72 | /* $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 /* TUNNEL_MAP_H */
|