From c00db50edc454977da30f833a96ad08e86f24d0c Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 22 Sep 2007 23:14:32 +0000 Subject: (svn r11143) -Fix: the random bits were not set for the production callback when the NewGRF asked for it. --- src/newgrf_industries.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/newgrf_industries.cpp') diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 5574673a6..811f76a6d 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -462,13 +462,15 @@ static int32 DerefIndProd(uint field, bool use_register) */ void IndustryProductionCallback(Industry *ind, int reason) { + const IndustrySpec *spec = GetIndustrySpec(ind->type); ResolverObject object; NewIndustryResolver(&object, ind->xy, ind); + if ((spec->behaviour & INDUSTRYBEH_PRODCALLBACK_RANDOM) != 0) object.callback_param1 = Random(); object.callback_param2 = reason; for (uint loop = 0;; loop++) { SB(object.callback_param2, 8, 16, loop); - const SpriteGroup *group = Resolve(GetIndustrySpec(ind->type)->grf_prop.spritegroup, &object); + const SpriteGroup *group = Resolve(spec->grf_prop.spritegroup, &object); if (group == NULL || group->type != SGT_INDUSTRY_PRODUCTION) break; bool deref = (group->g.indprod.version == 1); -- cgit v1.2.3-54-g00ecf