--- a/rail_cmd.c Tue Jun 07 21:37:00 2005 +0000
+++ b/rail_cmd.c Wed Jun 08 09:03:29 2005 +0000
@@ -374,7 +374,7 @@
break;
}
- if (IsLevelCrossing(tile) == 0x10 && (m5 & 0x08 ? 1 : 2) == rail_bit)
+ if (IsLevelCrossing(tile) && (m5 & 0x08 ? 1 : 2) == rail_bit)
return_cmd_error(STR_1007_ALREADY_BUILT);
/* FALLTHROUGH */
--- a/town_cmd.c Tue Jun 07 21:37:00 2005 +0000
+++ b/town_cmd.c Wed Jun 08 09:03:29 2005 +0000
@@ -1841,7 +1841,7 @@
// XXX - Fix this so for a given tiletype the owner of the type is in the same variable
if (IsTileType(tile, MP_HOUSE) || (
IsTileType(tile, MP_STREET) &&
- (IsLevelCrossing(tile) ? _map3_lo[tile] == OWNER_TOWN : GetTileOwner(tile))
+ (IsLevelCrossing(tile) ? _map3_lo[tile] : GetTileOwner(tile)) == OWNER_TOWN
))
return GetTown(_map2[tile]);