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.
 	}