(svn r10968) -Codechange: Remove a tileloop performed in the AfterLoadCountBuildings function and use the main loop of CheckhouseIDs instead
authorbelugas
Thu, 23 Aug 2007 18:05:51 +0000
changeset 7961 46bee18c1a36
parent 7960 af0f10d86051
child 7962 54ba9c69612d
(svn r10968) -Codechange: Remove a tileloop performed in the AfterLoadCountBuildings function and use the main loop of CheckhouseIDs instead
src/newgrf_house.cpp
--- a/src/newgrf_house.cpp	Thu Aug 23 11:08:59 2007 +0000
+++ b/src/newgrf_house.cpp	Thu Aug 23 18:05:51 2007 +0000
@@ -33,6 +33,8 @@
 
 void CheckHouseIDs()
 {
+	InitializeBuildingCounts();
+
 	for (TileIndex t = 0; t < MapSize(); t++) {
 		HouseID house_id;
 
@@ -42,13 +44,11 @@
 		if (!GetHouseSpecs(house_id)->enabled && house_id >= NEW_HOUSE_OFFSET) {
 			/* The specs for this type of house are not available any more, so
 			 * replace it with the substitute original house type. */
-			SetHouseType(t, _house_mngr.GetSubstituteID(house_id));
+			house_id = _house_mngr.GetSubstituteID(house_id);
+			SetHouseType(t, house_id);
 		}
+		IncreaseBuildingCount(GetTownByTile(t), house_id);
 	}
-
-	InitializeBuildingCounts();
-	AfterLoadCountBuildings();
-
 }
 
 HouseClassID AllocateHouseClassID(byte grf_class_id, uint32 grfid)