Mercurial > hg > openttd
changeset 17898:307d1c360da9 draft
(svn r22697) -Fix [FS#4694-ish]: when building a house it could be built at the wrong place if multitile houses failed some tests
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 30 Jul 2011 12:17:46 +0000 |
parents | 85ca3c066925 |
children | c5c5f8f160df |
files | src/town_cmd.cpp |
diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2128,8 +2128,16 @@ } uint maxz = GetTileMaxZ(tile); + TileIndex baseTile = tile; while (probability_max > 0) { + /* Building a multitile building can change the location of tile. + * The building would still be built partially on that tile, but + * its nothern tile would be elsewere. However, if the callback + * fails we would be basing further work from the changed tile. + * So a next 1x1 tile building could be built on the wrong tile. */ + tile = baseTile; + uint r = RandomRange(probability_max); uint i; for (i = 0; i < num; i++) {