diff options
author | rubidium <rubidium@openttd.org> | 2007-02-18 11:14:55 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-02-18 11:14:55 +0000 |
commit | 0734bcfea01f981e802df4437a13e796f055cb8b (patch) | |
tree | 7ab14f40fa026a89aa287cff67ab6c5027b5e60c | |
parent | 1a1129785ae72f26a52fa22402942273f896880e (diff) | |
download | openttd-0734bcfea01f981e802df4437a13e796f055cb8b.tar.xz |
(svn r8797) -Fix (8741): the 'drive through station built on town owned road' bit was not set.
-rw-r--r-- | src/station_cmd.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index fae6a60c8..34d3393c2 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -1215,6 +1215,7 @@ int32 CmdBuildRoadStop(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) bool type = HASBIT(p2, 0); bool is_drive_through = HASBIT(p2, 1); bool build_over_road = is_drive_through && IsTileType(tile, MP_STREET) && GetRoadTileType(tile) == ROAD_TILE_NORMAL; + bool town_owned_road = build_over_road && IsTileOwner(tile, OWNER_TOWN); Owner cur_owner = _current_player; /* Saveguard the parameters */ @@ -1233,7 +1234,7 @@ int32 CmdBuildRoadStop(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (build_over_road) flags ^= DC_AUTO; - if (build_over_road && IsTileOwner(tile, OWNER_TOWN)) _current_player = OWNER_TOWN; + if (town_owned_road) _current_player = OWNER_TOWN; ret = CheckFlatLandBelow(tile, 1, 1, flags, is_drive_through ? 5 << p1 : 1 << p1, NULL); _current_player = cur_owner; if (CmdFailed(ret)) return ret; @@ -1301,7 +1302,7 @@ int32 CmdBuildRoadStop(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) st->rect.BeforeAddTile(tile, StationRect::ADD_TRY); MakeRoadStop(tile, st->owner, st->index, type ? RoadStop::TRUCK : RoadStop::BUS, is_drive_through, (DiagDirection)p1); - if (is_drive_through & HASBIT(p2, 3)) SetStopBuiltOnTownRoad(tile); + if (town_owned_road) SetStopBuiltOnTownRoad(tile); UpdateStationVirtCoordDirty(st); UpdateStationAcceptance(st, false); |