summaryrefslogtreecommitdiff
path: root/road_cmd.c
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-03-19 13:48:08 +0000
committertron <tron@openttd.org>2006-03-19 13:48:08 +0000
commit4b74fa19230897c9e9b20e6bcba2b16c748cb09f (patch)
tree66c89a776909a6e784becbe687a7906a69356023 /road_cmd.c
parent52e5d9f328de74cc984077d49ea612961e5ce969 (diff)
downloadopenttd-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.c21
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) {