(svn r1559) Use IsTileType() instead of bit shifting and comparisons

This commit is contained in:
tron 2005-01-18 17:19:34 +00:00
parent 389a4bf44d
commit 64b08311b9
1 changed files with 9 additions and 8 deletions

View File

@ -514,15 +514,16 @@ static bool CanFillVehicle_FullLoadAny(Vehicle *v)
bool CanFillVehicle(Vehicle *v)
{
byte *t = &_map_type_and_height[v->tile];
TileIndex tile = v->tile;
if (t[0] >> 4 == MP_STATION ||
(v->type == VEH_Ship &&
(t[TILE_XY(1,0)] >> 4 == MP_STATION ||
t[TILE_XY(-1,0)] >> 4 == MP_STATION ||
t[TILE_XY(0,1)] >> 4 == MP_STATION ||
t[TILE_XY(0,-1)] >> 4 == MP_STATION ||
t[TILE_XY(-2,0)] >> 4 == MP_STATION))) {
if (IsTileType(tile, MP_STATION) ||
(v->type == VEH_Ship && (
IsTileType(TILE_ADDXY(tile, 1, 0), MP_STATION) ||
IsTileType(TILE_ADDXY(tile, -1, 0), MP_STATION) ||
IsTileType(TILE_ADDXY(tile, 0, 1), MP_STATION) ||
IsTileType(TILE_ADDXY(tile, 0, -1), MP_STATION) ||
IsTileType(TILE_ADDXY(tile, -2, 0), MP_STATION)
))) {
// If patch is active, use alternative CanFillVehicle-function
if (_patches.full_load_any)