From 439c1208d7ff1f275b71cec42bdbbaae3f4d6ae9 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 22 Feb 2023 19:32:26 +0000 Subject: [PATCH] VarAction2: Optimise unknown reads from 0x11 as constant 0 --- src/newgrf_optimiser.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/newgrf_optimiser.cpp b/src/newgrf_optimiser.cpp index a5f791bf56..5a612b7a98 100644 --- a/src/newgrf_optimiser.cpp +++ b/src/newgrf_optimiser.cpp @@ -846,6 +846,12 @@ void OptimiseVarAction2Adjust(VarAction2OptimiseState &state, const GrfSpecFeatu if (adjust.variable == 0x1C && !state.seen_procedure_call) { group->dsg_flags |= DSGF_REQUIRES_VAR1C; } + if (adjust.variable == 0x11 || (adjust.variable == 0x7B && adjust.parameter == 0x11)) { + adjust.variable = 0x1A; + adjust.parameter = 0; + adjust.shift_num = 0; + adjust.and_mask = 0; + } VarAction2AdjustInferenceFlags non_const_var_inference = VA2AIF_NONE; int iteration = 32;