From 87f8e56534ff1b2abbaf75476220ac37902814ea Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 29 Jan 2023 14:53:27 +0000 Subject: [PATCH] VarAction2: Fix applying station layout reg bits to multiple sprite groups See: #479 --- src/newgrf_optimiser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/newgrf_optimiser.cpp b/src/newgrf_optimiser.cpp index 60290d72b7..4d8d01ad24 100644 --- a/src/newgrf_optimiser.cpp +++ b/src/newgrf_optimiser.cpp @@ -3003,9 +3003,10 @@ static void PopulateRailStationAdvancedLayoutVariableUsage() } if (bits.any()) { /* Simulate a procedure call on each of the root sprite groups which requires the bits used in the tile layouts */ - CheckDeterministicSpriteGroupOutputVarBitsProcedureHandler proc_handler(bits); for (uint k = 0; k < NUM_CARGO + 3; k++) { if (statspec->grf_prop.spritegroup[k] != nullptr) { + std::bitset<256> proc_bits = bits; + CheckDeterministicSpriteGroupOutputVarBitsProcedureHandler proc_handler(proc_bits); proc_handler.ProcessGroup(statspec->grf_prop.spritegroup[k], nullptr, true); } }