Mercurial > hg > openttd
changeset 18611:c58148bbbc80 draft
(svn r23458) -Fix: don't assume all industries that cut trees have tile 0,0
-Fix: wait until all tiles of an industry are completed before starting to cut trees
author | yexo <yexo@openttd.org> |
---|---|
date | Fri, 09 Dec 2011 16:12:38 +0000 |
parents | 3f5c777a330d |
children | a6b1ea37db3a |
files | src/industry_cmd.cpp |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1076,10 +1076,14 @@ */ static void ChopLumberMillTrees(Industry *i) { + /* We only want to cut trees if all tiles are completed. */ + TILE_AREA_LOOP(tile_cur, i->location) { + if (i->TileBelongsToIndustry(tile_cur)) { + if (!IsIndustryCompleted(tile_cur)) return; + } + } + TileIndex tile = i->location.tile; - - if (!IsIndustryCompleted(tile)) return; // Can't proceed if not completed. - if (CircularTileSearch(&tile, 40, SearchLumberMillTrees, NULL)) { // 40x40 tiles to search. i->produced_cargo_waiting[0] = min(0xffff, i->produced_cargo_waiting[0] + 45); // Found a tree, add according value to waiting cargo. }