Files
@ r5169:0e312771ef2c
Branch filter:
Location: cpp/openttd-patchpack/source/road_map.c - annotation
r5169:0e312771ef2c
1.6 KiB
text/x-c
(svn r7279) -Codechange: [win32] Add Windows95/98 support by using MSLU. Only workaround is that the
wide version of EnumDisplaySettings crashes on win95 no matter what, so use ANSI version.
NOTE: MSLU support is only added to VS2003 project file because VS2005 compiles won't
even run on Windows95.
wide version of EnumDisplaySettings crashes on win95 no matter what, so use ANSI version.
NOTE: MSLU support is only added to VS2003 project file because VS2005 compiles won't
even run on Windows95.
r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3196:ee64b4658e65 r3150:6242a630abac r3146:b3862f32db0e r3146:b3862f32db0e r3154:4ad5fba6d52a r3404:a8f769907ef8 r3927:7f9339259f74 r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3793:c42788f521bd r3146:b3862f32db0e r3793:c42788f521bd r3793:c42788f521bd r3793:c42788f521bd r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3404:a8f769907ef8 r3404:a8f769907ef8 r3146:b3862f32db0e r3146:b3862f32db0e r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r4777:cfe65696e1da r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3977:63d936e7e5a8 r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3146:b3862f32db0e r3150:6242a630abac r3150:6242a630abac r3150:6242a630abac r3150:6242a630abac r4233:35ef15227e43 r4233:35ef15227e43 r4615:50e6d549008d r4615:50e6d549008d r4233:35ef15227e43 r3927:7f9339259f74 r4233:35ef15227e43 r4233:35ef15227e43 r4233:35ef15227e43 r3150:6242a630abac | /* $Id$ */
#include "stdafx.h"
#include "openttd.h"
#include "bridge_map.h"
#include "functions.h"
#include "road_map.h"
#include "station.h"
#include "tunnel_map.h"
#include "station_map.h"
#include "depot.h"
RoadBits GetAnyRoadBits(TileIndex tile)
{
switch (GetTileType(tile)) {
case MP_STREET:
switch (GetRoadTileType(tile)) {
default:
case ROAD_TILE_NORMAL: return GetRoadBits(tile);
case ROAD_TILE_CROSSING: return GetCrossingRoadBits(tile);
case ROAD_TILE_DEPOT: return DiagDirToRoadBits(GetRoadDepotDirection(tile));
}
case MP_STATION:
if (!IsRoadStopTile(tile)) return 0;
return DiagDirToRoadBits(GetRoadStopDir(tile));
case MP_TUNNELBRIDGE:
if (IsBridge(tile)) {
if (IsBridgeMiddle(tile)) {
if (!IsTransportUnderBridge(tile) ||
GetTransportTypeUnderBridge(tile) != TRANSPORT_ROAD) {
return 0;
}
return GetRoadBitsUnderBridge(tile);
} else {
// ending
if (GetBridgeTransportType(tile) != TRANSPORT_ROAD) return 0;
return DiagDirToRoadBits(ReverseDiagDir(GetBridgeRampDirection(tile)));
}
} else {
// tunnel
if (GetTunnelTransportType(tile) != TRANSPORT_ROAD) return 0;
return DiagDirToRoadBits(ReverseDiagDir(GetTunnelDirection(tile)));
}
default: return 0;
}
}
TrackBits GetAnyRoadTrackBits(TileIndex tile)
{
uint32 r;
// Don't allow local authorities to build roads through road depots or road stops.
if ((IsTileType(tile, MP_STREET) && IsTileDepotType(tile, TRANSPORT_ROAD)) || IsTileType(tile, MP_STATION)) {
return 0;
}
r = GetTileTrackStatus(tile, TRANSPORT_ROAD);
return (byte)(r | (r >> 8));
}
|