(svn r1559) Use IsTileType() instead of bit shifting and comparisons
authortron
Tue, 18 Jan 2005 17:19:34 +0000
changeset 1058 0a1a77da0a03
parent 1057 3421ac931b61
child 1059 c28c6be74291
(svn r1559) Use IsTileType() instead of bit shifting and comparisons
vehicle.c
--- a/vehicle.c	Tue Jan 18 16:01:35 2005 +0000
+++ b/vehicle.c	Tue Jan 18 17:19:34 2005 +0000
@@ -514,15 +514,16 @@
 
 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)