From 47b5ca61154c370d97b7a6d945fcaef3c3b30347 Mon Sep 17 00:00:00 2001 From: frosch Date: Mon, 28 Apr 2025 13:24:39 +0200 Subject: [PATCH] Fix: [NewGRF] Computed VarAction2 callback results were not always properly masked to 15 bit results. --- src/newgrf_spritegroup.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index 5ae850f9fe..330cc542fe 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -230,9 +230,8 @@ const SpriteGroup *DeterministicSpriteGroup::Resolve(ResolverObject &object) con if (this->calculated_result) { /* nvar == 0 is a special case -- we turn our value into a callback result */ - if (value != CALLBACK_FAILED) value = GB(value, 0, 15); static CallbackResultSpriteGroup nvarzero(0); - nvarzero.result = value; + nvarzero.result = GB(value, 0, 15); return &nvarzero; }