diff options
author | tron <tron@openttd.org> | 2006-03-19 13:48:08 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-03-19 13:48:08 +0000 |
commit | 4b74fa19230897c9e9b20e6bcba2b16c748cb09f (patch) | |
tree | 66c89a776909a6e784becbe687a7906a69356023 /road_cmd.c | |
parent | 52e5d9f328de74cc984077d49ea612961e5ce969 (diff) | |
download | openttd-4b74fa19230897c9e9b20e6bcba2b16c748cb09f.tar.xz |
(svn r3981) More work for the rail accessing functions and enums
Diffstat (limited to 'road_cmd.c')
-rw-r--r-- | road_cmd.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/road_cmd.c b/road_cmd.c index a0c7066e3..79c3e213c 100644 --- a/road_cmd.c +++ b/road_cmd.c @@ -334,14 +334,19 @@ int32 CmdBuildRoad(int x, int y, uint32 flags, uint32 p1, uint32 p2) } #undef M - if (ti.map5 == 2) { - if (pieces & ROAD_Y) goto do_clear; - roaddir = AXIS_X; - } else if (ti.map5 == 1) { - if (pieces & ROAD_X) goto do_clear; - roaddir = AXIS_Y; - } else { - goto do_clear; + if (GetRailTileType(tile) != RAIL_TYPE_NORMAL) goto do_clear; + switch (GetTrackBits(tile)) { + case TRACK_BIT_X: + if (pieces & ROAD_X) goto do_clear; + roaddir = AXIS_Y; + break; + + case TRACK_BIT_Y: + if (pieces & ROAD_Y) goto do_clear; + roaddir = AXIS_X; + break; + + default: goto do_clear; } if (flags & DC_EXEC) { |