From f1f1783aa8172f67f58dc41b12644904261d69c4 Mon Sep 17 00:00:00 2001 From: pasky Date: Sun, 6 Mar 2005 23:46:52 +0000 Subject: [PATCH] (svn r1952) Fix: Hopefully fixed the enormous towns growth slowdown in large maps. (Inspired by toholio.) --- town_cmd.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/town_cmd.c b/town_cmd.c index afdd0fb01d..bcee4155f3 100644 --- a/town_cmd.c +++ b/town_cmd.c @@ -429,18 +429,23 @@ void OnTick_Town(void) { uint i; Town *t; + int towns; if (_game_mode == GM_EDITOR) return; - i = _cur_town_ctr; - if (++_cur_town_ctr >= GetTownPoolSize()) - _cur_town_ctr = 0; + /* FIXME: This way we scale for larger map, but not for the smaller + * ones. --pasky */ + for (towns = ScaleByMapSize(1); towns > 0; towns--) { + i = _cur_town_ctr; + if (++_cur_town_ctr >= GetTownPoolSize()) + _cur_town_ctr = 0; - t = GetTown(i); + t = GetTown(i); - if (t->xy != 0) - TownTickHandler(t); + if (t->xy != 0) + TownTickHandler(t); + } } static byte GetTownRoadMask(TileIndex tile)