# HG changeset patch # User frosch # Date 2009-03-29 11:41:42 # Node ID 098d379f32c8e54711e8aec125b2ee6cfd742b2f # Parent dafe8f6c2e9ba1e1d5da7afefdee1f00df67a1e6 (svn r15888) -Fix (r15103)[FS#2772]: Round the production rate up, so e.g. oilrigs always produce some passengers on lowest production level. diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -2211,8 +2211,9 @@ static void ChangeIndustryProduction(Ind /* Recalculate production_rate * For non-smooth economy these should always be synchronized with prod_level */ if (recalculate_multipliers) { - i->production_rate[0] = min(indspec->production_rate[0] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF); - i->production_rate[1] = min(indspec->production_rate[1] * i->prod_level / PRODLEVEL_DEFAULT, 0xFF); + /* Rates are rounded up, so e.g. oilrig always produces some passengers */ + i->production_rate[0] = min((indspec->production_rate[0] * i->prod_level + PRODLEVEL_DEFAULT - 1) / PRODLEVEL_DEFAULT, 0xFF); + i->production_rate[1] = min((indspec->production_rate[1] * i->prod_level + PRODLEVEL_DEFAULT - 1) / PRODLEVEL_DEFAULT, 0xFF); } /* Close if needed and allowed */