Mercurial > hg > openttd
changeset 3454:ba97d03290d1 draft
(svn r4289) -Codechange: Make use of water_map accessors for ships. Make a mental note to clean ship_cmd
author | celestar <celestar@openttd.org> |
---|---|
date | Wed, 05 Apr 2006 18:46:21 +0000 |
parents | e3e1a8c1f615 |
children | 4060ea113a0b |
files | ship_cmd.c |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ship_cmd.c +++ b/ship_cmd.c @@ -19,6 +19,7 @@ #include "depot.h" #include "vehicle_gui.h" #include "newgrf_engine.h" +#include "water_map.h" static const uint16 _ship_sprites[] = {0x0E5D, 0x0E55, 0x0E65, 0x0E6D}; static const byte _ship_sometracks[4] = {0x19, 0x16, 0x25, 0x2A}; @@ -324,20 +325,20 @@ static void CheckShipLeaveDepot(Vehicle *v) { TileIndex tile; - int d; + Axis axis; uint m; if (v->u.ship.state != 0x80) return; tile = v->tile; - d = (_m[tile].m5&2) ? 1 : 0; + axis = GetShipDepotAxis(tile); // Check first side - if (_ship_sometracks[d] & GetTileShipTrackStatus(TILE_ADD(tile, ToTileIndexDiff(_ship_leave_depot_offs[d])))) { - m = (d==0) ? 0x101 : 0x207; + if (_ship_sometracks[axis] & GetTileShipTrackStatus(TILE_ADD(tile, ToTileIndexDiff(_ship_leave_depot_offs[axis])))) { + m = (axis == AXIS_X) ? 0x101 : 0x207; // Check second side - } else if (_ship_sometracks[d+2] & GetTileShipTrackStatus(TILE_ADD(tile, -2 * ToTileIndexDiff(_ship_leave_depot_offs[d])))) { - m = (d==0) ? 0x105 : 0x203; + } else if (_ship_sometracks[axis + 2] & GetTileShipTrackStatus(TILE_ADD(tile, -2 * ToTileIndexDiff(_ship_leave_depot_offs[axis])))) { + m = (axis == AXIS_X) ? 0x105 : 0x203; } else { return; }