Mercurial > hg > openttd
diff src/vehicle.cpp @ 7232:f52c31934ab1 draft
(svn r10513) -Fix [FS#1022]: use vehicle subtile position to update cache, not tile, so that collision detection works on bridges and tunnels.
author | peter1138 <peter1138@openttd.org> |
---|---|
date | Wed, 11 Jul 2007 21:31:34 +0000 |
parents | 5a90dec44a28 |
children | 2370eca02bf1 |
line wrap: on
line diff
--- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -471,8 +471,8 @@ if (remove) { new_hash = NULL; } else { - int x = GB(TileX(v->tile), HASH_RES, HASH_BITS); - int y = GB(TileY(v->tile), HASH_RES, HASH_BITS) << HASH_BITS; + int x = GB(v->x_pos / TILE_SIZE, HASH_RES, HASH_BITS); + int y = GB(v->y_pos / TILE_SIZE, HASH_RES, HASH_BITS) << HASH_BITS; new_hash = &_new_vehicle_position_hash[(x + y) & TOTAL_HASH_MASK]; }