summaryrefslogtreecommitdiff
path: root/vehicle.c
diff options
context:
space:
mode:
Diffstat (limited to 'vehicle.c')
-rw-r--r--vehicle.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/vehicle.c b/vehicle.c
index dd4d0934c..b0a86e6a6 100644
--- a/vehicle.c
+++ b/vehicle.c
@@ -514,15 +514,16 @@ static bool CanFillVehicle_FullLoadAny(Vehicle *v)
bool CanFillVehicle(Vehicle *v)
{
- byte *t = &_map_type_and_height[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))) {
+ TileIndex tile = v->tile;
+
+ 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)