summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcelestar <celestar@openttd.org>2006-04-05 18:46:21 +0000
committercelestar <celestar@openttd.org>2006-04-05 18:46:21 +0000
commitfcedc458f17a41459be9061833f2f9d70a14d9dc (patch)
treee6f9faa98a42d7cc74dd0e1e0a7411c1c9998f3f
parent38be3dbb5832ec6faa80622144436f789b588a01 (diff)
downloadopenttd-fcedc458f17a41459be9061833f2f9d70a14d9dc.tar.xz
(svn r4289) -Codechange: Make use of water_map accessors for ships. Make a mental note to clean ship_cmd
-rw-r--r--ship_cmd.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/ship_cmd.c b/ship_cmd.c
index c3da57ab0..6ad48e263 100644
--- 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 const TileIndexDiffC _ship_leave_depot_offs[] = {
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;
}