From f381e45d5b12e733978e61ce1883f27101b1be2e Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 19 Sep 2022 23:19:41 +0100 Subject: [PATCH] VarAction2: Fix DSE for non-leaf procedure groups --- src/newgrf_optimiser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/newgrf_optimiser.cpp b/src/newgrf_optimiser.cpp index 7ec4bb1072..14dcf6e677 100644 --- a/src/newgrf_optimiser.cpp +++ b/src/newgrf_optimiser.cpp @@ -1574,9 +1574,9 @@ struct CheckDeterministicSpriteGroupOutputVarBitsProcedureHandler { VarAction2GroupVariableTracking *var_tracking = _cur.GetVarAction2GroupVariableTracking(sub, true); std::bitset<256> new_proc_call_out = (is_leaf_node ? this->output_bits : child_input_bits) | var_tracking->proc_call_out; if (new_proc_call_out != var_tracking->proc_call_out) { - var_tracking->proc_call_out = new_proc_call_out; std::bitset<256> old_total = var_tracking->out | var_tracking->proc_call_out; std::bitset<256> new_total = var_tracking->out | new_proc_call_out; + var_tracking->proc_call_out = new_proc_call_out; if (old_total != new_total) { CheckDeterministicSpriteGroupOutputVarBits(sub, new_total, input_bits, false); }