summaryrefslogtreecommitdiff
path: root/water_cmd.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-03-08 06:55:33 +0000
committertron <tron@openttd.org>2006-03-08 06:55:33 +0000
commit8cfcdaa733684b00500f7811087312e6d8e60bc0 (patch)
tree5dc0e72ac096a8404e81f92e3e1480cb29c96061 /water_cmd.c
parent3027b8673e31b52f50201e9571612a946cb3aade (diff)
downloadopenttd-8cfcdaa733684b00500f7811087312e6d8e60bc0.tar.xz
(svn r3783) Replace further ints and magic numbers by Direction, DiagDirection and friends
Diffstat (limited to 'water_cmd.c')
-rw-r--r--water_cmd.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/water_cmd.c b/water_cmd.c
index 2df124595..c4745b763 100644
--- a/water_cmd.c
+++ b/water_cmd.c
@@ -127,7 +127,7 @@ static int32 RemoveShipDepot(TileIndex tile, uint32 flags)
}
// build a shiplift
-static int32 DoBuildShiplift(TileIndex tile, int dir, uint32 flags)
+static int32 DoBuildShiplift(TileIndex tile, DiagDirection dir, uint32 flags)
{
int32 ret;
int delta;
@@ -189,17 +189,18 @@ static void MarkTilesAroundDirty(TileIndex tile)
int32 CmdBuildLock(int x, int y, uint32 flags, uint32 p1, uint32 p2)
{
TileIndex tile = TileVirtXY(x, y);
- uint tileh;
+ DiagDirection dir;
SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION);
- tileh = GetTileSlope(tile, NULL);
- if (tileh == 3 || tileh == 6 || tileh == 9 || tileh == 12) {
- static const byte _shiplift_dirs[16] = {0, 0, 0, 2, 0, 0, 1, 0, 0, 3, 0, 0, 0};
- return DoBuildShiplift(tile, _shiplift_dirs[tileh], flags);
+ switch (GetTileSlope(tile, NULL)) {
+ case 3: dir = DIAGDIR_SW; break;
+ case 6: dir = DIAGDIR_SE; break;
+ case 9: dir = DIAGDIR_NW; break;
+ case 12: dir = DIAGDIR_NE; break;
+ default: return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
}
-
- return_cmd_error(STR_1000_LAND_SLOPED_IN_WRONG_DIRECTION);
+ return DoBuildShiplift(tile, dir, flags);
}
/** Build a piece of canal.