diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -1033,6 +1033,9 @@ static void ProduceIndustryGoods(Industr if (cut) ChopLumberMillTrees(i); } + + TriggerIndustry(i, INDUSTRY_TRIGGER_INDUSTRY_TICK); + StartStopIndustryTileAnimation(i, IAT_INDUSTRY_TICK); } } @@ -1054,8 +1057,6 @@ void OnTick_Industry() if (_game_mode == GM_EDITOR) return; FOR_ALL_INDUSTRIES(i) { - TriggerIndustry(i, INDUSTRY_TRIGGER_INDUSTRY_TICK); - StartStopIndustryTileAnimation(i, IAT_INDUSTRY_TICK); ProduceIndustryGoods(i); } } diff --git a/src/newgrf_house.cpp b/src/newgrf_house.cpp --- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -547,6 +547,8 @@ static void DoTriggerHouse(TileIndex til HouseID hid = GetHouseType(tile); HouseSpec *hs = GetHouseSpecs(hid); + if (hs->spritegroup == NULL) return; + NewHouseResolver(&object, hid, tile, GetTownByTile(tile)); object.callback = CBID_RANDOM_TRIGGER; diff --git a/src/newgrf_industrytiles.cpp b/src/newgrf_industrytiles.cpp --- a/src/newgrf_industrytiles.cpp +++ b/src/newgrf_industrytiles.cpp @@ -417,6 +417,8 @@ static void DoTriggerIndustryTile(TileIn IndustryGfx gfx = GetIndustryGfx(tile); const IndustryTileSpec *itspec = GetIndustryTileSpec(gfx); + if (itspec->grf_prop.spritegroup == NULL) return; + NewIndustryTileResolver(&object, gfx, tile, ind); object.callback = CBID_RANDOM_TRIGGER;