From 6c80944c3871c7b30cc024de2f027ae4cfbaec22 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 20 Sep 2022 00:31:07 +0100 Subject: [PATCH] VarAction2: Fix variable propagation when a group had only pending bits --- src/newgrf_optimiser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/newgrf_optimiser.cpp b/src/newgrf_optimiser.cpp index 14dcf6e677..6878c180a9 100644 --- a/src/newgrf_optimiser.cpp +++ b/src/newgrf_optimiser.cpp @@ -2453,9 +2453,9 @@ void OptimiseVarAction2DeterministicSpriteGroup(VarAction2OptimiseState &state, } } - if (bits.any()) { + std::bitset<256> in_bits = bits | pending_bits; + if (in_bits.any()) { state.GetVarTracking(group)->out = bits; - std::bitset<256> in_bits = bits | pending_bits; for (auto &it : state.temp_stores) { in_bits.set(it.first, false); }